pub struct RawSubmissionQueueEntry(/* private fields */);Expand description
Miroir exact de struct io_uring_sqe (64 octets). #[repr(transparent)]
sur le miroir interne IoUringSqe ⇒ layout bit-pour-bit garanti (asserté
statiquement). La zone cmd[] étendue de SETUP_SQE128 (80 o) n’est pas
exposée ici : le passthrough URING_CMD passe par la façade typée (Temps 2d).
Rempli via les accesseurs typés (pas de calcul d’offset manuel), puis obtenu
par IoUring::raw_get_submission_queue_entry
et publié par submit() (Temps 1).
Implementations§
Source§impl RawSubmissionQueueEntry
impl RawSubmissionQueueEntry
Sourcepub fn nop() -> Self
pub fn nop() -> Self
SQE IORING_OP_NOP (entièrement zéro-initialisé). Penser à poser le tag
RAW_USER_DATA_TAG sur user_data (§5) avant la soumission.
Sourcepub fn set_opcode(&mut self, opcode: RawOpcode) -> &mut Self
pub fn set_opcode(&mut self, opcode: RawOpcode) -> &mut Self
Fixe l’opcode (IORING_OP_*).
Sourcepub fn set_fd(&mut self, fd: i32) -> &mut Self
pub fn set_fd(&mut self, fd: i32) -> &mut Self
Fixe le fd cible (ou l’index de slot fixe si IOSQE_FIXED_FILE).
Sourcepub fn set_addr(&mut self, addr: u64) -> &mut Self
pub fn set_addr(&mut self, addr: u64) -> &mut Self
Fixe addr (union addr/splice_off_in : adresse du buffer principal).
Sourcepub fn set_off(&mut self, off: u64) -> &mut Self
pub fn set_off(&mut self, off: u64) -> &mut Self
Fixe off/addr2 (union off/addr2/cmd_op selon l’opcode).
Sourcepub fn set_op_flags(&mut self, op_flags: u32) -> &mut Self
pub fn set_op_flags(&mut self, op_flags: u32) -> &mut Self
Fixe les flags spécifiques à l’opcode (op_flags : rw_flags, etc.).
Sourcepub fn set_user_data(&mut self, user_data: u64) -> &mut Self
pub fn set_user_data(&mut self, user_data: u64) -> &mut Self
Fixe user_data (doit porter RAW_USER_DATA_TAG pour une op brute, §5).
Trait Implementations§
Source§impl Clone for RawSubmissionQueueEntry
impl Clone for RawSubmissionQueueEntry
Source§fn clone(&self) -> RawSubmissionQueueEntry
fn clone(&self) -> RawSubmissionQueueEntry
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more