Expand description
An actor framework geared towards BFT ordering libraries with support for deterministic simulation testing. It also allows writing a generic overall system construction logic independent from the specific actor system used. Every actor is managed by a single actor system but can interact with actors managed by other actor systems.
No async signatures are used in the public API in order to support single-threaded simulation testing without relying on async runtimes. Actors should not assume anything about the thread they are running on, nor use any async runtime. They must rely on special functions to execute thread-blocking and async tasks.
Modules§
- erased
- Erased versions
Structs§
Enums§
Traits§
- Actor
Msg - Actor
Ref - An
ActorRefcan asynchronously send messages to the underlying actor, optionally with a delay, change the actor handler, spawn an async self-send, spawn a thread-blocking self-send and it can be cloned. Actor implementations can useActorRefs to send messages to themselves and to other actors. - Actor
System Handle - An
ActorSystemHandleallows spawning actors by creating anActorRefand it can be cloned. Actors themselves can useActorSystemHandles to spawn new actors. - Joinable
- A
Joinablecan be awaited for completion in a thread-blocking fashion. Specific types ofActorRefandActorSystemHandlecan be joined to wait for their completion. - P2PNetwork
Client - A
P2PNetworkClientallows sending messages to other nodes in a P2P network. - Task
- A
Taskcan be queried for completion. - Typed
MsgHandler - A
TypedMsgHandleris an actor behavior that can handle messages of a specific type and optionally return anActorControlmessage. - Untyped
MsgHandler - An
UntypedMsgHandleris an actor handler that can receive messages of any type, although it may refuse to handle some of them.