#async-io #tokio #async #read-write #buffer #run-time #tokio-uring

yanked dbs-fuse

Utilities for tokio/tokio-uring based async IO

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

#291 in #async-io

Apache-2.0

210KB
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.4–12MB
~89K SLoC