Skip to main content

Crate vortex_core

Crate vortex_core 

Source
Expand description

vortex-core — Core types and deterministic scheduler for the Vortex simulation engine.

This crate provides the foundational building blocks:

Re-exports§

pub use context::DivergenceKind;
pub use context::LogDivergence;
pub use context::SeqNo;
pub use context::SimContext;
pub use context::SimEventLog;
pub use context::SimLogEntry;
pub use context::Subsystem;
pub use fault_config::AllocFaultConfig;
pub use fault_config::ClockFaultConfig;
pub use fault_config::ConfigError;
pub use fault_config::FaultConfig;
pub use fault_config::FsError;
pub use fault_config::FsFaultConfig;
pub use fault_config::FsFaultRule;
pub use fault_config::FsOp;
pub use fault_config::NetworkFault;
pub use fault_config::NetworkFaultConfig;
pub use fault_config::NetworkFaultRule;
pub use fault_config::ProcessFault;
pub use fault_config::ProcessFaultConfig;
pub use fault_config::ProcessFaultRule;
pub use fault_config::SchedulingStrategy;
pub use fault_config::ThreadSchedulingConfig;
pub use seed::SeedTree;
pub use seed::VortexSeed;

Modules§

context
Simulation context and event logging.
fault_config
Fault configuration DSL — declarative fault injection rules.
plugin
Plugin trait for custom fault injection modules.
seed
Hierarchical seed derivation for deterministic simulation.

Structs§

DetRng
A deterministic pseudo-random number generator.
SimEvent
A schedulable event in the simulation.
SimScheduler
Single-threaded deterministic event scheduler.

Enums§

SimEventKind
Types of simulation events.
StorageOp
A single storage operation (for batch writes).
VortexError
Error type for Vortex I/O operations.

Traits§

VortexClock
Clock boundary trait.
VortexNetwork
Network I/O boundary trait.
VortexScheduler
Task/event scheduling trait.
VortexStorage
Persistent storage boundary trait.

Type Aliases§

NodeId
Unique identifier for a simulated node.
Result