net.i2p.util

## Class SimpleTimer

- java.lang.Object
- - net.i2p.util.SimpleTimer

-     public class SimpleTimer
      extends Object

  Simple event scheduler - toss an event on the queue and it gets fired at the appropriate time. The method that is fired however should NOT block (otherwise they b0rk the timer). WARNING - Deprecated. This is an inefficient mess. Use SimpleTimer2 if possible.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `SimpleTimer.TimedEvent` Simple interface for events to be queued up and notified on expiration

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addEvent(SimpleTimer.TimedEvent event, long timeoutMs)` Queue up the given event to be fired no sooner than timeoutMs from now.
    `void` | `addEvent(SimpleTimer.TimedEvent event, long timeoutMs, boolean useEarliestTime)` Queue up the given event to be fired no sooner than timeoutMs from now.
    `boolean` | `removeEvent(SimpleTimer.TimedEvent evt)`
    `void` | `removeSimpleTimer()` Removes the SimpleTimer.
    `void` | `reschedule(SimpleTimer.TimedEvent event, long timeoutMs)` Reschedule an existing event.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### addEvent

          public void addEvent(SimpleTimer.TimedEvent event,
                               long timeoutMs)

      Queue up the given event to be fired no sooner than timeoutMs from now. However, if this event is already scheduled, the event will be scheduled for the earlier of the two timeouts, which may be before this stated timeout. If this is not the desired behavior, call removeEvent first.
      Parameters:
        `event` - the event to schedule
        `timeoutMs` - the delay in milliseconds before the event should fire

    - #### addEvent

          public void addEvent(SimpleTimer.TimedEvent event,
                               long timeoutMs,
                               boolean useEarliestTime)

      Queue up the given event to be fired no sooner than timeoutMs from now.
      Parameters:
        `event` - the event to schedule
        `timeoutMs` - the delay in milliseconds before the event should fire
        `useEarliestTime` - if already scheduled, use the earlier of the two timeouts, else use the later

    - #### removeEvent

          public boolean removeEvent(SimpleTimer.TimedEvent evt)

    - #### removeSimpleTimer

          public void removeSimpleTimer()

      Removes the SimpleTimer.

    - #### reschedule

          public void reschedule(SimpleTimer.TimedEvent event,
                                 long timeoutMs)

      Reschedule an existing event.
      Parameters:
        `event` - the event to reschedule
        `timeoutMs` - the new timeout in milliseconds