Package io.deephaven.server.util
Class Scheduler.DelegatingImpl
java.lang.Object
io.deephaven.server.util.Scheduler.DelegatingImpl
- All Implemented Interfaces:
io.deephaven.base.clock.Clock,Scheduler
- Enclosing interface:
- Scheduler
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.deephaven.server.util.Scheduler
Scheduler.DelegatingImpl -
Constructor Summary
ConstructorsConstructorDescriptionDelegatingImpl(ExecutorService serialExecutor, ScheduledExecutorService concurrentExecutor, io.deephaven.base.clock.Clock clock) -
Method Summary
Modifier and TypeMethodDescriptionlonglonglongvoidrunAfterDelay(long delayMs, @NotNull Runnable command) Schedule this task to run at the specified time.voidSchedule this task to run at the specified time.voidrunImmediately(@NotNull Runnable command) Schedule this task to run immediately.voidrunSerially(@NotNull Runnable command) Schedule this task to run immediately, under the exclusive UGP lock.voidshutdown()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.deephaven.server.util.Scheduler
inTestMode
-
Constructor Details
-
DelegatingImpl
public DelegatingImpl(ExecutorService serialExecutor, ScheduledExecutorService concurrentExecutor, io.deephaven.base.clock.Clock clock)
-
-
Method Details
-
shutdown
- Throws:
InterruptedException
-
currentTimeMillis
public long currentTimeMillis()- Specified by:
currentTimeMillisin interfaceio.deephaven.base.clock.Clock
-
currentTimeMicros
public long currentTimeMicros()- Specified by:
currentTimeMicrosin interfaceio.deephaven.base.clock.Clock
-
currentTimeNanos
public long currentTimeNanos()- Specified by:
currentTimeNanosin interfaceio.deephaven.base.clock.Clock
-
instantNanos
- Specified by:
instantNanosin interfaceio.deephaven.base.clock.Clock
-
instantMillis
- Specified by:
instantMillisin interfaceio.deephaven.base.clock.Clock
-
runAtTime
Description copied from interface:SchedulerSchedule this task to run at the specified time. -
runImmediately
Description copied from interface:SchedulerSchedule this task to run immediately.- Specified by:
runImmediatelyin interfaceScheduler- Parameters:
command- the task to run
-
runAfterDelay
Description copied from interface:SchedulerSchedule this task to run at the specified time.- Specified by:
runAfterDelayin interfaceScheduler- Parameters:
delayMs- how long to delay before running this task (in milliseconds)command- the task to run
-
runSerially
Description copied from interface:SchedulerSchedule this task to run immediately, under the exclusive UGP lock.- Specified by:
runSeriallyin interfaceScheduler- Parameters:
command- the task to run
-