pub struct PciFaultConfig {
pub controller_management_fault_enable: PciFaultBehavior,
}Expand description
A fault configuration to apply PciFaultBehavior to the controller management layer.
Currently the only supported fault is to delay enabling the controller via cc.en().
§Example
Delay enabling the controller by 500ms.
use mesh::CellUpdater;
use nvme_resources::fault::FaultConfiguration;
use nvme_resources::fault::PciFaultBehavior;
use nvme_resources::fault::PciFaultConfig;
use std::time::Duration;
pub fn pci_enable_delay_fault() -> FaultConfiguration{
let mut fault_start_updater = CellUpdater::new(false);
FaultConfiguration::new(fault_start_updater.cell())
.with_pci_fault(
PciFaultConfig::new().with_cc_enable_fault(
PciFaultBehavior::Delay(Duration::from_millis(500)),
)
)
}Fields§
§controller_management_fault_enable: PciFaultBehaviorFault to apply to cc.en() bit during enablement
Implementations§
Source§impl PciFaultConfig
impl PciFaultConfig
Sourcepub fn with_cc_enable_fault(self, behaviour: PciFaultBehavior) -> Self
pub fn with_cc_enable_fault(self, behaviour: PciFaultBehavior) -> Self
Add a cc.en() fault
Trait Implementations§
Source§impl Clone for PciFaultConfig
impl Clone for PciFaultConfig
Source§fn clone(&self) -> PciFaultConfig
fn clone(&self) -> PciFaultConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl DefaultEncoding for PciFaultConfig
impl DefaultEncoding for PciFaultConfig
Source§impl<'encoding> StructDecodeMetadata<'encoding, Resource> for PciFaultConfig
impl<'encoding> StructDecodeMetadata<'encoding, Resource> for PciFaultConfig
Source§impl StructEncodeMetadata<Resource> for PciFaultConfig
impl StructEncodeMetadata<Resource> for PciFaultConfig
Auto Trait Implementations§
impl Freeze for PciFaultConfig
impl RefUnwindSafe for PciFaultConfig
impl Send for PciFaultConfig
impl Sync for PciFaultConfig
impl Unpin for PciFaultConfig
impl UnwindSafe for PciFaultConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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> MeshField for T
impl<T> MeshField for T
§impl<T> MeshPayload for T
impl<T> MeshPayload for T
§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].