Skip to content

Core primitives for building asynchrnonous stuff

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

icorderi/rust-await

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rust-await

Core primitives for building asynchronous stuff

Dashboard

Linux CI Test Coverage Crate Documentation
Build Status Coverage Status Crate Docs

Motivation

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.

State of the art

Tier-1 (Basic abstractions)

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

Tier-2 (IO/threading models)

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

Tier-3 (Domain specific)

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

Goal

  • 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.

License

Licensed under:

Contribution

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.

About

Core primitives for building asynchrnonous stuff

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages