kbio基于 io-uring 的异步 IO 框架

联合创作 · 2023-09-30 19:26

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(());
}

                                                                                        

浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报