#async #tokio #tokio-uring

yanked dbs-fuse

Utilities for tokio/tokio-uring based async IO

3 unstable releases

0.2.0 Jul 11, 2022
0.1.1 Jul 4, 2022
0.1.0 Jul 4, 2022

#250 in #tokio

Apache-2.0

205KB
4K SLoC

dbs-fuse

The dbs-fuse is a utility crate to support fuse-backend-rs.

Wrappers for Rust async io

It's challenging to support Rust async io, and it's even more challenging to support Rust async io with Linux io-uring.

The dbs-fuse crate adds a wrapper layer over tokio and tokio-uring to simplify the way to support Rust async io by providing:

  • FileReadWriteVolatile: A trait similar to Read and Write, but uses [FileVolatileSlice] objects as data buffers.
  • FileVolatileSlice: An adapter structure to work around limitations of the vm-memory crate.
  • FileVolatileBuf: An adapter structure to support io-uring based asynchronous IO.
  • File
  • Runtime

License

This project is licensed under Apache License, Version 2.0.

Source code under [src/tokio-uring] is temporarily copied from tokio-uring with modifications, which is licensed under MIT.

Dependencies

~0.3–6MB
~92K SLoC