telltale_runtime/runtime/mod.rs
1//! Runtime support for choreographic protocol execution
2//!
3//! This module provides:
4//!
5//! - Cross-platform async spawning utilities
6//!
7//! # Architecture
8//!
9//! The runtime module provides the infrastructure for executing generated
10//! protocol code on native and WASM targets. Execution itself is modeled
11//! through the effect system in [`crate::effects`]; this module is only the
12//! platform/runtime support layer.
13//!
14//! ```text
15//! ┌─────────────────────────────────────────────────────────────┐
16//! │ Generated Code │
17//! │ Effect Programs + ChoreoHandler │
18//! └─────────────────────────────────────────────────────────────┘
19//! │
20//! ▼
21//! ┌─────────────────────────────────────────────────────────────┐
22//! │ Runtime Utilities │
23//! │ spawn(), spawn_local(), clocks │
24//! └─────────────────────────────────────────────────────────────┘
25//! │
26//! ▼
27//! ┌─────────────────────────────────────────────────────────────┐
28//! │ Transport Implementation │
29//! │ Handlers / Transport Layers │
30//! └─────────────────────────────────────────────────────────────┘
31//! ```
32
33pub mod clock;
34pub mod spawn;
35pub mod sync;
36
37// Re-export main types
38pub use clock::{SystemClock, SystemRng};
39pub use spawn::{spawn, spawn_local, AsyncRuntime};