pub unsafe trait UringCommand {
type Output;
// Required methods
fn cmd_op(&self) -> u32;
fn cmd_len(&self) -> usize;
fn encode(&self, out: &mut [u8]);
fn interpret(&self, completion: &Completion) -> Result<Self::Output, Errno>;
}Expand description
Une commande passthrough d’un sous-système, sérialisable dans la zone
cmd[] d’URING_CMD.
§Safety
L’implémenteur garantit que encode produit une
commande valide pour le gestionnaire uring_cmd du fd ciblé, que
cmd_op est l’opération correcte du sous-système, et
que tout buffer externe référencé par la commande reste valide jusqu’à la
complétion. io_uring ne peut pas vérifier ces invariants (la zone cmd[] lui
est opaque) — d’où le unsafe trait.
Required Associated Types§
Required Methods§
Sourcefn cmd_len(&self) -> usize
fn cmd_len(&self) -> usize
Taille requise de la zone de commande, en octets (≤ 16, ou ≤ 80 si le
ring a SETUP_SQE128).