Class IdleTimeout

java.lang.Object
com.aspectran.utils.timer.IdleTimeout

public abstract class IdleTimeout extends Object

This class is a clone of org.eclipse.jetty.io.IdleTimeout

An Abstract implementation of an Idle Timeout.

This implementation is optimised that timeout operations are not cancelled on every operation. Rather timeout are allowed to expire and a check is then made to see when the last operation took place. If the idle timeout has not expired, the timeout is rescheduled for the earliest possible time a timeout could occur.

  • Constructor Details

    • IdleTimeout

      public IdleTimeout(Scheduler scheduler)
      Parameters:
      scheduler - A scheduler used to schedule checks for the idle timeout
  • Method Details

    • getScheduler

      public Scheduler getScheduler()
    • getIdleFor

      public long getIdleFor()
      Returns:
      the period of time, in milliseconds, that this object was idle
    • getIdleTimeout

      public long getIdleTimeout()
      Returns:
      the idle timeout in milliseconds
      See Also:
    • setIdleTimeout

      public void setIdleTimeout(long idleTimeout)

      Sets the idle timeout in milliseconds.

      A value that is less than or zero disables the idle timeout checks.

      Parameters:
      idleTimeout - the idle timeout in milliseconds
      See Also:
    • notIdle

      public void notIdle()
      This method should be called when non-idle activity has taken place.
    • onOpen

      public void onOpen()
    • onClose

      public void onClose()
    • checkIdleTimeout

      protected long checkIdleTimeout()
    • onIdleExpired

      protected abstract void onIdleExpired(TimeoutException timeout)
      This abstract method is called when the idle timeout has expired.
      Parameters:
      timeout - a TimeoutException
    • isOpen

      public abstract boolean isOpen()
      This abstract method should be called to check if idle timeouts should still be checked.
      Returns:
      true if the entity monitored should still be checked for idle timeouts