-
Notifications
You must be signed in to change notification settings - Fork 23
split crate into core and async #21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
It can be a good idea to move all the crates under a |
I don't think that's idiomatic (compare the tokio, rand, and serde crates that all list workspace members explicitly), I would prefer to avoid the extra subdirectory. If we really don't want to list the workspace members manually |
|
Yeah, I would prefer not to introduce additional subdirectories. I also second the belief that current approach here is the most idiomatic and matches all the other "big" crates I've seen. Being able to do |
|
@n-beechat do you folks have any thoughts on this kind of (re-)structuring of reticulum-rs ? |
Hi,
I realize this is a bit big of a thing out of the blue, but I was playing a little around with creating a kind of rnsd-rs, and realized it would be easier and neater if reticulum-rs didn't come with as much tokio baggage out of the box, and got a little carried away 😅 .
Is this a direction you want to go? It makes a lot of sense to me -- split the core stuff out into a core crate and remove tokio/async dependencies in it, and keep the interface management etc in the main/async crate. Should also make it easier for future embedded use cases.
The main thing done here that isn't just a straight move is abstracting the broadcast channel in
link.rsinto aLinkEventSinktrait, that the main crate'stransport.rsimplements usingtokio::sync::broadcast::Sender