Class DeterministicTaskQueue

java.lang.Object
org.elasticsearch.cluster.coordination.DeterministicTaskQueue

public class DeterministicTaskQueue
extends java.lang.Object
  • Constructor Details

    • DeterministicTaskQueue

      public DeterministicTaskQueue​(org.elasticsearch.common.settings.Settings settings, java.util.Random random)
  • Method Details

    • getExecutionDelayVariabilityMillis

      public long getExecutionDelayVariabilityMillis()
    • setExecutionDelayVariabilityMillis

      public void setExecutionDelayVariabilityMillis​(long executionDelayVariabilityMillis)
    • runAllRunnableTasks

      public void runAllRunnableTasks()
    • runAllTasks

      public void runAllTasks()
    • runAllTasksInTimeOrder

      public void runAllTasksInTimeOrder()
    • hasRunnableTasks

      public boolean hasRunnableTasks()
      Returns:
      whether there are any runnable tasks.
    • hasDeferredTasks

      public boolean hasDeferredTasks()
      Returns:
      whether there are any deferred tasks, i.e. tasks that are scheduled for the future.
    • getCurrentTimeMillis

      public long getCurrentTimeMillis()
      Returns:
      the current (simulated) time, in milliseconds.
    • runRandomTask

      public void runRandomTask()
      Runs an arbitrary runnable task.
    • scheduleNow

      public void scheduleNow​(java.lang.Runnable task)
      Schedule a task for immediate execution.
    • scheduleAt

      public void scheduleAt​(long executionTimeMillis, java.lang.Runnable task)
      Schedule a task for future execution.
    • advanceTime

      public void advanceTime()
      Advance the current time to the time of the next deferred task, and update the sets of deferred and runnable tasks accordingly.
    • getThreadPool

      public org.elasticsearch.threadpool.ThreadPool getThreadPool()
      Returns:
      A ThreadPool that uses this task queue.
    • getThreadPool

      public org.elasticsearch.threadpool.ThreadPool getThreadPool​(java.util.function.Function<java.lang.Runnable,​java.lang.Runnable> runnableWrapper)
      Returns:
      A ThreadPool that uses this task queue and wraps Runnables in the given wrapper.
    • getLatestDeferredExecutionTime

      public long getLatestDeferredExecutionTime()