Crate syndicate

source ·
Expand description

This crate implements the Syndicated Actor model for Rust, including

  • intra-process communication (the actor module),
  • point-to-point links between actor spaces (the relay module),
  • and Dataspace objects (the dataspace module) for replicating state and messages among interested parties.

Modules

The actor module is the core of the Syndicated Actor model implementation.
A “bag” data structure (based on BTreeMap), used in dataspace indexing.
Implements a dataspace entity.
Actor errors.
The implementation of capability attenuation: filtering and rewriting of assertions and messages.
Auto-generated codecs for Syndicate protocol schemas.
High-speed index over a set of assertions and a set of Observers of those assertions.
Extremely simple single-actor supervision. Vastly simplified compared to the available options in Erlang/OTP.
Records describing actions committed at the end of a turn and events triggering the start of a turn. These are not the actions or events themselves: they are reflective information on the action of the system, enough to reconstruct interesting projections of system activity.

Macros

A convenient way of cloning a bunch of state shared among entities, actions, linked tasks, etc.

Structs

Functions

Sets up tracing logging in a reasonable way.
Retrieve the version of the Syndicate crate.