Core primitives for building asynchronous stuff
Linux CI | Test Coverage | Crate | Documentation |
---|---|---|---|
We need some core types to help build asynchronous frameworks.
This crate does not intend to define the correct framework to use, but to simply present some common basic primitives on top of which: async/await, promises/futures, callbacks, state-machines, streams... can be expressed upon.
There is lengthy discussion on async on rust at RFC-1081 Async IO.
Crate | Provides | Builds-on |
---|---|---|
mio | Event loop | epoll/kqueue |
gj | Promises | epoll/kqueue |
eventual | Futures + Streams | ? |
async-await | async/await | eventual |
rotor | state-machines | mio |
Crate | Provides | Abstraction | Builds-on |
---|---|---|---|
eventual-io | Async IO | futures | eventual + mio |
gjio | Async IO | promises | gj |
mioco | Coroutines | cooperative | mio |
coio | Coroutines | works-stealing | mio |
Crate | Provides | Domain | Builds-on |
---|---|---|---|
simplesched | Coroutines + Async IO | Http | mio + hyper |
Disclaimer: I apologize if your crate is missing, this is not intended to be a complete survey
- Define the tier-0 abstraction on top of which all the tier-1 should be based on, to interact with each other.
- Having the base libraries for each async framework to build upon this core types.
- Hopefully, the contents of this crate can at some point be moved to the nursery on their way to the std.
Licensed under:
- Apache License, Version 2.0 - LICENSE-APACHE (source)
- MIT license - (LICENSE-MIT (source)
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.