pub enum Event {
Show 19 variants
TaskSpawned {
task: TaskId,
node: NodeId,
name: String,
},
TaskDone {
task: TaskId,
node: NodeId,
name: String,
},
MessageSent {
from: NodeId,
to: NodeId,
seq: u64,
deliver_at: Micros,
},
MessageDropped {
from: NodeId,
to: NodeId,
seq: u64,
reason: DropReason,
},
MessageDuplicated {
from: NodeId,
to: NodeId,
seq: u64,
},
MessageReordered {
from: NodeId,
to: NodeId,
seq: u64,
},
MessageDelivered {
from: NodeId,
to: NodeId,
seq: u64,
},
DiskWrite {
node: NodeId,
path: String,
len: usize,
},
DiskTornWrite {
node: NodeId,
path: String,
requested: usize,
written: usize,
},
DiskWriteFailed {
node: NodeId,
path: String,
},
DiskFsync {
node: NodeId,
path: String,
durable_len: usize,
},
DiskFsyncFailed {
node: NodeId,
path: String,
},
Crash {
node: NodeId,
},
Restart {
node: NodeId,
},
Partition {
group_a: Vec<NodeId>,
group_b: Vec<NodeId>,
},
Healed,
SkewUpdated {
node: NodeId,
},
ClockAdvanced {
from: Micros,
to: Micros,
},
Custom {
node: NodeId,
message: String,
},
}Expand description
One recorded step of a simulation run, in execution order. Two runs of the same scenario with the same seed produce identical sequences.
Variants§
TaskSpawned
A task was spawned for a node process.
TaskDone
A task finished.
MessageSent
A message entered the flight queue.
Fields
MessageDropped
A message never reached its destination.
Fields
reason: DropReasonWhy it was dropped.
MessageDuplicated
A send scheduled an extra copy.
MessageReordered
A send undercut a previously scheduled send on the same link.
MessageDelivered
A message reached a destination inbox.
DiskWrite
A write landed in a file’s pending stage.
DiskTornWrite
A write was truncated (torn write).
Fields
DiskWriteFailed
An injected write failure fired.
DiskFsync
Pending bytes became durable.
Fields
DiskFsyncFailed
An injected fsync failure fired.
Crash
A node process crashed; volatile state was dropped.
Restart
A crashed node process restarted.
Partition
Connectivity between two node sets was cut.
Healed
All partition cuts were removed.
SkewUpdated
A node’s skew schedule was replaced.
ClockAdvanced
The virtual clock advanced on idle.
Custom
An application-level record from NodeContext::log.