my.actor

Modules

actor
module my.actor.actor
mbox
module my.actor.mbox
typed
module my.actor.typed

Members

Aliases

RcActorInfo
alias RcActorInfo = RefCounted!ActorInfo
Undocumented in source.

Classes

ActorException
class ActorException
Undocumented in source.

Enums

ActorState
enum ActorState
Undocumented in source.
SpawnMode
enum SpawnMode

Configure how an actor, when spawned, will be executed.

SystemMsgType
enum SystemMsgType
Undocumented in source.

Functions

delayedSend
void delayedSend(Aid from, Aid to, Duration delay, T params)

Send a delayed message msg to actor aid.

delayedSend
void delayedSend(Aid from, Aid to, SysTime delay, T params)

Delay the message being processed until delay.

makeActorSystem
RefCounted!ActorSystem makeActorSystem()
Undocumented in source. Be warned that the author may not have intended to support it.
send
void send(Aid from, Aid to, T params)

Send a message msg to actor aid.

thisActorSystem
ActorSystem thisActorSystem()
Undocumented in source. Be warned that the author may not have intended to support it.
thisAid
Aid thisAid()

Currently active actor..

Structs

ActorInfo
struct ActorInfo

Encapsulates all implementation-level data needed for scheduling.

ActorSystem
struct ActorSystem
Undocumented in source.
Aid
struct Aid

Actor ID

Meta

Authors

Joakim Brännström (joakim.brannstrom@gmx.com)

A simple, featureless actor framework. It allows you to write an async application using the actor pattern. It is suitable for applications that need async:ness but not the highest achievable performance.

It is modelled after C++ Actor Framework which I have used and am very happy with how my applications turned out. Credit to Dominik Charousset, author of CAF.

Most of the code is copied from Phobos std.concurrency.

A thread executes one actor at a time. The actor ID of the current actor is accessible via thisAid().