openanolis / dbs-fuse

Utilities for tokio/tokio-uring based async IO

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Utilities for tokio/tokio-uring based async IO

License:Apache License 2.0


Languages

Language:Rust 100.0%