Package org.eclipse.jetty.io
Class IdleTimeout
java.lang.Object
org.eclipse.jetty.io.IdleTimeout
- Direct Known Subclasses:
AbstractEndPoint
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected long
long
Get the period of time, in milliseconds, that this object was idle.long
abstract boolean
isOpen()
This abstract method should be called to check if idle timeouts should still be checked.void
notIdle()
This method should be called when non-idle activity has taken place.void
onClose()
protected abstract void
onIdleExpired
(TimeoutException timeout) This abstract method is called when the idle timeout has expired.void
onOpen()
void
setIdleTimeout
(long idleTimeout) Sets the idle timeout in milliseconds.
-
Constructor Details
-
IdleTimeout
- Parameters:
scheduler
- A scheduler used to schedule checks for the idle timeout.
-
-
Method Details
-
getScheduler
-
getIdleFor
public long getIdleFor()Get the period of time, in milliseconds, that this object was idle.- 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
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
-