free-agent 0.1.0

Episodes in which actors talk to each other by statement, request, and reply
Documentation

Free Agent

CI codecov

Episodes in which actors talk to each other by statement, request, and reply.

An episode brings a set of actors into being together, decides which of them can reach which, and runs them on the Tokio runtime until every one of them has stopped. An actor is one in the sense of the actor model: it keeps its own state, takes messages from a mailbox one at a time, and reaches other actors only by sending them messages. Here it is a [Behavior] driven by a mailbox: the behavior handles statements with receive and requests with answer, and its [Context] is how it reaches the rest of the episode, to send statements, to request and await replies, to stop other actors, and to log. A typical episode has one environment actor and several agent actors.

The library lives at the root of the repository and the applications built on it under apps/. For games built on this, see social-deduction.

Development

cargo test                                   # unit tests and doctests
cargo doc --no-deps --open                   # the API docs
cargo fmt --check                            # what CI checks, besides the above
cargo clippy --all-targets -- -D warnings
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps
cargo llvm-cov --workspace                   # test coverage, which CI reports to Codecov