3 unstable releases

new 0.9.0 Jan 4, 2025
0.8.1 Dec 5, 2024
0.8.0 Nov 27, 2024

#1545 in Algorithms

Download history 148/week @ 2024-11-27 172/week @ 2024-12-04 20/week @ 2024-12-11

192 downloads per month
Used in edfsm-kv-store

Apache-2.0

44KB
743 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

~2.8–9.5MB
~94K SLoC