5 unstable releases

new 0.10.1 Feb 19, 2025
0.10.0 Feb 6, 2025
0.9.0 Jan 4, 2025
0.8.1 Dec 5, 2024
0.8.0 Nov 27, 2024

#2302 in Algorithms

Download history 148/week @ 2024-11-27 172/week @ 2024-12-04 20/week @ 2024-12-11 161/week @ 2025-01-01 22/week @ 2025-01-08 163/week @ 2025-02-05

164 downloads per month
Used in edfsm-kv-store

Apache-2.0

44KB
735 lines

Event driven FSM Machine

edfsm-machine effectively implements the Actor Model for Rust, where its messages are the inputs, events and outputs.

edfsm-machine provides a convenient way to drive an edfsm-based finite state machine with inputs (commands and events), and a means to capture its resulting events and "outputs". Outputs are the consequence of invoking edfsm's side-effect handling, and usually means capturing an output buffer of effects.

Upon initialising the machine and wiring up inputs, event logs and outputs, a future is produced that can be spawned by executors such as those provided by tokio.

Taking this further, a machine's inputs can be conveniently sourced from a streambed-logged log of events that have been persisted, and logged back there. These adaptations provides an event-sourcing-based Actor Model.

Dependencies

~4–11MB
~116K SLoC