org.gudy.azureus2.core3.util
Class SystemTime
java.lang.Object
org.gudy.azureus2.core3.util.SystemTime
public class SystemTime
- extends Object
Utility class to retrieve current system time, and catch clock backward time
changes.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TIME_GRANULARITY_MILLIS
public static final long TIME_GRANULARITY_MILLIS
- See Also:
- Constant Field Values
SystemTime
public SystemTime()
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)