The actor protocol can be described as a series of messaging patterns. For every predefined message an actor executes a predefined
onmessage method. Here is an overview:
|Message pattern||brief description|
|Tell an actor to change its behavior.|
|Call an actor to execute its behavior and to respond with the result.|
|Call an actor to respond with diagnostic information.|
|A message to a monitor actor signaling an exit or a failure.|
|A message causing an actor to exit.|
|Call an actor to execute a function and to respond with the result.|
|Tell an actor to execute an initialization function and to store it in its internal state.|
|Call an actor to send a status variable/value.|
|This triggers the actor's default response to execute its behavior.|
|Tell an actor to execute a given behavior upon termination.|
There are messages for bidirectional and unidirectional communication (the latter for actor control without response).
Actors' user API functions provide an interface to those message patterns.
Actors protocol can be enhanced or altered by
- introducing new messages and
- switching the actor mode and writing new
onmessagemethods for existing messages
- or both.