Scala 2.8.0.Beta1-RC2 API

This document is the API specification for Scala Library

Class Summary
case class ! [a](val ch : Channel[a], val msg : a) extends Product
trait AbstractActor extends OutputChannel[Any] with Replyable[Any, Any]
The AbstractActor trait.
trait AbstractReactor [-T] extends AnyRef
The AbstractReactor trait.
trait Actor extends AbstractActor with ReplyReactor with scala.actors.ReplyableActor
trait ActorGC extends TerminationMonitor
ActorGC keeps track of the number of live actors being managed by a a scheduler so that it can shutdown when all of the actors it manages have either been explicitly terminated or garbage collected. When an actor is started, it is registered with the ActorGC via the newActor method, and when an actor is knowingly terminated (e.g. act method finishes, exit explicitly called, an exception is thrown), the ActorGC is informed via the terminated method.
class Channel [Msg](val receiver : Actor) extends InputChannel[Msg] with OutputChannel[Msg] with AnyRef
This class provides a means for typed communication among actors. Only the actor creating an instance of a Channel may receive from it.
trait DaemonActor extends Actor
Base trait for actors with daemon semantics. Unlike a regular Actor, an active DaemonActor will not prevent an application terminating, much like a daemon thread.
class Debug (tag : java.lang.String) extends AnyRef
case class Exit (val from : AbstractActor, val reason : AnyRef) extends Product
abstract class Future [+T](val inputChannel : InputChannel[T]) extends Responder[T] with () => T
trait IScheduler extends AnyRef
The IScheduler trait provides a common interface for all schedulers used to execute actor tasks. Subclasses of Actor that override its scheduler member must provide an IScheduler implementation.
trait InputChannel [+Msg] extends AnyRef
The InputChannel trait provides a common interface for all channels from which values can be received.
class MessageQueue (protected val label : java.lang.String) extends AnyRef
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.
class MessageQueueElement (val msg : Any, val session : OutputChannel[Any], val next : MessageQueueElement) extends AnyRef
This class is used by our efficient message queue implementation.
trait OutputChannel [-Msg] extends AbstractReactor[Msg]
The OutputChannel trait provides a common interface for all channels to which values can be sent.
class Reaction (a : Actor, f : PartialFunction[Any, Unit], msg : Any) extends scala.actors.ActorTask
trait Reactor extends OutputChannel[Any] with AnyRef
The Reactor trait provides lightweight actors.
trait ReplyReactor extends Reactor with scala.actors.ReplyableReactor
trait Replyable [-T, +R] extends AnyRef
The Replyable trait defines result-bearing message send operations on replyable actors.
trait SchedulerAdapter extends IScheduler
The SchedulerAdapter trait is used to adapt the behavior of the standard Scheduler object. Providing an implementation for the execute(f: => Unit) method is sufficient to obtain a concrete IScheduler implementation.
Object Summary
object ! extends AnyRef
object Actor extends AnyRef
The Actor object provides functions for the definition of actors, as well as actor operations, such as receive, react, reply, etc.
object Debug extends AnyRef
object Exit extends (AbstractActor, AnyRef) => Exit
object Futures extends AnyRef
The Futures object contains methods that operate on Futures.
object MessageQueueTracer extends AnyRef
object Scheduler extends scala.actors.scheduler.DelegatingScheduler
The Scheduler object is used by Actor to execute tasks of an execution of an actor.
case object TIMEOUT extends Product
object package extends AnyRef