Interface TimeService

All Known Implementing Classes:
DefaultTimeService

public interface TimeService
Encapsulates all the time related logic in this interface.
Since:
5.3
Author:
Pedro Ruivo
  • Method Details

    • wallClockTime

      long wallClockTime()
      Returns:
      the current clock time in milliseconds. Note that it depends of the system time.
    • time

      long time()
      Returns:
      the current cpu time in nanoseconds. Note that some platforms do not provide nanosecond precision.
    • instant

      Instant instant()
      Returns:
      the current Instant. Similarly to time(), note that some platforms do not provide nanosecond precision.
    • timeDuration

      long timeDuration(long startTimeNanos, TimeUnit outputTimeUnit)
      It is equivalent to timeDuration(startTime, time(), outputTimeUnit).
      Parameters:
      startTimeNanos - start cpu time in nanoseconds, usually returned by time().
      outputTimeUnit - the TimeUnit of the returned value.
      Returns:
      the duration between the current cpu time and startTime. It returns zero if startTime is less than zero or if startTime is greater than the current cpu time.
    • timeDuration

      long timeDuration(long startTimeNanos, long endTimeNanos, TimeUnit outputTimeUnit)
      Parameters:
      startTimeNanos - start cpu time in nanoseconds, usually returned by time().
      endTimeNanos - end cpu time in nanoseconds, usually returned by time().
      outputTimeUnit - the TimeUnit of the returned value.
      Returns:
      the duration between the endTime and startTime. It returns zero if startTime or endTime are less than zero or if startTime is greater than the endTime.
    • isTimeExpired

      boolean isTimeExpired(long endTimeNanos)
      Parameters:
      endTimeNanos - a cpu time in nanoseconds, usually returned by time()
      Returns:
      true if the endTime is less or equals than the current cpu time.
    • remainingTime

      long remainingTime(long endTimeNanos, TimeUnit outputTimeUnit)
      Parameters:
      endTimeNanos - the end cpu time in nanoseconds.
      outputTimeUnit - the TimeUnit of the returned value.
      Returns:
      the remaining cpu time until the endTime is reached.
    • expectedEndTime

      long expectedEndTime(long duration, TimeUnit inputTimeUnit)
      Parameters:
      duration - the duration.
      inputTimeUnit - the TimeUnit of the duration.
      Returns:
      the expected end time in nano seconds. If duration is less or equals to zero, the current cpu time is returned (time()).