scala

# actors

#### package actors

A library that provides both asynchronous and synchronous messaging to allow for concurrent programming without explicit synchronization.

#### Guide

A detailed guide for the actors library is available http://www.scala-lang.org/docu/files/actors-api/actors_api_guide.html#.

#### Getting Started

A starting point for using the actors library would be Reactor, ReplyReactor, or Actor or their companion objects.

Visibility

1. Public
2. All

### Type Members

1. #### case class ! [a] (ch: Channel[a], msg: a) extends Product with Serializable

   Used to pattern match on values that were sent to some channel `Chann` by the current actor `self`.

2. #### trait AbstractActor extends OutputChannel[Any] with CanReply[Any, Any]

3. #### trait Actor extends AbstractActor with ReplyReactor with ActorCanReply with InputChannel[Any] with Serializable

   Provides lightweight, concurrent actors.

4. #### trait CanReply [-T, +R] extends AnyRef

   Defines result-bearing message send operations.

5. #### class Channel [Msg] extends InputChannel[Msg] with OutputChannel[Msg] with CanReply[Msg, Any]

   Provides a means for typed communication among actors.

6. #### trait DaemonActor extends Actor

   Base trait for actors with daemon semantics.

7. #### case class Exit (from: AbstractActor, reason: AnyRef) extends Product with Serializable

   Sent to an actor with `trapExit` set to `true` whenever one of its linked actors terminates.

8. #### class Future [+T] extends Responder[T] with () ⇒ T

   A function of arity 0, returing a value of type `T` that, when applied, blocks the current actor (`Actor.self`) until the future's value is available.

9. #### trait IScheduler extends AnyRef

   A common interface for all schedulers used to execute actor tasks.

10. #### trait InputChannel [+Msg] extends AnyRef

    A common interface for all channels from which values can be received.

11. #### trait OutputChannel [-Msg] extends AnyRef

    A common interface for all channels to which values can be sent.

12. #### trait Reactor [Msg >: Null] extends OutputChannel[Msg] with Combinators

    Super trait of all actor traits.

13. #### trait ReplyReactor extends Reactor[Any] with ReactorCanReply

    Extends the Reactor trait with methods to reply to the sender of a message.

14. #### trait SchedulerAdapter extends IScheduler

    Adapts the behavior of the standard scala.actors.Scheduler object.

15. #### case class UncaughtException (actor: Actor, message: Option[Any], sender: Option[OutputChannel[Any]], thread: Thread, cause: Throwable) extends Exception with Product with Serializable

    The exit reason when an actor fails to catch an exception.

16. #### class Debug extends Logger

    Annotations
      @deprecated
    Deprecated

      this class is going to be removed in a future release

17. #### type FJTaskScheduler2 = ForkJoinScheduler

    Definition Classes
      package
    Annotations
      @deprecated
    Deprecated

      use scheduler.ForkJoinScheduler instead

18. #### class MessageQueue extends MQueue[Any] with Serializable

    The class `MessageQueue` provides an efficient implementation of a message queue specialized for this actor library.

19. #### class MessageQueueElement extends MQueueElement[Any] with Serializable

    This class is used by our efficient message queue implementation.

20. #### class Reaction extends ActorTask

    The abstract class `Reaction` associates an instance of an `Actor` with a `java.lang.Runnable`.

21. #### type SingleThreadedScheduler = SingleThreadedScheduler

    Definition Classes
      package
    Annotations
      @deprecated
    Deprecated

      use scheduler.SingleThreadedScheduler instead

22. #### type TickedScheduler = ForkJoinScheduler

    Definition Classes
      package
    Annotations
      @deprecated
    Deprecated

      use scheduler.ForkJoinScheduler instead

23. #### type WorkerThread = Thread

    Definition Classes
      package
    Annotations
      @deprecated
    Deprecated

      this class is going to be removed in a future release

24. #### type WorkerThreadScheduler = ForkJoinScheduler

    Definition Classes
      package
    Annotations
      @deprecated
    Deprecated

      use scheduler.ForkJoinScheduler instead

### Value Members

1. #### object Actor extends Combinators with Serializable

   Provides functions for the definition of actors, as well as actor operations, such as `receive`, `react`, `reply`, etc.

2. #### object Debug extends Logger

   Provides methods for generating debugging output.

3. #### object Futures extends AnyRef

   Methods that operate on futures.

4. #### object Scheduler extends DelegatingScheduler

   Used by Actor instances to execute tasks of an actor execution.

5. #### object TIMEOUT extends Product with Serializable

   Used as the timeout pattern in `receiveWithin` and `reactWithin`.

6. #### package remote

7. #### package scheduler

### Deprecated Value Members

1. #### val ActorGC : IScheduler with ActorGC

   Definition Classes
     package
   Annotations
     @deprecated
   Deprecated

     this value is going to be removed in a future release