#[non_exhaustive]pub enum Op {
Nop,
Read,
Write,
Flush,
RegisterFiles,
RegisterBuffers,
Cancel,
}Expand description
One IoRing operation.
#[non_exhaustive]: the kernel’s op table has grown before (M1.4, D-7)
and will again. A consumer must not be able to write an exhaustive
match that a new variant would break. IoRing::supports_raw reaches
an op this enum does not yet name.
Naming an op here is not the same as offering a way to push it: every
variant except Op::Nop gates one or more crate::Batch methods
(Read gates the four read pushes, Write the four write pushes,
Flush and Cancel two each, and the two registration ops one each),
while Nop gates none and is reachable only through
IoRing::push_raw. See IoRing::supports (M10.1).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Nop
IORING_OP_NOP.
Read
IORING_OP_READ.
Write
IORING_OP_WRITE.
Flush
IORING_OP_FLUSH.
RegisterFiles
IORING_OP_REGISTER_FILES.
RegisterBuffers
IORING_OP_REGISTER_BUFFERS.
Cancel
IORING_OP_CANCEL.
Implementations§
Trait Implementations§
impl Copy for Op
impl Eq for Op
impl StructuralPartialEq for Op
Auto Trait Implementations§
impl Freeze for Op
impl RefUnwindSafe for Op
impl Send for Op
impl Sync for Op
impl Unpin for Op
impl UnsafeUnpin for Op
impl UnwindSafe for Op
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more