bytecodealliance / bytecodealliance/rustix

add io_uring_sqe64,io_uring_sqe128,io_uring_cqe16,io_uring_cqe32

オープン
#997 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Rust
スター
2.1k
フォーク
294
平均マージ
6日 22時間
マージ済み PR(30日)
4

説明

```
#[repr(C)]
#[derive(Clone, Copy)]
pub struct IoUringSqe {
pub opcode: rustix::io_uring::IoringOp,
pub flags: rustix::io_uring::IoringSqeFlags,
pub ioprio: rustix::io_uring::ioprio_union,
pub fd: rustix::fd::RawFd,
pub off_or_addr2: rustix::io_uring::off_or_addr2_union,
pub addr_or_splice_off_in: rustix::io_uring::addr_or_splice_off_in_union,
pub len: rustix::io_uring::len_union,
pub op_flags: rustix::io_uring::op_flags_union,
pub user_data: rustix::io_uring::io_uring_user_data,
pub buf: rustix::io_uring::buf_union,
pub personality: u16,
pub splice_fd_in_or_file_index: rustix::io_uring::splice_fd_in_or_file_index_union,
pub addr3_or_cmd: addr3_or_cmd_union,
}

#[repr(C)]
#[derive(Copy, Clone)]
pub union addr3_or_cmd_union {
pub addr3: rustix::io_uring::addr3_struct,
pub cmd: T,
}

pub type IoUringSqe64 = IoUringSqe<()>;
pub type IoUringSqe128 = IoUringSqe<[u8; 80]>;

#[repr(C)]
#[derive(Clone, Copy)]
pub struct IoUringCqe {
pub user_data: rustix::io_uring::io_uring_user_data,
pub res: i32,
pub flags: rustix::io_uring::IoringCqeFlags,
pub big_cqe: T,
}

pub type IoUringCqe16 = IoUringCqe<()>;
pub type IoUringCqe32 = IoUringCqe<[u64; 2]>;
```

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、rustix bindings にある既存の io_uring 型定義を見つけ、要求された SQE および CQE の形式とそのレイアウトを比較します。IoUringSqe64、IoUringSqe128、IoUringCqe16、IoUringCqe32 が指定された表現とフィールドを持ち、関連する既存のチェックが引き続き通過すれば、作業は完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
linux, rust
領域
operating-systems
issue の種類
機能追加
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。