| Crates.io | edfsm-machine |
| lib.rs | edfsm-machine |
| version | 0.12.0 |
| created_at | 2024-11-27 08:15:01.226221+00 |
| updated_at | 2025-08-10 22:58:23.952063+00 |
| description | Tasks and Channels for Event Driven Finite State Machines |
| homepage | |
| repository | https://github.com/titanclass/edfsm.git |
| max_upload_size | |
| id | 1462765 |
| size | 69,110 |
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.