1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! Runtime support for choreographic protocol execution
//!
//! This module provides:
//!
//! - [`ChoreographicAdapter`] trait for simplified protocol execution
//! - Cross-platform async spawning utilities
//! - Protocol execution context and metadata
//!
//! # Architecture
//!
//! The runtime module provides the infrastructure for executing generated
//! protocol code. The key abstraction is [`ChoreographicAdapter`], which
//! provides a simpler interface than the effect handler system for use
//! by generated `run_{role}` functions.
//!
//! ```text
//! ┌─────────────────────────────────────────────────────────────┐
//! │ Generated Code │
//! │ run_client(), run_server(), execute_as() │
//! └─────────────────────────────────────────────────────────────┘
//! │
//! ▼
//! ┌─────────────────────────────────────────────────────────────┐
//! │ ChoreographicAdapter Trait │
//! │ send(), recv(), broadcast(), collect() │
//! └─────────────────────────────────────────────────────────────┘
//! │
//! ▼
//! ┌─────────────────────────────────────────────────────────────┐
//! │ Transport Implementation │
//! │ ChannelAdapter, NetworkAdapter, SimulatedAdapter │
//! └─────────────────────────────────────────────────────────────┘
//! ```
// Re-export main types
pub use ;
pub use ;
pub use ;
pub use TestAdapter;