org.eclipse.jetty.util.thread

## Class Timeout

- java.lang.Object
- - org.eclipse.jetty.util.thread.Timeout

-     public class Timeout
      extends Object

  Timeout queue. This class implements a timeout queue for timers that are at least as likely to be cancelled as they are to expire. Unlike the util timeout class, the duration of the timeouts is shared by all scheduled tasks and if the duration is changed, this affects all scheduled tasks.

  The nested class Task should be extended by users of this class to obtain call back notification of expires.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Timeout.Task` Task.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Timeout()`
    `Timeout(Object lock)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `cancelAll()`
    `Timeout.Task` | `expired()` Get an expired tasks.
    `long` | `getDuration()`
    `long` | `getNow()`
    `long` | `getTimeToNext()`
    `boolean` | `isEmpty()`
    `void` | `schedule(Timeout.Task task)`
    `void` | `schedule(Timeout.Task task, long delay)`
    `void` | `setDuration(long duration)`
    `long` | `setNow()`
    `void` | `setNow(long now)`
    `void` | `tick()`
    `void` | `tick(long now)`
    `String` | `toString()`

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

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

- - ### Constructor Detail

    - #### Timeout

          public Timeout()

    - #### Timeout

          public Timeout(Object lock)

  - ### Method Detail

    - #### getDuration

          public long getDuration()

      Returns:
        Returns the duration.

    - #### setDuration

          public void setDuration(long duration)

      Parameters:
        `duration` - The duration to set.

    - #### setNow

          public long setNow()

    - #### getNow

          public long getNow()

    - #### setNow

          public void setNow(long now)

    - #### expired

          public Timeout.Task expired()

      Get an expired tasks. This is called instead of `tick()` to obtain the next expired Task, but without calling it's `Timeout.Task.expire()` or `Timeout.Task.expired()` methods.
      Returns:
        the next expired task or null.

    - #### tick

          public void tick()

    - #### tick

          public void tick(long now)

    - #### schedule

          public void schedule(Timeout.Task task)

    - #### schedule

          public void schedule(Timeout.Task task,
                      long delay)

      Parameters:
        `task` -
        `delay` - A delay in addition to the default duration of the timeout

    - #### cancelAll

          public void cancelAll()

    - #### isEmpty

          public boolean isEmpty()

    - #### getTimeToNext

          public long getTimeToNext()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 1995-2015 Mort Bay Consulting. All Rights Reserved.