public class IdleTimeoutFilter extends BaseFilter
Connection activity and closing Connection once 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, onRemoved, toStringpublic 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 © 2017–2020 Oracle Corporation. All rights reserved.