Skip to content
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

Make task executor configurable #25

Open
2 tasks
bltavares opened this issue Jul 26, 2020 · 3 comments
Open
2 tasks

Make task executor configurable #25

bltavares opened this issue Jul 26, 2020 · 3 comments

Comments

@bltavares
Copy link
Owner

bltavares commented Jul 26, 2020

Currently, this libraries since #21 has been using async-std to spawn new tasks.

We could instead offer the task executor to be configurable using cargo feature selectors. There is the https://github.com/bastion-rs/agnostik crate to help with this.

This would let the code to be also used on Tokio or Bastions codebases (preferring using async-std or smol by default, given that we still make use of async-std::RwLock on other stuff.

I have no idea what a proactive IO framework is as well - but it would be worth checking if it make sense to use (https://github.com/vertexclique/nuclei)

Given that colmeia-hyperswarm-mdns crate is using my own custon multicast-socket crate, it would not benefit from async-std's epoll io or bastion-rs/nuclei. The replicator crate would be the next one that need to find a good io replicator.

TODO on a livestream:

  • Include bastions-rs/agnostik crate on every crate that spawns tasks
  • Add feature selector to select which crate to use

Investigation:

@bltavares
Copy link
Owner Author

@bltavares
Copy link
Owner Author

@bltavares
Copy link
Owner Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant