Package zmq.util

Class Timers


  • public final class Timers
    extends java.lang.Object
    Manages set of timers. Timers can be added with a given interval, when the interval of time expires after addition, handler method is executed with given arguments. Timer is repetitive and will be executed over time until canceled. This is a DRAFT class, and may change without notice.
    • Constructor Detail

      • Timers

        public Timers()
      • Timers

        public Timers​(Supplier<java.lang.Long> clock)
        Builds a new timer.

        This constructor is for testing and is not intended to be used in production code.

        Parameters:
        clock - the supplier of the current time in milliseconds.
    • Method Detail

      • now

        private long now()
      • add

        public Timers.Timer add​(long interval,
                                Timers.Handler handler,
                                java.lang.Object... args)
        Add timer to the set, timer repeats forever, or until cancel is called.
        Parameters:
        interval - the interval of repetition in milliseconds.
        handler - the callback called at the expiration of the timer.
        args - the optional arguments for the handler.
        Returns:
        an opaque handle for further cancel.
      • setInterval

        @Deprecated
        public boolean setInterval​(Timers.Timer timer,
                                   long interval)
        Deprecated.
        Changes the interval of the timer. This method is slow, canceling existing and adding a new timer yield better performance.
        Parameters:
        timer - the timer to change the interval to.
        Returns:
        true if set, otherwise false.
      • reset

        @Deprecated
        public boolean reset​(Timers.Timer timer)
        Deprecated.
        Reset the timer. This method is slow, canceling existing and adding a new timer yield better performance.
        Parameters:
        timer - the timer to reset.
        Returns:
        true if reset, otherwise false.
      • cancel

        @Deprecated
        public boolean cancel​(Timers.Timer timer)
        Deprecated.
        Cancel a timer.
        Parameters:
        timer - the timer to cancel.
        Returns:
        true if cancelled, otherwise false.
      • timeout

        public long timeout()
        Returns the time in millisecond until the next timer.
        Returns:
        the time in millisecond until the next timer.
      • execute

        public int execute()
        Execute the timers.
        Returns:
        the number of timers triggered.
      • entries

        java.lang.Iterable<java.util.Map.Entry<Timers.Timer,​java.lang.Long>> entries()
      • sleepAndExecute

        public int sleepAndExecute()