fedimint_client

Module sm

Source
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
util

Structs§

ActiveStateKeyBytes
ActiveStateKeyPrefix
ActiveStateMeta
ClientSMDatabaseTransaction
A transaction that acts as isolated for module code but can be accessed as a normal transaction in this crate.
DynContext
A shared context for a module client state machine
DynState
A type-erased state of a state machine belonging to a module instance, see State
Executor
Executor that drives forward state machines under its management.
ExecutorBuilder
Builder to which module clients can be attached and used to build an Executor supporting these.
InactiveStateKeyBytes
InactiveStateKeyPrefix
InactiveStateMeta
ModuleNotifier
State transition notifier for a specific module instance that can only subscribe to transitions belonging to that module
Notifier
State transition notifier owned by the modularized client used to inform modules of state transitions.
NotifierSender
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.
OperationState
StateTransition
Represents one or multiple possible state transitions triggered in a common way

Traits§

Context
Additional data made available to state machines of a module (e.g. API clients)
IState
Object-safe version of State
State
Implementors act as state machines that can be executed