welo wrote:
[image]
All joking aside, yea one implementation that could be used from anything from micro controllers transport nodes to just creating normal applications ontop of reticulum would be nice it shares all the internal logic for the most part so yes this would be helpful, so, good luck.
Only I can give my opinion on is that it might be best to have a crate with just the completely agnostic code such as like interface traits or the main transport logic and have that in some reticulum-core that could be used for anything and then have an additional crate with additional functionality that is dependent on what device you are on such as TcpClient or Lora pins or interfacing with the operating system if are on one or whatever.
Also if you are using async (which I'm guessing you should be?), make the runtime a choice so micro controllers can use something like embassy and then regular computers can use tokio so the same code works on nicely on both.
Hahaha, a classic!!!
And see, what you suggested is exactly what seemed lacking so far. There wasn't any port out there anywhere close to that.
the core is indeed an agnostic engine.
[EDIT: in here I described internals of how the engine work, but it's changed dramatically since this post, so I removed that to avoid confusion]
The core engine approach also lets us sleep in between instead of having to poll&tick on some cadence: we know the entire engine state including the soonest upcoming scheduled item, from maintenance to an annnounce rebroadcast, whatever it might be. So we can just wait on a race of that vs an incoming packet. Not only a nice embedded story, but even just being a little friendlier to the battery on mobile devices and laptops.
Not to mention the benefit of how it can resume from whereever it was left off, especially in mobile dev this could be extremely helpful since the app can get backgrounded despite your best efforts. Plus it lets us run multi-node simulations where we can pause and go tick by tick and see how data flows, what happens. Great for learning and debugging
anyway, thanks for letting me ramble about it for a bit! It sounds like what you're looking for will be well taken care of with this, so stay tuned. exciting future ahead!!