[][src]Module maxim::actors

Implements actors and related types of Maxim.

These are the core components that make up the features of Maxim. The actor model is designed to allow the user maximum flexibility. The actors can skip messages if they choose, enabling them to work as a finite state machine without having to move messages around. Actors are created by calling system::spawn().with() with any kind of function or closure that implements the Processor trait.

Structs

ActorBuilder

A builder that can be used to create and spawn an actor. To get a builder, the user would ask the actor system to create one using system.spawn() and then to spawn the actor by means of the the with method on the builder. See ActorSystem::spawn for more information.

ActorPoolBuilder

A builder than can be used to spawn an actor pool.Uniform

Aid

Encapsulates an Actor ID and is used to send messages to the actor.

Context

A context that is passed to the processor to give immutable access to elements of the actor system to the implementor of an actor's processor.

RandomAidPool

An AidPool that sends messages to a random Aid in the pool.

Enums

AidError

Errors returned by the Aid

Status

Status of the message and potentially the actor as a resulting from processing a message with the actor.

Traits

AidPool

Represents a pool of actor ids in which you don't care which actor recieves a message.

Processor

A type for a function that processes messages for an actor.

SyncAidPool

A helper trait that is simply an AidPool that can be passed between actors, i.e. it is Sync + Send + Clone + 'static. This is useful when you want to make a function generic over AidPool but you need to be able to give the poool to actor.