Expand description
A deterministic simulator for sans-IO protocols.
The simulator is the deliverable, not a test harness. It provides the fair-loss network the bottom of the protocol stack assumes, a virtual clock, and a seeded generator, so that a run is completely determined by its seed and configuration — and a failing run is a number you can replay.
Re-exports§
pub use config::Config;pub use scenario::Scenario;pub use scenario::Step;pub use shrink::Reduction;pub use shrink::shrink;pub use sim::Sim;pub use trace::DropReason;pub use trace::NotBegun;pub use trace::OpId;pub use trace::ProtoTrace;pub use trace::ProtoTraceEvent;pub use trace::Trace;pub use trace::TraceEvent;
Modules§
- codec
- The wire boundary, exercised on demand.
- config
- What a run does to the messages passing through it.
- narrate
- Rendering a run to a
tracingsubscriber as it happens. - scenario
- A run described as a value.
- shrink
- Reducing a failing scenario to a smaller one that still fails.
- sim
- The deterministic execution environment.
- trace
- The record of what a run actually did.