Skip to main content

atomr_patterns/process_manager/
mod.rs

1//! Process Manager pattern — typed state-machine alternative to
2//! [`crate::saga::SagaPattern`].
3//!
4//! Where [`crate::saga::Saga`] is free-form (mutate state, emit
5//! actions), a [`ProcessManager`] is bounded: every event causes a
6//! [`Transition`] — `Stay`, move to a new `State` and dispatch
7//! commands, or `Complete`. Use it when the state space is small and
8//! enumerable, and you want compile-time exhaustiveness checking on
9//! handle clauses.
10
11mod runner;
12
13pub use runner::{
14    ProcessManager, ProcessManagerBuilder, ProcessManagerHandles, ProcessManagerPattern,
15    ProcessManagerTopology, Transition,
16};