atomr-patterns 0.9.2

DDD/CQRS pattern library for atomr — aggregates, readers, projections, sagas, outbox, ACL.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//! Process Manager pattern — typed state-machine alternative to
//! [`crate::saga::SagaPattern`].
//!
//! Where [`crate::saga::Saga`] is free-form (mutate state, emit
//! actions), a [`ProcessManager`] is bounded: every event causes a
//! [`Transition`] — `Stay`, move to a new `State` and dispatch
//! commands, or `Complete`. Use it when the state space is small and
//! enumerable, and you want compile-time exhaustiveness checking on
//! handle clauses.

mod runner;

pub use runner::{
    ProcessManager, ProcessManagerBuilder, ProcessManagerHandles, ProcessManagerPattern,
    ProcessManagerTopology, Transition,
};