Class SingleShotLinearTimer

java.lang.Object
com.rabbitmq.utility.SingleShotLinearTimer

public class SingleShotLinearTimer extends Object
This class provides a very stripped-down clone of some of the functionality in java.util.Timer (notably Timer.schedule(TimerTask task, long delay) but uses System.nanoTime() rather than System.currentTimeMillis() as a measure of the underlying time, and thus behaves correctly if the system clock jumps around. This class does not have any relation to TimerTask due to the coupling between TimerTask and Timer - for example if someone invokes TimerTask.cancel(), we can't find out about it as TimerTask.state is package-private. We currently just use this to time the quiescing RPC in AMQChannel.
See Also:
  • Constructor Details

    • SingleShotLinearTimer

      public SingleShotLinearTimer()
  • Method Details

    • schedule

      public void schedule(Runnable task, int timeoutMillisec)
    • cancel

      public void cancel()