tokio-rs/tokio-uring
Fork: 122 Star: 1154 (更新于 2024-12-08 21:04:46)
license: MIT
Language: Rust .
An io_uring backed runtime for Rust
最后发布版本: v0.5.0 ( 2024-05-28 05:23:39)
tokio-uring
This crate provides io-uring
for Tokio by exposing a new Runtime that is
compatible with Tokio but also can drive io-uring
-backed resources. Any
library that works with Tokio also works with tokio-uring
. The crate
provides new resource types that work with io-uring
.
Getting started
Using tokio-uring
requires starting a [tokio-uring
] runtime. This
runtime internally manages the main Tokio runtime and a io-uring
driver.
In your Cargo.toml:
[dependencies]
tokio-uring = { version = "0.5.0" }
In your main.rs:
use tokio_uring::fs::File;
fn main() -> Result<(), Box<dyn std::error::Error>> {
tokio_uring::start(async {
// Open a file
let file = File::open("hello.txt").await?;
let buf = vec![0; 4096];
// Read some data, the buffer is passed by ownership and
// submitted to the kernel. When the operation completes,
// we get the buffer back.
let (res, buf) = file.read_at(buf, 0).await;
let n = res?;
// Display the contents
println!("{:?}", &buf[..n]);
Ok(())
})
}
Requirements
tokio-uring
requires a very recent linux kernel. (Not even all kernels with io_uring support will work)
In particular 5.4.0
does not work (This is standard on Ubuntu 20.4). However 5.11.0
(the ubuntu hwe image) does work.
Project status
The tokio-uring
project is still very young. Currently, we are focusing on
supporting filesystem and network operations. Eventually, we will add safe APIs for all
io-uring compatible operations.
License
This project is licensed under the MIT license.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in tokio-uring by you, shall be licensed as MIT, without any additional terms or conditions.
最近版本更新:(数据更新于 2024-10-03 13:26:39)
2024-05-28 05:23:39 v0.5.0
2022-11-06 05:13:48 v0.4.0
2022-03-03 05:07:28 v0.3.0
2022-01-10 03:49:39 v0.2.0
tokio-rs/tokio-uring同语言 Rust最近更新仓库
2024-12-22 10:23:54 rustdesk/rustdesk
2024-12-22 08:48:41 lapce/lapce
2024-12-21 23:25:36 tw93/Pake
2024-12-19 19:31:32 dashpay/platform
2024-12-18 10:31:25 DioxusLabs/dioxus
2024-12-17 17:18:34 lanyeeee/jmcomic-downloader