edfsm-machine

Crates.ioedfsm-machine
lib.rsedfsm-machine
version0.12.0
created_at2024-11-27 08:15:01.226221+00
updated_at2025-08-10 22:58:23.952063+00
descriptionTasks and Channels for Event Driven Finite State Machines
homepage
repositoryhttps://github.com/titanclass/edfsm.git
max_upload_size
id1462765
size69,110
Christopher Hunt (huntc)

documentation

README

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.

This library assumes no_std and requires features such as tokio to make it useful.

Commit count: 56

cargo fmt