moonpool_sim/sim/
mod.rs

1//! Core simulation engine for deterministic testing.
2//!
3//! This module provides the central SimWorld coordinator that manages time,
4//! event processing, and network simulation state.
5//!
6//! ## Submodules
7//!
8//! - `world` - Core SimWorld and WeakSimWorld types
9//! - `events` - Event types and queue for scheduling
10//! - `state` - Network state management (connections, partitions, clogs)
11//! - `wakers` - Waker management for async coordination
12//! - `sleep` - Sleep future for simulation time
13//! - `rng` - Thread-local random number generation
14
15pub mod events;
16pub mod rng;
17pub mod sleep;
18pub mod state;
19pub mod wakers;
20pub mod world;
21
22// Re-export main types at module level
23pub use events::{ConnectionStateChange, Event, EventQueue, NetworkOperation, ScheduledEvent};
24pub use rng::{
25    get_current_sim_seed, reset_sim_rng, set_sim_seed, sim_random, sim_random_f64,
26    sim_random_range, sim_random_range_or_default,
27};
28pub use sleep::SleepFuture;
29pub use world::{SimWorld, WeakSimWorld};