Crates.io | edfsm-machine |
lib.rs | edfsm-machine |
version | |
source | src |
created_at | 2024-11-27 08:15:01.226221 |
updated_at | 2024-12-05 04:03:35.564936 |
description | Tasks and Channels for Event Driven Finite State Machines |
homepage | |
repository | https://github.com/titanclass/edfsm.git |
max_upload_size | |
id | 1462765 |
Cargo.toml error: | TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
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.