rust_elm/runtime/mod.rs
1//! Tokio-backed live runtime: bus, store, effect interpreter, subscriptions.
2//!
3//! Store flavors:
4//! - [`store::Store`] — [`Mutex`](parking_lot::Mutex) (default [`Runtime`])
5//! - [`rw_store::RwStore`] — [`RwLock`](parking_lot::RwLock) ([`RwRuntime`])
6//! - [`swap_store::SwapStore`] — lock-free snapshot reads (`arc-swap` feature, [`SwapRuntime`])
7
8mod config;
9pub(crate) mod dispatch;
10mod engine;
11mod rw_engine;
12#[cfg(feature = "arc-swap")]
13mod swap_engine;
14pub mod binding;
15pub(crate) mod interpreter;
16pub(crate) mod state_access;
17pub mod store;
18pub mod rw_store;
19#[cfg(feature = "arc-swap")]
20pub mod swap_store;
21pub mod subscription;
22
23pub use config::RuntimeConfig;
24pub use engine::Runtime;
25pub use rw_engine::RwRuntime;
26#[cfg(feature = "arc-swap")]
27pub use swap_engine::SwapRuntime;