Class CyclicTimeouts<T extends CyclicTimeouts.Expirable>

java.lang.Object
org.eclipse.jetty.io.CyclicTimeouts<T>
Type Parameters:
T - the CyclicTimeouts.Expirable entity type
All Implemented Interfaces:
Destroyable

@Deprecated(since="2021-05-27") public abstract class CyclicTimeouts<T extends CyclicTimeouts.Expirable> extends Object implements Destroyable
Deprecated.
The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.

An implementation of a timeout that manages many expirable entities whose timeouts are mostly cancelled or re-scheduled.

A typical scenario is for a parent entity to manage the timeouts of many children entities.

When a new entity is created, call schedule(Expirable) with the new entity so that this instance can be aware and manage the timeout of the new entity.

Eventually, this instance wakes up and iterates over the entities provided by iterator(). During the iteration, each entity:

  • may never expire (see CyclicTimeouts.Expirable.getExpireNanoTime(); the entity is ignored
  • may be expired; onExpired(Expirable) is called with that entity as parameter
  • may expire at a future time; the iteration records the earliest expiration time among all non-expired entities

When the iteration is complete, this instance is re-scheduled with the earliest expiration time calculated during the iteration.

See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
    Deprecated.
    The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Deprecated.
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Deprecated.
     
    void
    schedule(T expirable)
    Deprecated.
    Manages the timeout of a new entity.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CyclicTimeouts

      public CyclicTimeouts(Scheduler scheduler)
      Deprecated.
  • Method Details

    • schedule

      public void schedule(T expirable)
      Deprecated.

      Manages the timeout of a new entity.

      Parameters:
      expirable - the new entity to manage the timeout for
    • destroy

      public void destroy()
      Deprecated.
      Specified by:
      destroy in interface Destroyable