akka.actor

LightArrayRevolverScheduler

class LightArrayRevolverScheduler extends Scheduler with Closeable

This scheduler implementation is based on a revolving wheel of buckets, like Netty’s HashedWheelTimer, which it advances at a fixed tick rate and dispatches tasks it finds in the current bucket to their respective ExecutionContexts. The tasks are held in TaskHolders, which upon cancellation null out their reference to the actual task, leaving only this shell to be cleaned up when the wheel reaches that bucket next time. This enables the use of a simple linked list to chain the TaskHolders off the wheel.

Also noteworthy is that this scheduler does not obtain a current time stamp when scheduling single-shot tasks, instead it always rounds up the task delay to a full multiple of the TickDuration. This means that tasks are scheduled possibly one tick later than they could be (if checking that “now() + delay <= nextTick” were done).

Linear Supertypes
Closeable, AutoCloseable, Scheduler, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. LightArrayRevolverScheduler
  2. Closeable
  3. AutoCloseable
  4. Scheduler
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LightArrayRevolverScheduler(config: Config, log: LoggingAdapter, threadFactory: ThreadFactory)

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. val ShutdownTimeout: FiniteDuration

  7. val TickDuration: FiniteDuration

  8. val WheelSize: Int

  9. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  10. def clock(): Long

    Clock implementation is replaceable (for testing); the implementation must return a monotonically increasing series of Long nanoseconds.

    Clock implementation is replaceable (for testing); the implementation must return a monotonically increasing series of Long nanoseconds.

    Attributes
    protected
  11. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def close(): Unit

    Definition Classes
    LightArrayRevolverScheduler → Closeable → AutoCloseable
  13. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  17. def getShutdownTimeout: FiniteDuration

    Overridable for tests

    Overridable for tests

    Attributes
    protected
  18. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  19. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  20. val maxFrequency: Double

    The maximum supported task frequency of this scheduler, i.

    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.

    Definition Classes
    LightArrayRevolverSchedulerScheduler
  21. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  24. def schedule(initialDelay: FiniteDuration, delay: FiniteDuration, runnable: Runnable)(implicit executor: ExecutionContext): Cancellable

    Schedules a function to be run repeatedly with an initial delay and a frequency.

    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

    Definition Classes
    LightArrayRevolverSchedulerScheduler
  25. final def schedule(initialDelay: FiniteDuration, interval: FiniteDuration)(f: ⇒ Unit)(implicit executor: ExecutionContext): Cancellable

    Schedules a function to be run repeatedly with an initial delay and a frequency.

    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

    Definition Classes
    Scheduler
  26. final def schedule(initialDelay: FiniteDuration, interval: FiniteDuration, receiver: ActorRef, message: Any)(implicit executor: ExecutionContext, sender: ActorRef = Actor.noSender): Cancellable

    Schedules a message to be sent repeatedly with an initial delay and frequency.

    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

    Definition Classes
    Scheduler
  27. def scheduleOnce(delay: FiniteDuration, runnable: Runnable)(implicit executor: ExecutionContext): Cancellable

    Schedules a Runnable to be run once with a delay, i.

    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

    Definition Classes
    LightArrayRevolverSchedulerScheduler
  28. final def scheduleOnce(delay: FiniteDuration)(f: ⇒ Unit)(implicit executor: ExecutionContext): Cancellable

    Schedules a function to be run once with a delay, i.

    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

    Definition Classes
    Scheduler
  29. final def scheduleOnce(delay: FiniteDuration, receiver: ActorRef, message: Any)(implicit executor: ExecutionContext, sender: ActorRef = Actor.noSender): Cancellable

    Schedules a message to be sent once with a delay, i.

    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

    Definition Classes
    Scheduler
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  31. def toString(): String

    Definition Classes
    AnyRef → Any
  32. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. def waitNanos(nanos: Long): Unit

    Overridable for tests

    Overridable for tests

    Attributes
    protected

Inherited from Closeable

Inherited from AutoCloseable

Inherited from Scheduler

Inherited from AnyRef

Inherited from Any

Ungrouped