Class DeterministicTaskQueue


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

      • DeterministicTaskQueue

        public DeterministicTaskQueue​(Settings settings,
                                      java.util.Random random)
    • Method Detail

      • 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.
      • getExecutorService

        public java.util.concurrent.ExecutorService getExecutorService()
        Returns:
        A ExecutorService that uses this task queue.
      • getExecutorService

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

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

        public 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()