Class DeterministicTaskQueue
java.lang.Object
org.elasticsearch.cluster.coordination.DeterministicTaskQueue
public class DeterministicTaskQueue
extends java.lang.Object
-
Constructor Summary
Constructors Constructor Description DeterministicTaskQueue(org.elasticsearch.common.settings.Settings settings, java.util.Random random) -
Method Summary
Modifier and Type Method Description voidadvanceTime()Advance the current time to the time of the next deferred task, and update the sets of deferred and runnable tasks accordingly.longgetCurrentTimeMillis()longgetExecutionDelayVariabilityMillis()longgetLatestDeferredExecutionTime()org.elasticsearch.threadpool.ThreadPoolgetThreadPool()org.elasticsearch.threadpool.ThreadPoolgetThreadPool(java.util.function.Function<java.lang.Runnable,java.lang.Runnable> runnableWrapper)booleanhasDeferredTasks()booleanhasRunnableTasks()voidrunAllRunnableTasks()voidrunAllTasks()voidrunAllTasksInTimeOrder()voidrunRandomTask()Runs an arbitrary runnable task.voidscheduleAt(long executionTimeMillis, java.lang.Runnable task)Schedule a task for future execution.voidscheduleNow(java.lang.Runnable task)Schedule a task for immediate execution.voidsetExecutionDelayVariabilityMillis(long executionDelayVariabilityMillis)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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
ThreadPoolthat uses this task queue.
-
getThreadPool
public org.elasticsearch.threadpool.ThreadPool getThreadPool(java.util.function.Function<java.lang.Runnable,java.lang.Runnable> runnableWrapper)- Returns:
- A
ThreadPoolthat uses this task queue and wrapsRunnables in the given wrapper.
-
getLatestDeferredExecutionTime
public long getLatestDeferredExecutionTime()
-