This document is the API specification for Scala 2.
Class Summary | |
class
ActorProxy
The class ActorProxy provides a dynamic actor proxy for normal
Java threads.
|
|
class
Channel
[Msg]
This class provides a means for typed communication among actors. Only the actor creating an instance of a Channel may receive from it.
|
|
class
Debug
|
|
case
|
class
Exit
Messages of this type are sent to each actor a
that is linked to an actor b whenever
b terminates and a has
trapExit set to true .
|
class
MessageQueue
[Msg]
The class MessageQueue provides an efficient
implementation of a message queue specialized for this actor
library. Classes in this package are supposed to be the only
clients of this class.
|
|
abstract
|
class
MessageQueueResult
[Msg]
This class is used by our efficient message queue implementation. |
class
QuitException
The QuickException class ...
|
|
class
Reaction
The abstract class Reaction associates
an instance of an Actor with a
java.lang.Runnable .
|
|
case
|
class
Request
[a]
|
class
SingleThreadedScheduler
This scheduler executes the tasks of a reactor on a single thread (the current thread). |
|
abstract
|
class
SpareWorkerScheduler
This scheduler creates additional threads whenever there is no idle thread available. |
class
SuspendActorException
|
|
class
TickedScheduler
The class TickedScheduler ...
|
|
class
WorkerThread
The class !!ACHTUNG: If you change this, make sure you understand the following proof of deadlock-freedom!!
We proof that there is no deadlock between the scheduler and
any worker thread possible. For this, note that the scheduler
only acquires the lock of a worker thread by calling
Thus, deadlock can only occur when a worker thread calls
Therefore, to prove deadlock-freedom, it suffices to ensure
that a worker thread will never call
A worker thread enters the idle queue of the scheduler when
|
Trait Summary | |
abstract
|
trait
Actor
This class provides (together with
The main ideas of our approach are explained in the paper |
abstract
|
trait
IScheduler
This abstract class provides a common interface for all schedulers used to execute reactors. |
abstract
|
trait
InputChannel
[Msg]
The trait InputChannel ...
|
abstract
|
trait
OutputChannel
[Msg]
The trait OutputChannel ...
|
Object Summary | |
object
Actor
The Actor object provides functions for the definition of
actors, as well as all actor operations, such as
receive , react , reply ,
etc.
|
|
object
Debug
|
|
object
Scheduler
The Scheduler object is used by
Actor to execute tasks of an execution of a
reactor.
|
|
case
|
object
TIMEOUT
|
object
TimerThread
This class allows the (local) sending of a message to an actor after a timeout. Used by the library to build receiveWithin(time: long) .
Note that the library deletes non-received TIMEOUT message if a
message is received before the time-out occurs.
|