Class SystemTime

java.lang.Object
com.biglybt.core.util.SystemTime

public class SystemTime extends Object
Utility class to retrieve current system time, and catch clock backward time changes.
  • Field Details

  • Constructor Details

    • SystemTime

      public SystemTime()
  • Method Details

    • useRawProvider

      public static void useRawProvider()
    • getCurrentTime

      public static long getCurrentTime()
      Note that this can this time can jump into the future or past due to clock adjustments use getMonotonousTime() if you need steady increases
      Returns:
      current system time in millisecond since epoch
    • getMonotonousTime

      public static long getMonotonousTime()
      Time that is guaranteed to grow monotonously and also ignores larger jumps into the future which might be caused by adjusting the system clock

      Do not mix times retrieved by this method with normal time!
      Returns:
      the amount of real time passed since the program start in milliseconds
    • getSteppedMonotonousTime

      public static long getSteppedMonotonousTime()
      Like getMonotonousTime but only updated at TIME_GRANULARITY_MILLIS intervals (not interpolated) As such it is likely to be cheaper to obtain
      Returns:
    • getOffsetTime

      public static long getOffsetTime(long offsetMS)
    • registerConsumer

      public static void registerConsumer(SystemTime.TickConsumer c)
    • unregisterConsumer

      public static void unregisterConsumer(SystemTime.TickConsumer c)
    • registerMonotonousConsumer

      public static void registerMonotonousConsumer(SystemTime.TickConsumer c)
    • unregisterMonotonousConsumer

      public static void unregisterMonotonousConsumer(SystemTime.TickConsumer c)
    • registerClockChangeListener

      public static void registerClockChangeListener(SystemTime.ChangeListener c)
    • unregisterClockChangeListener

      public static void unregisterClockChangeListener(SystemTime.ChangeListener c)
    • getHighPrecisionCounter

      public static long getHighPrecisionCounter()
    • main

      public static void main(String[] args)