Module actor

Source
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§

MessageNotSupported

Enums§

ActorControl
P2PNetworkError

Traits§

ActorMsg
ActorRef
An ActorRef can 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 use ActorRefs to send messages to themselves and to other actors.
ActorSystemHandle
An ActorSystemHandle allows spawning actors by creating an ActorRef and it can be cloned. Actors themselves can use ActorSystemHandles to spawn new actors.
Joinable
A Joinable can be awaited for completion in a thread-blocking fashion. Specific types of ActorRef and ActorSystemHandle can be joined to wait for their completion.
P2PNetworkClient
A P2PNetworkClient allows sending messages to other nodes in a P2P network.
Task
A Task can be queried for completion.
TypedMsgHandler
A TypedMsgHandler is an actor behavior that can handle messages of a specific type and optionally return an ActorControl message.
UntypedMsgHandler
An UntypedMsgHandler is an actor handler that can receive messages of any type, although it may refuse to handle some of them.

Type Aliases§

AnActorMsg
DynMsgHandler
P2PNetworkResult
UntypedHandlerBox