Package com.aspectran.core.util.timer
Class IdleTimeout
- java.lang.Object
-
- com.aspectran.core.util.timer.IdleTimeout
-
public abstract class IdleTimeout extends java.lang.ObjectThis 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 Summary
Constructors Constructor Description IdleTimeout(Scheduler scheduler)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected longcheckIdleTimeout()longgetIdleFor()longgetIdleTimeout()SchedulergetScheduler()abstract booleanisOpen()This abstract method should be called to check if idle timeouts should still be checked.voidnotIdle()This method should be called when non-idle activity has taken place.voidonClose()protected abstract voidonIdleExpired(java.util.concurrent.TimeoutException timeout)This abstract method is called when the idle timeout has expired.voidonOpen()voidsetIdleTimeout(long idleTimeout)Sets the idle timeout in milliseconds.
-
-
-
Constructor Detail
-
IdleTimeout
public IdleTimeout(Scheduler scheduler)
- Parameters:
scheduler- A scheduler used to schedule checks for the idle timeout
-
-
Method Detail
-
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(long)
-
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:
getIdleTimeout()
-
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(java.util.concurrent.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
-
-