Expand description
Client state machine interfaces and executor implementation
Modules§
- dbtx π
- executor π
- notifier πHelper to notify modules about state transitions
- state πState machine state interface
Structs§
- A transaction that acts as isolated for module code but can be accessed as a normal transaction in this crate.
- A shared context for a module client state machine
- A type-erased state of a state machine belonging to a module instance, see
State
- Executor that drives forward state machines under its management.
- Builder to which module clients can be attached and used to build an
Executor
supporting these. - State transition notifier for a specific module instance that can only subscribe to transitions belonging to that module
- State transition notifier owned by the modularized client used to inform modules of state transitions.
- Notifier send handle that can be shared to places where we donβt need an entire
Notifier
but still need to trigger notifications. The main use case is triggering notifications when a DB transaction was committed successfully. - Represents one or multiple possible state transitions triggered in a common way
Traits§
- Additional data made available to state machines of a module (e.g. API clients)
- Object-safe version of
State
- Implementors act as state machines that can be executed