public class IdleTimeoutFilter extends BaseFilter
Connection activity and closing
Connection ones it becomes idle for certain amount of time.
Unlike ActivityCheckFilter, this Filter assumes Connection
is idle, when no event is being executed on it. But if some event processing
was suspended - this Filter still assumes Connection is active.ActivityCheckFilter| Modifier and Type | Class and Description |
|---|---|
static interface |
IdleTimeoutFilter.TimeoutHandler |
static interface |
IdleTimeoutFilter.TimeoutResolver |
| Modifier and Type | Field and Description |
|---|---|
static Long |
FOREVER |
static Long |
FOREVER_SPECIAL |
static String |
IDLE_ATTRIBUTE_NAME |
| Modifier | Constructor and Description |
|---|---|
protected |
IdleTimeoutFilter(DelayedExecutor executor,
DelayedExecutor.Worker<Connection> worker,
IdleTimeoutFilter.TimeoutResolver timeoutResolver) |
|
IdleTimeoutFilter(DelayedExecutor executor,
IdleTimeoutFilter.TimeoutResolver timeoutResolver) |
|
IdleTimeoutFilter(DelayedExecutor executor,
IdleTimeoutFilter.TimeoutResolver timeoutResolver,
IdleTimeoutFilter.TimeoutHandler handler) |
|
IdleTimeoutFilter(DelayedExecutor executor,
long timeout,
TimeUnit timeoutUnit) |
|
IdleTimeoutFilter(DelayedExecutor executor,
long timeout,
TimeUnit timeUnit,
IdleTimeoutFilter.TimeoutHandler handler) |
| Modifier and Type | Method and Description |
|---|---|
static DelayedExecutor |
createDefaultIdleDelayedExecutor() |
static DelayedExecutor |
createDefaultIdleDelayedExecutor(long checkInterval,
TimeUnit checkIntervalUnit) |
DelayedExecutor.Resolver<Connection> |
getResolver() |
NextAction |
handleAccept(FilterChainContext ctx)
Execute a unit of processing work to be performed, when server channel
has accepted the client connection.
|
NextAction |
handleClose(FilterChainContext ctx)
Execute a unit of processing work to be performed, when connection
has been closed.
|
NextAction |
handleConnect(FilterChainContext ctx)
Execute a unit of processing work to be performed, when channel gets
connected.
|
NextAction |
handleRead(FilterChainContext ctx)
Execute a unit of processing work to be performed, when channel will
become available for reading.
|
NextAction |
handleWrite(FilterChainContext ctx)
Execute a unit of processing work to be performed, when some data should
be written on channel.
|
protected void |
queueAction(FilterChainContext ctx) |
static void |
setCustomTimeout(Connection connection,
long timeout,
TimeUnit timeunit)
Provides an override mechanism for the default timeout.
|
createContext, exceptionOccurred, handleEvent, onAdded, onFilterChainChanged, onRemovedpublic static final Long FOREVER
public static final Long FOREVER_SPECIAL
public static final String IDLE_ATTRIBUTE_NAME
public IdleTimeoutFilter(DelayedExecutor executor, long timeout, TimeUnit timeoutUnit)
public IdleTimeoutFilter(DelayedExecutor executor, IdleTimeoutFilter.TimeoutResolver timeoutResolver)
public IdleTimeoutFilter(DelayedExecutor executor, long timeout, TimeUnit timeUnit, IdleTimeoutFilter.TimeoutHandler handler)
public IdleTimeoutFilter(DelayedExecutor executor, IdleTimeoutFilter.TimeoutResolver timeoutResolver, IdleTimeoutFilter.TimeoutHandler handler)
protected IdleTimeoutFilter(DelayedExecutor executor, DelayedExecutor.Worker<Connection> worker, IdleTimeoutFilter.TimeoutResolver timeoutResolver)
public NextAction handleAccept(FilterChainContext ctx) throws IOException
BaseFilterFilter may either complete the required processing and
return false, or delegate remaining processing to the next
Filter in a FilterChain containing this Filter
by returning true.handleAccept in interface FilterhandleAccept in class BaseFilterctx - FilterChainContextNextAction instruction for FilterChain, how it
should continue the executionIOExceptionpublic NextAction handleConnect(FilterChainContext ctx) throws IOException
BaseFilterFilter may either complete the required processing and
return false, or delegate remaining processing to the next
Filter in a FilterChain containing this Filter
by returning true.handleConnect in interface FilterhandleConnect in class BaseFilterctx - FilterChainContextNextAction instruction for FilterChain, how it
should continue the executionIOExceptionpublic NextAction handleRead(FilterChainContext ctx) throws IOException
BaseFilterFilter may either complete the required processing and
return false, or delegate remaining processing to the next
Filter in a FilterChain containing this Filter
by returning true.handleRead in interface FilterhandleRead in class BaseFilterctx - FilterChainContextNextAction instruction for FilterChain, how it
should continue the executionIOExceptionpublic NextAction handleWrite(FilterChainContext ctx) throws IOException
BaseFilterFilter may either complete the required processing and
return false, or delegate remaining processing to the next
Filter in a FilterChain containing this Filter
by returning true.handleWrite in interface FilterhandleWrite in class BaseFilterctx - FilterChainContextNextAction instruction for FilterChain, how it
should continue the executionIOExceptionpublic NextAction handleClose(FilterChainContext ctx) throws IOException
BaseFilterFilter may either complete the required processing and
return false, or delegate remaining processing to the next
Filter in a FilterChain containing this Filter
by returning true.handleClose in interface FilterhandleClose in class BaseFilterctx - FilterChainContextNextAction instruction for FilterChain, how it
should continue the executionIOExceptionpublic DelayedExecutor.Resolver<Connection> getResolver()
public static DelayedExecutor createDefaultIdleDelayedExecutor()
public static DelayedExecutor createDefaultIdleDelayedExecutor(long checkInterval, TimeUnit checkIntervalUnit)
public static void setCustomTimeout(Connection connection, long timeout, TimeUnit timeunit)
connection - The Connection which is having the idle detection
adjusted.timeout - the new idle timeout.timeunit - TimeUnit.protected void queueAction(FilterChainContext ctx)
Copyright © 2013 Oracle Corporation. All Rights Reserved.