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