akka.actor
Class DefaultScheduler

java.lang.Object
  extended by akka.actor.DefaultScheduler
All Implemented Interfaces:
Scheduler, java.io.Closeable

public class DefaultScheduler
extends java.lang.Object
implements Scheduler, java.io.Closeable

A scheduler implementation based on a HashedWheelTimer.

The HashedWheelTimer used by this class MUST throw an IllegalStateException if it does not enqueue a task. Once a task is queued, it MUST be executed or returned from stop().


Constructor Summary
DefaultScheduler(HashedWheelTimer hashedWheelTimer, LoggingAdapter log)
           
 
Method Summary
 void close()
           
 Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay, scala.concurrent.duration.FiniteDuration delay, ActorRef receiver, java.lang.Object message, scala.concurrent.ExecutionContext executor)
          Schedules a message to be sent repeatedly with an initial delay and frequency.
 Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay, scala.concurrent.duration.FiniteDuration delay, scala.Function0<scala.runtime.BoxedUnit> f, scala.concurrent.ExecutionContext executor)
          Schedules a function to be run repeatedly with an initial delay and a frequency.
 Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay, scala.concurrent.duration.FiniteDuration delay, java.lang.Runnable runnable, scala.concurrent.ExecutionContext executor)
          Schedules a function to be run repeatedly with an initial delay and a frequency.
 Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay, ActorRef receiver, java.lang.Object message, scala.concurrent.ExecutionContext executor)
          Schedules a message to be sent once with a delay, i.e. a time period that has to pass before the message is sent.
 Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay, scala.Function0<scala.runtime.BoxedUnit> f, scala.concurrent.ExecutionContext executor)
          Schedules a function to be run once with a delay, i.e. a time period that has to pass before the function is run.
 Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay, java.lang.Runnable runnable, scala.concurrent.ExecutionContext executor)
          Schedules a Runnable to be run once with a delay, i.e. a time period that has to pass before the runnable is executed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultScheduler

public DefaultScheduler(HashedWheelTimer hashedWheelTimer,
                        LoggingAdapter log)
Method Detail

schedule

public Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay,
                            scala.concurrent.duration.FiniteDuration delay,
                            ActorRef receiver,
                            java.lang.Object message,
                            scala.concurrent.ExecutionContext executor)
Description copied from interface: Scheduler
Schedules a message to be sent repeatedly with an initial delay and frequency. E.g. if you would like a message to be sent immediately and thereafter every 500ms you would set delay=Duration.Zero and interval=Duration(500, TimeUnit.MILLISECONDS)

Java & Scala API

Specified by:
schedule in interface Scheduler

schedule

public Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay,
                            scala.concurrent.duration.FiniteDuration delay,
                            scala.Function0<scala.runtime.BoxedUnit> f,
                            scala.concurrent.ExecutionContext executor)
Description copied from interface: Scheduler
Schedules a function to be run repeatedly with an initial delay and a frequency. E.g. if you would like the function to be run after 2 seconds and thereafter every 100ms you would set delay = Duration(2, TimeUnit.SECONDS) and interval = Duration(100, TimeUnit.MILLISECONDS)

Scala API

Specified by:
schedule in interface Scheduler

schedule

public Cancellable schedule(scala.concurrent.duration.FiniteDuration initialDelay,
                            scala.concurrent.duration.FiniteDuration delay,
                            java.lang.Runnable runnable,
                            scala.concurrent.ExecutionContext executor)
Description copied from interface: Scheduler
Schedules a function to be run repeatedly with an initial delay and a frequency. E.g. if you would like the function to be run after 2 seconds and thereafter every 100ms you would set delay = Duration(2, TimeUnit.SECONDS) and interval = Duration(100, TimeUnit.MILLISECONDS)

Java API

Specified by:
schedule in interface Scheduler

scheduleOnce

public Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay,
                                java.lang.Runnable runnable,
                                scala.concurrent.ExecutionContext executor)
Description copied from interface: Scheduler
Schedules a Runnable to be run once with a delay, i.e. a time period that has to pass before the runnable is executed.

Java & Scala API

Specified by:
scheduleOnce in interface Scheduler

scheduleOnce

public Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay,
                                ActorRef receiver,
                                java.lang.Object message,
                                scala.concurrent.ExecutionContext executor)
Description copied from interface: Scheduler
Schedules a message to be sent once with a delay, i.e. a time period that has to pass before the message is sent.

Java & Scala API

Specified by:
scheduleOnce in interface Scheduler

scheduleOnce

public Cancellable scheduleOnce(scala.concurrent.duration.FiniteDuration delay,
                                scala.Function0<scala.runtime.BoxedUnit> f,
                                scala.concurrent.ExecutionContext executor)
Description copied from interface: Scheduler
Schedules a function to be run once with a delay, i.e. a time period that has to pass before the function is run.

Scala API

Specified by:
scheduleOnce in interface Scheduler

close

public void close()
Specified by:
close in interface java.io.Closeable