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

Rework Executor/Reactor #134

Closed
khionu opened this issue Dec 19, 2019 · 0 comments
Closed

Rework Executor/Reactor #134

khionu opened this issue Dec 19, 2019 · 0 comments

Comments

@khionu
Copy link
Contributor

khionu commented Dec 19, 2019

Current things that need to go into this rework:

  • Reactors can't own units of work
    • This leads to a single actor being able to block other actors from being completed
  • The Executor/Reactor should be reframed as being actor-specific
  • The Threadpool should belong to the ActorSystem
    • All Executors/Reactors should use the same pool
  • ActorReactors should not be in contention with each other for work
    • crossbeam-deque had a really nice set of queues for this exact purpose.
  • Executors and Reactors that have units of work should not be linked by more than channels
    • This will be better for unit testing.
  • Ability to register custom Reactors
    • The alternative to this is to embed futmio directly in Axiom with a feature flag. It could be usable to avoid depending on Actors, but it would be better for extensibility to do it this way. This would be how the networking crate would register the MioReactor.
@khionu khionu added this to the 0.3.0 milestone Dec 21, 2019
@khionu khionu closed this as completed Dec 21, 2019
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