This crate implements a binding for Linux's libaio, for async block IO.
It presents several related APIs:
raw, which is a fairly direct mapping of the AIO syscalls to Rustchan, a channel-oriented interface for submitting AIO operations and getting their results,future, a function-oriented interface which returns futures for results
There is also a set of utility modules:
buf, which defines RdBuf and WrBuf traits, and some implementations for slices and Vecdirectio, for opening direct IO files (preferred for async IO)aligned, for allocating suitably aligned memory for direct IO.
This is still very much a work in progress, and the API is not at all stable yet.
Jeremy Fitzhardinge [email protected]