Interface Ticker
- All Known Subinterfaces:
MockTicker
- All Known Implementing Classes:
DefaultMockTicker, EmbeddedEventLoop.FreezableTicker, SystemTicker
public interface Ticker
A nanosecond-based time source, e.g.
System.nanoTime().-
Method Summary
Modifier and TypeMethodDescriptionlongThe initial value used for delay and computations based upon a monotonic time source.longnanoTime()The time elapsed since initialization of this class in nanoseconds.static MockTickerReturns a newly created mockTickerthat allows the caller control the flow of time.voidsleep(long delay, java.util.concurrent.TimeUnit unit) Waits until the given amount of time goes by.default voidsleepMillis(long delayMillis) Waits until the given amount of time goes by.static TickerReturns the singletonTickerthat returns the values from the real system clock source.
-
Method Details
-
systemTicker
-
newMockTicker
Returns a newly created mockTickerthat allows the caller control the flow of time. This can be useful when you test time-sensitive logic without waiting for too long or introducing flakiness due to non-deterministic nature of system clock. -
initialNanoTime
long initialNanoTime()The initial value used for delay and computations based upon a monotonic time source.- Returns:
- initial value used for delay and computations based upon a monotonic time source.
-
nanoTime
long nanoTime()The time elapsed since initialization of this class in nanoseconds. This may return a negative number just likeSystem.nanoTime(). -
sleep
void sleep(long delay, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException Waits until the given amount of time goes by.- Parameters:
delay- the amount of delay.unit- theTimeUnitofdelay.- Throws:
java.lang.InterruptedException- See Also:
-
sleepMillis
default void sleepMillis(long delayMillis) throws java.lang.InterruptedException Waits until the given amount of time goes by.- Parameters:
delayMillis- the number of milliseconds.- Throws:
java.lang.InterruptedException- See Also:
-