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(com.typesafe.config.Config config, LoggingAdapter log, java.util.concurrent.ThreadFactory threadFactory)
           
 
Method Summary
 void close()
           
 double maxFrequency()
          The maximum supported task frequency of this scheduler, i.e.
 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, java.lang.Runnable runnable, scala.concurrent.ExecutionContext executor)
          Schedules a Runnable to be run once with a delay, i.e.
 scala.concurrent.duration.FiniteDuration TickDuration()
           
 int TicksPerWheel()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface akka.actor.Scheduler
schedule, schedule, scheduleOnce, scheduleOnce
 

Constructor Detail

DefaultScheduler

public DefaultScheduler(com.typesafe.config.Config config,
                        LoggingAdapter log,
                        java.util.concurrent.ThreadFactory threadFactory)
Method Detail

TicksPerWheel

public int TicksPerWheel()

TickDuration

public scala.concurrent.duration.FiniteDuration TickDuration()

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

close

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

maxFrequency

public double maxFrequency()
Description copied from interface: Scheduler
The maximum supported task frequency of this scheduler, i.e. the inverse of the minimum time interval between executions of a recurring task, in Hz.

Specified by:
maxFrequency in interface Scheduler