kbio基于 io-uring 的异步 IO 框架
kbio 是基于 io_uring 的异步 IO 框架,被用于实现 KuiBaDB 的异步 I/O。
特性
-
支持多线程并发任务提交
-
速度快
-
实现在 tokio 中引入的 AsyncRead/AsyncWrite trait
示例
async fn read_body(stream: &mut Sock, content: &mut Vec<u8>) -> io::Result<()> {
let len = stream.read_u32().await?;
let msglen = len as usize - size_of::<u32>();
content.reserve(msglen);
unsafe {
content.set_len(msglen);
}
stream.read_exact(content.as_mut_slice()).await?;
return Ok(());
}
评论