您当前的位置: 首页 >  linux

qianbo_insist

暂无认证

  • 1浏览

    0关注

    399博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

linux iouring

qianbo_insist 发布时间:2022-10-05 23:02:35 ,浏览量:1

安装基本工具

1、安装tool,支持ifconfig 等命令 apt install net-tools

2、不安装虚拟机,安装好wsl,输入以下命令 sudo apt install make ninja-build rsync zip

3、下载liburing https://github.com/axboe/liburing.git

code sample
#include 

// linux.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include 

#include 
#include 
#include 
#ifdef LIBURING
#include 

int main()
{
    struct io_uring ring;
    io_uring_queue_init(32, &ring, 0);

    struct io_uring_sqe* sqe = io_uring_get_sqe(&ring);
    int fd = open("/home/carter/test.txt", O_WRONLY | O_CREAT);
    struct iovec iov = {
        .iov_base = "Hello world",
        .iov_len = strlen("Hello world"),
    };
    io_uring_prep_writev(sqe, fd, &iov, 1, 0);
    io_uring_submit(&ring);

    struct io_uring_cqe* cqe;

    for (;;) {
        io_uring_peek_cqe(&ring, &cqe);
        if (!cqe) {
            puts("Waiting...");
            // accept 新连接,做其他事
        }
        else {
            puts("Finished.");
            break;
        }
    }
    io_uring_cqe_seen(&ring, cqe);
    io_uring_queue_exit(&ring);
}
关注
打赏
1663161521
查看更多评论
立即登录/注册

微信扫码登录

0.0355s