docs.rs failed to build moonpool-0.2.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
moonpool-0.5.0
Moonpool
Deterministic simulation testing for distributed systems in Rust.
Moonpool enables you to write distributed system logic once, test it with simulated networking for reproducible debugging, then deploy with real networking—all using identical application code.
Inspired by FoundationDB's simulation testing.
Crate Architecture
┌─────────────────────────────────────────────────┐
│ moonpool (this crate) │
│ Re-exports all functionality │
├─────────────────────────────────────────────────┤
│ moonpool-transport │ moonpool-sim │
│ • Peer connections │ • SimWorld runtime │
│ • Wire format │ • Chaos testing │
│ • FlowTransport │ • Buggify macros │
│ • RPC primitives │ • Assertions │
├─────────────────────────────────────────────────┤
│ moonpool-core │
│ Provider traits: Time, Task, Network, Random │
│ Core types: UID, Endpoint, NetworkAddress │
└─────────────────────────────────────────────────┘
Quick Start
use moonpool::{SimulationBuilder, WorkloadTopology};
SimulationBuilder::new()
.topology(WorkloadTopology::ClientServer { clients: 2, servers: 1 })
.run(|ctx| async move {
// Your distributed system workload
});
Which Crate to Use
| Use case | Crate |
|---|---|
| Full framework (recommended) | moonpool |
| Provider traits only | moonpool-core |
| Simulation without transport | moonpool-sim |
| Transport without simulation | moonpool-transport |
Documentation
- [
moonpool_core] - Provider traits and core types - [
moonpool_sim] - Simulation runtime and chaos testing - [
moonpool_transport] - Network transport layer