Expand description
A deterministic runtime that randomly selects tasks to run based on a seed
§Panics
If any task panics, the runtime will panic (and shutdown).
§Example
use commonware_runtime::{Spawner, Runner, deterministic, Metrics};
let executor = deterministic::Runner::default();
executor.start(|context| async move {
println!("Parent started");
let result = context.with_label("child").spawn(|_| async move {
println!("Child started");
"hello"
});
println!("Child result: {:?}", result.await);
println!("Parent exited");
println!("Auditor state: {}", context.auditor().state());
});
Structs§
- Auditor
- Track the state of the runtime for determinism auditing.
- Config
- Configuration for the
deterministic
runtime. - Context
- Implementation of crate::Spawner, crate::Clock,
crate::Network, and crate::Storage for the
deterministic
runtime. - Executor
- Deterministic runtime that randomly selects tasks to run based on a seed.
- Runner
- Implementation of crate::Runner for the
deterministic
runtime.
Type Aliases§
- Partition
- Map of names to blob contents.