Skip to main content

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//! - [`tea_store::TeaStore`] — channel-pushed model snapshots ([`TeaRuntime`], true TEA)
7//! - [`swap_store::SwapStore`] — lock-free snapshot reads (`arc-swap` feature, [`SwapRuntime`])
8
9mod config;
10pub mod error;
11pub(crate) mod dispatch;
12mod engine;
13mod rw_engine;
14mod tea_engine;
15#[cfg(feature = "arc-swap")]
16mod swap_engine;
17pub mod binding;
18pub(crate) mod interpreter;
19pub(crate) mod state_access;
20pub mod store;
21pub mod rw_store;
22pub mod tea_store;
23#[cfg(feature = "arc-swap")]
24pub mod swap_store;
25pub mod subscription;
26
27pub use config::RuntimeConfig;
28pub use error::RuntimeError;
29pub use engine::Runtime;
30pub use rw_engine::RwRuntime;
31pub use tea_engine::TeaRuntime;
32#[cfg(feature = "arc-swap")]
33pub use swap_engine::SwapRuntime;