I recently started learning Rust coming from a Node background. It first took me by surprise that Rust’s
std crate only sync/blocking operations for I/O and that async I/O only lives in user land right now. On the other hand… Node did the same in the early days by removing things like Promises into user land. (Even though they kept callback style for async I/O in the built-in modules.)
I tried to research what is the history and status quo about async I/O in Rust and would like to now, if I missed something.
The de-facto standard for async I/O is currently
mio is very low-level. A widely used higher level async I/O create which builds up on
rotor has an example implementation how it can be used for HTTP called
rotor-http. But the de-facto standard for using HTTP in Rust is
hyper. Just recently
hyper added support for async I/O by using
Is this correct?
mio is the current standard for low-level async I/O,
rotor is the current standard for higher level async I/O build on top of
hyper is the current standard for async/non-blocking HTTP requests/responses build on top of
Is there a library like
hyper for async file system I/O?
What is the Futures API mentioned here?