TimeoutRemainder

public class TimeoutRemainder
extends Object

java.lang.Object
   ↳ com.android.tradefed.device.server.TimeoutRemainder


Utility class to keep track of how much time is left given an initial timeout. This is useful when a method receives a timeout parameter and needs to perform multiple operations within that given timeout.

Note: The implementation keeps track of time using System.nanoTime() units, meaning this class is not suitable for timeouts longer than ~290 years.

Summary

Nested classes

class TimeoutRemainder.DefaultSystemNanoTime

 

interface TimeoutRemainder.SystemNanoTimeProvider

 

Public constructors

TimeoutRemainder(TimeoutRemainder.SystemNanoTimeProvider nanoTimeProvider, long timeout, TimeUnit unit)
TimeoutRemainder(long timeout, TimeUnit unit)

Public methods

long getRemainingNanos()
long getRemainingUnits(TimeUnit unit)
long getRemainingUnits()

Public constructors

TimeoutRemainder

public TimeoutRemainder (TimeoutRemainder.SystemNanoTimeProvider nanoTimeProvider, 
                long timeout, 
                TimeUnit unit)

Parameters
nanoTimeProvider TimeoutRemainder.SystemNanoTimeProvider

timeout long

unit TimeUnit

TimeoutRemainder

public TimeoutRemainder (long timeout, 
                TimeUnit unit)

Parameters
timeout long

unit TimeUnit

Public methods

getRemainingNanos

public long getRemainingNanos ()

Returns
long

getRemainingUnits

public long getRemainingUnits (TimeUnit unit)

Parameters
unit TimeUnit

Returns
long

getRemainingUnits

public long getRemainingUnits ()

Returns
long