madsim/lib.rs
1//! A deterministic simulator for distributed systems.
2//!
3//! ## Features
4//!
5//! - `rpc`: Enables built-in RPC framework.
6//! - `macros`: Enables `#[madsim::main]` and `#[madsim::test]` macros.
7
8#![cfg_attr(docsrs, feature(doc_cfg))]
9
10#[cfg(all(feature = "rpc", feature = "macros"))]
11#[cfg_attr(docsrs, doc(cfg(all(feature = "rpc", feature = "macros"))))]
12pub use madsim_macros::{service, Request};
13
14#[cfg(madsim)]
15mod sim;
16#[cfg(madsim)]
17pub use sim::*;
18
19#[cfg(not(madsim))]
20#[path = "std/mod.rs"]
21mod _std;
22#[cfg(not(madsim))]
23pub use _std::*;
24
25// Includes re-exports used by macros.
26#[doc(hidden)]
27pub mod export {
28 pub use futures_util as futures;
29}