bytecodealliance / bytecodealliance/rustix
add io_uring_sqe64,io_uring_sqe128,io_uring_cqe16,io_uring_cqe32
- 主要言語
- 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