Expand description

This library provides an implementation of the actor model. The goal of this library is to enable users to create actors, which can dynamically change their behavior during runtime. This is achieved by internally working with trait objects and the Any trait. Further a testing framework is supplied which can be used to generate test actors in an easy and typesafe way. For examples check out the provided examples in the repository of the library.

Modules

This module contains all data structures for creating and using actors and their respective functionality. All actors consist of an inital state and behavior. Example:

This module contains all data structures which are relevant for using ActorSystem.

A behavior is used to describe how an actor behaves on specific system events and how and which type of messages can be handled.

This module contains structs and traits which are relevant for using and creating supervision strategies. All actors can be spawned with a given supervision strategy:

The functions and structs contained within this module can be used to test the behavior of an actor in a sequential way.

Structs

Represents the address of an Actor. Each Actor has exactly one Addr through which other Actor’s can communicate with it.

All types of messages which are sent from and to Actor’s are internally stored as Message. The only requirements for a type to be qualified as a message is that it implements Any and Send. The message data is owned by this type and, if not explicitly stored by the receiving Actor, dropped after handling the message.