net.i2p.util

## Class SimpleTimer

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

- Direct Known Subclasses:
    FlushTimer

      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 SimpleScheduler or 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

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `SimpleTimer()`
    `protected` | `SimpleTimer(String name)`

  - ### Method Summary

    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)`
    `static SimpleTimer` | `getInstance()`
    `boolean` | `removeEvent(SimpleTimer.TimedEvent evt)`
    `void` | `removeSimpleTimer()` Removes the SimpleTimer.
    `void` | `reschedule(SimpleTimer.TimedEvent event, long timeoutMs)`

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

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

- - ### Constructor Detail

    - #### SimpleTimer

          protected SimpleTimer()

    - #### SimpleTimer

          protected SimpleTimer(String name)

  - ### Method Detail

    - #### getInstance

          public static SimpleTimer getInstance()

    - #### removeSimpleTimer

          public void removeSimpleTimer()

      Removes the SimpleTimer.

    - #### reschedule

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

      Parameters:
        `event` -
        `timeoutMs` -

    - #### 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` -
        `timeoutMs` -

    - #### addEvent

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

      Parameters:
        `event` -
        `timeoutMs` -
        `useEarliestTime` - if its already scheduled, use the earlier of the two timeouts, else use the later

    - #### removeEvent

          public boolean removeEvent(SimpleTimer.TimedEvent evt)