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 void
advanceTime()
Advance the current time to the time of the next deferred task, and update the sets of deferred and runnable tasks accordingly.long
getCurrentTimeMillis()
long
getExecutionDelayVariabilityMillis()
long
getLatestDeferredExecutionTime()
org.elasticsearch.threadpool.ThreadPool
getThreadPool()
org.elasticsearch.threadpool.ThreadPool
getThreadPool(java.util.function.Function<java.lang.Runnable,java.lang.Runnable> runnableWrapper)
boolean
hasDeferredTasks()
boolean
hasRunnableTasks()
void
runAllRunnableTasks()
void
runAllTasks()
void
runAllTasksInTimeOrder()
void
runRandomTask()
Runs an arbitrary runnable task.void
scheduleAt(long executionTimeMillis, java.lang.Runnable task)
Schedule a task for future execution.void
scheduleNow(java.lang.Runnable task)
Schedule a task for immediate execution.void
setExecutionDelayVariabilityMillis(long executionDelayVariabilityMillis)
-
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 wrapsRunnable
s in the given wrapper.
-
getLatestDeferredExecutionTime
public long getLatestDeferredExecutionTime()
-