pub enum AdminQueueFaultBehavior<T> {
    Update(T),
    Drop,
    Delay(Duration),
    Panic(String),
    CustomPayload(Vec<u8>),
    Verify(Option<OneshotSender<()>>),
}Expand description
Supported fault behaviour for NVMe admin queues
Variants§
Update(T)
Update the queue entry with the returned data
Drop
Drop the queue entry
Delay(Duration)
Delay. Note: This delay is not asynchronously applied. i.e. Subsequent commands will be processed until the delay is over.
Panic(String)
Panic
CustomPayload(Vec<u8>)
Writes the given payload to the PRP range. The test should ensure that the payload is of valid size. If the size is too large, the fault controller will panic. This behavior is not yet supported by the submission queue fault.
Verify(Option<OneshotSender<()>>)
Verify that a command was seen.
Trait Implementations§
Source§impl<T: Debug> Debug for AdminQueueFaultBehavior<T>
 
impl<T: Debug> Debug for AdminQueueFaultBehavior<T>
Source§impl<T> DefaultEncoding for AdminQueueFaultBehavior<T>
 
impl<T> DefaultEncoding for AdminQueueFaultBehavior<T>
Source§impl<'encoding, T> OneofDecode<'encoding, Resource> for AdminQueueFaultBehavior<T>where
    T: DefaultEncoding,
    T::Encoding: FieldDecode<'encoding, T, Resource>,
 
impl<'encoding, T> OneofDecode<'encoding, Resource> for AdminQueueFaultBehavior<T>where
    T: DefaultEncoding,
    T::Encoding: FieldDecode<'encoding, T, Resource>,
Source§fn read_variant(
    item: &mut InplaceOption<'_, Self>,
    n: u32,
    field: FieldReader<'encoding, '_, Resource>,
) -> Result<()>
 
fn read_variant( item: &mut InplaceOption<'_, Self>, n: u32, field: FieldReader<'encoding, '_, Resource>, ) -> Result<()>
Read the specified variant from the reader.
Source§impl<T> OneofEncode<Resource> for AdminQueueFaultBehavior<T>where
    T: DefaultEncoding,
    T::Encoding: FieldEncode<T, Resource>,
 
impl<T> OneofEncode<Resource> for AdminQueueFaultBehavior<T>where
    T: DefaultEncoding,
    T::Encoding: FieldEncode<T, Resource>,
Source§fn write_variant(self, writer: MessageWriter<'_, '_, Resource>)
 
fn write_variant(self, writer: MessageWriter<'_, '_, Resource>)
Write the variant to the writer.
Source§fn compute_variant_size(&mut self, sizer: MessageSizer<'_>)
 
fn compute_variant_size(&mut self, sizer: MessageSizer<'_>)
Compute the size of the variant.
Auto Trait Implementations§
impl<T> Freeze for AdminQueueFaultBehavior<T>where
    T: Freeze,
impl<T> !RefUnwindSafe for AdminQueueFaultBehavior<T>
impl<T> Send for AdminQueueFaultBehavior<T>where
    T: Send,
impl<T> Sync for AdminQueueFaultBehavior<T>where
    T: Sync,
impl<T> Unpin for AdminQueueFaultBehavior<T>where
    T: Unpin,
impl<T> !UnwindSafe for AdminQueueFaultBehavior<T>
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
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
§impl<T> SerializeMessage for Twhere
    T: 'static + MeshPayload + Send,
 
impl<T> SerializeMessage for Twhere
    T: 'static + MeshPayload + Send,
§fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
 
fn compute_message_size(&mut self, sizer: MessageSizer<'_>)
Computes the message size, as in [
MessageEncode::compute_message_size].§fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
 
fn write_message(self, writer: MessageWriter<'_, '_, Resource>)
Writes the message, as in [
MessageEncode::write_message].