in scala.actors
trait Actor

abstract trait Actor
extends java.lang.Object
with scala.actors.OutputChannel[scala.Any]
with scala.ScalaObject

This class provides (together with Channel) an implementation of event-based actors.

The main ideas of our approach are explained in the paper
Event-Based Programming without Inversion of Control, Philipp Haller, Martin Odersky Proc. JMLC 2006

Version:
Beta2
Author:
Philipp Haller
Direct Known Subclasses:
ActorProxy

Val Summary
val in : scala.actors.Channel[scala.Any]



Var Summary
var continuation : scala.PartialFunction[scala.Any, scala.Unit]

var detachActor : scala.Function1[scala.PartialFunction[scala.Any, scala.Unit], scala.Unit]

var exitReason : java.lang.String

var kill : scala.Function0[scala.Unit]

var resumeActor : scala.Function0[scala.Unit]

var suspendActor : scala.Function0[scala.Unit]

var suspendActorFor : scala.Function1[scala.Long, scala.Unit]

var timeoutPending : scala.Boolean

var trapExit : scala.Boolean



Def Summary
def ! (msg: scala.Any) : scala.Unit
Sends msg to this actor (asynchronous).
def !? (msg: scala.Any) : scala.Any
Sends msg to this actor and awaits reply (synchronous).
abstract def act : scala.Unit
The behavior of an actor is specified by implementing this abstract method. Note that the preferred way to create actors is through the actor and reactor methods defined in object Actor.
def defaultDetachActor : scala.Function1[scala.PartialFunction[scala.Any, scala.Unit], scala.Unit]

def exit (reason: java.lang.String) : scala.Unit

Terminates execution of self with the following effect on linked actors:

For each linked actor a with trapExit set to true, send message Exit(self, reason) to a.

For each linked actor a with trapExit set to false (default), call a.exit(reason) if !reason.equals("normal").


def exit (from: scala.actors.Actor, reason: java.lang.String) : scala.Unit

def exitLinked : scala.Unit

def exitLinked (reason: java.lang.String) : scala.Unit

def exitLinked (reason: java.lang.String, exitMarks: scala.collection.mutable.HashSet[scala.actors.Actor]) : scala.Unit

def forward (msg: scala.Any) : scala.Unit

def freshReply : scala.Unit

def link (body: => scala.Unit) : scala.actors.Actor
Links self to actor defined by body.
def link (to: scala.actors.Actor) : scala.actors.Actor
Links self to actor to.
def linkTo (to: scala.actors.Actor) : scala.Unit

def popSender : scala.Unit

def pushSender (s: scala.actors.Actor) : scala.Unit

def reply : scala.actors.Channel[scala.Any]

def resetActor : scala.Unit

def scheduleActor (f: scala.PartialFunction[scala.Any, scala.Unit], msg: scala.Any) : scala.Unit

def sender : scala.actors.Actor

def start : scala.Unit
Starts this reactor.
def tick : scala.Unit

def unlink (from: scala.actors.Actor) : scala.Unit
Unlinks self from actor from.
def unlinkFrom (from: scala.actors.Actor) : scala.Unit



Val Detail
val in : scala.actors.Channel[scala.Any]

Var Detail
var continuation : scala.PartialFunction[scala.Any, scala.Unit]

var detachActor : scala.Function1[scala.PartialFunction[scala.Any, scala.Unit], scala.Unit]

var exitReason : java.lang.String

var kill : scala.Function0[scala.Unit]

var resumeActor : scala.Function0[scala.Unit]

var suspendActor : scala.Function0[scala.Unit]

var suspendActorFor : scala.Function1[scala.Long, scala.Unit]

var timeoutPending : scala.Boolean

var trapExit : scala.Boolean

Def Detail
def ! (msg: scala.Any): scala.Unit
Sends msg to this actor (asynchronous).

def !? (msg: scala.Any): scala.Any
Sends msg to this actor and awaits reply (synchronous).

abstract def act : scala.Unit
The behavior of an actor is specified by implementing this abstract method. Note that the preferred way to create actors is through the actor and reactor methods defined in object Actor.

def defaultDetachActor : scala.Function1[scala.PartialFunction[scala.Any, scala.Unit], scala.Unit]

def exit (reason: java.lang.String): scala.Unit

Terminates execution of self with the following effect on linked actors:

For each linked actor a with trapExit set to true, send message Exit(self, reason) to a.

For each linked actor a with trapExit set to false (default), call a.exit(reason) if !reason.equals("normal").


def exit (from: scala.actors.Actor, reason: java.lang.String): scala.Unit

def exitLinked : scala.Unit

def exitLinked (reason: java.lang.String): scala.Unit

def exitLinked (reason: java.lang.String, exitMarks: scala.collection.mutable.HashSet[scala.actors.Actor]): scala.Unit

def forward (msg: scala.Any): scala.Unit

def freshReply : scala.Unit

def link (body: => scala.Unit): scala.actors.Actor
Links self to actor defined by body.

def link (to: scala.actors.Actor): scala.actors.Actor
Links self to actor to.
Parameters:
to - ...
Returns:
...

def linkTo (to: scala.actors.Actor): scala.Unit

def popSender : scala.Unit

def pushSender (s: scala.actors.Actor): scala.Unit

def reply : scala.actors.Channel[scala.Any]

def resetActor : scala.Unit

def scheduleActor (f: scala.PartialFunction[scala.Any, scala.Unit], msg: scala.Any): scala.Unit

def sender : scala.actors.Actor

def start : scala.Unit
Starts this reactor.

def tick : scala.Unit

def unlink (from: scala.actors.Actor): scala.Unit
Unlinks self from actor from.

def unlinkFrom (from: scala.actors.Actor): scala.Unit