Class Scheduler.DelegatingImpl

java.lang.Object
io.deephaven.server.util.Scheduler.DelegatingImpl
All Implemented Interfaces:
io.deephaven.base.clock.Clock, Scheduler
Enclosing interface:
Scheduler

public static class Scheduler.DelegatingImpl extends Object implements Scheduler
  • Constructor Details

  • Method Details

    • shutdown

      @VisibleForTesting public void shutdown() throws InterruptedException
      Throws:
      InterruptedException
    • currentTimeMillis

      public long currentTimeMillis()
      Specified by:
      currentTimeMillis in interface io.deephaven.base.clock.Clock
    • currentTimeMicros

      public long currentTimeMicros()
      Specified by:
      currentTimeMicros in interface io.deephaven.base.clock.Clock
    • currentTimeNanos

      public long currentTimeNanos()
      Specified by:
      currentTimeNanos in interface io.deephaven.base.clock.Clock
    • instantNanos

      public Instant instantNanos()
      Specified by:
      instantNanos in interface io.deephaven.base.clock.Clock
    • instantMillis

      public Instant instantMillis()
      Specified by:
      instantMillis in interface io.deephaven.base.clock.Clock
    • runAtTime

      public void runAtTime(long epochMillis, @NotNull @NotNull Runnable command)
      Description copied from interface: Scheduler
      Schedule this task to run at the specified time.
      Specified by:
      runAtTime in interface Scheduler
      Parameters:
      epochMillis - when to run this task
      command - the task to run
    • runImmediately

      public void runImmediately(@NotNull @NotNull Runnable command)
      Description copied from interface: Scheduler
      Schedule this task to run immediately.
      Specified by:
      runImmediately in interface Scheduler
      Parameters:
      command - the task to run
    • runAfterDelay

      public void runAfterDelay(long delayMs, @NotNull @NotNull Runnable command)
      Description copied from interface: Scheduler
      Schedule this task to run at the specified time.
      Specified by:
      runAfterDelay in interface Scheduler
      Parameters:
      delayMs - how long to delay before running this task (in milliseconds)
      command - the task to run
    • runSerially

      public void runSerially(@NotNull @NotNull Runnable command)
      Description copied from interface: Scheduler
      Schedule this task to run immediately, under the exclusive UGP lock.
      Specified by:
      runSerially in interface Scheduler
      Parameters:
      command - the task to run