pub enum SimFaultEvent {
Show 18 variants
ProcessGracefulShutdown {
ip: String,
grace_period_ms: u64,
},
ProcessForceKill {
ip: String,
},
ProcessRestart {
ip: String,
},
PartitionCreated {
from: String,
to: String,
},
PartitionHealed {
from: String,
to: String,
},
ConnectionCut {
connection_id: u64,
duration_ms: u64,
},
CutRestored {
connection_id: u64,
},
HalfOpenError {
connection_id: u64,
},
SendPartitionCreated {
ip: String,
},
RecvPartitionCreated {
ip: String,
},
RandomClose {
connection_id: u64,
},
PeerCrash {
connection_id: u64,
},
BitFlip {
connection_id: u64,
flip_count: usize,
},
StorageReadFault {
ip: String,
file_id: u64,
},
StorageWriteFault {
ip: String,
file_id: u64,
kind: String,
},
StorageSyncFault {
ip: String,
file_id: u64,
},
StorageCrash {
ip: String,
},
StorageWipe {
ip: String,
},
}Expand description
Fault events automatically emitted by the simulator.
Read via state.timeline::<SimFaultEvent>(SIM_FAULT_TIMELINE) in invariants.
Variants§
ProcessGracefulShutdown
Process graceful shutdown initiated.
Fields
ProcessForceKill
Process force-killed.
ProcessRestart
Process restarted after recovery delay.
PartitionCreated
Bidirectional network partition created between two IPs.
PartitionHealed
Network partition healed between two IPs.
ConnectionCut
Connection temporarily cut.
Fields
CutRestored
Temporarily cut connection restored.
HalfOpenError
Half-open connection error triggered.
SendPartitionCreated
Send partition created (blocks outgoing from an IP).
RecvPartitionCreated
Receive partition created (blocks incoming to an IP).
RandomClose
Connection randomly closed by chaos.
PeerCrash
Peer crash simulated (half-open connection created).
BitFlip
Bit flip corruption injected during data delivery.
Fields
StorageReadFault
Read fault injected (sector marked as faulted).
StorageWriteFault
Write fault injected (phantom, misdirected, or corruption).
Fields
StorageSyncFault
Sync failure injected.
StorageCrash
Storage crash simulated for a process.
StorageWipe
All storage wiped for a process (CrashAndWipe reboot).
Trait Implementations§
Source§impl Clone for SimFaultEvent
impl Clone for SimFaultEvent
Source§fn clone(&self) -> SimFaultEvent
fn clone(&self) -> SimFaultEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more