Crate wlan_statemachine
source ·Expand description
Generic state machine implementation with compile time checked state transitions.
Modules
Convenience functions for unit testing.
Note: Do ONLY use in tests!
Macros
Defines a state machine’s initial state and its allowed transitions.
Optionally, a state machine enum type can be generated.
Example:
Structs
Wrapper struct for a state S. Use in combination with
StateTransition
.Wrapper to safely replace states of state machine which don’t consume their states.
Use this wrapper if state transitions are performed on mutable references rather than consumed
states.
Example:
Wrapper struct to enforce compile time checked state transitions of one state into another.
Traits
Marker for creating a new initial state.
This trait enforces that only the initial state can be created manually while all others must
be created through a proper state transition.
A
StateTransition
defines valid transitions from one state into another.
Implement StateTransition
on the given State
struct to define a new
state transition. Alternatively, use the convenience macro
statemachine!
.