Expand description

Event driven Finite State Machines process commands (possibly created by other events), performing some side effect, and emitting events. Commands are processed against a provided state. Events can be applied to states to yield new states.

For more background on Event-driven Finite State Machines.

Traits

Describes the behavior of a Finite State Machine (FSM) that can receive commands and produce events. Along the way, effects can be performed given the receipt of a command. State can be reconsituted by replaying events.

Attribute Macros

Provides a DSL that conveniently implements the FSM trait. States, Commands and Events are all required to be implemented both as structs and enums.