rados_hi - Opinionated high-level wrapper for librados (Ceph).
RADOS is a High Availability (with configurable replication and/or erasure coding) object store that is both a backbone of the Ceph distributed filesystem and a powerful distributed database of its own.
rados_hi is an experimental high-level wrapper around the low-level (so far) ceph-rust bindings. It achieves good parallelization and composability by lifting RADOS AIO operations as futures.
NB. This library diverges a bit from futures "lazy evaluation" approach by starting
the read
and write
AIO operations early, as soon as the Future
is created.
You still need to "drive" the follow-up operations in a futures chain.
That is, in a read and_then process and_then write
chain the read
AIO operation will be scheduled with Ceph immediately but the follow-up
process
and write
futures will only be run once the chain is poll
ed somehow.
This might change in the future, particularly as the explicit parallelism in join_all
and similar adapters is better explored.