moonpool
Deterministic simulation testing for distributed systems in Rust.
Inspired by FoundationDB's simulation testing.
Note: This is a hobby-grade project under active development.
Architecture
┌─────────────────────────────────────────────────────────────┐
│ moonpool (this crate) │
│ Re-exports all functionality + virtual actors module │
├──────────────────────────┬──────────────────────────────────┤
│ moonpool-transport │ moonpool-sim │
│ • Peer connections │ • SimWorld runtime │
│ • Wire format │ • Chaos testing │
│ • NetTransport + RPC │ • Buggify macros │
│ • #[service] macro │ • 15 assertion macros │
│ (via transport-derive)│ • Multiverse exploration │
│ │ (via moonpool-explorer) │
├──────────────────────────┴──────────────────────────────────┤
│ moonpool-core │
│ Provider traits: Time, Task, Network, Random, Storage │
│ Core types: UID, Endpoint, NetworkAddress │
└─────────────────────────────────────────────────────────────┘
Documentation
License
Apache 2.0