superpoll - A rust async runtime extends futures strictly, rather than rewriting many things.
superpoll aims not to do much original works, but integrate and import the best components there are, and expose unified interface.
The most important focus is: we follow futures
strictly, and will do nothing conflicted with futures
's implementation, so,
if there are one function in futures
, we will use it directly, and NEVER rewrite/replace it with our own implementation.
We have done:
- ported stjepang's
async-io
assuperpoll::io
- ported stjepang's
blocking
assuperpoll::blocking
- ported stjepang's
async-net
assuperpoll::net
- ported stjepang's
async-fs
assuperpoll::fs
- ported stjepang's
async-process
assuperpoll::process
- superpoll::io: Timer, Async
- superpoll::blocking: Unblock, unblock
- superpoll::net: TcpListner, TcpStream, UdpSocket, UnixSocket and so on...
- superpoll::fs: standard fs async api
- superpoll::process: POSIX process async api
superpoll::io
- changed dependency
futures-lite
tofutures
- changed dependency
superpoll::blocking
- changed dependency
futures-lite
tofutures
- changed dependency
async-channel::bounded
tofutures::channel::mpsc::channel
- changed dependency
atomic-waker::AtomicWaker
tofutures::task::AtomicWaker
- changed dependency
superpoll::net
- changed dependency
futures-lite
tofutures
- changed dependency
superpoll::fs
- changed dependency
futures-lite
tofutures
- changed dependency
async-lock::Mutex
tofutures::lock::Mutex
- changed dependency
superpoll::process
- changed dependency
futures-lite
tofutures
- changed dependency
superpoll::blocking
depends onasync-task
'sRunnable
andTask
, which doesn't exist infutures
crate, so we need to count how to rewrite it? Or not necessary to do so.- Reexport more symbols to superpoll root space for convienence.