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, onRemoved
public 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
BaseFilter
Filter
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 Filter
handleAccept
in class BaseFilter
ctx
- FilterChainContext
NextAction
instruction for FilterChain
, how it
should continue the executionIOException
public NextAction handleConnect(FilterChainContext ctx) throws IOException
BaseFilter
Filter
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 Filter
handleConnect
in class BaseFilter
ctx
- FilterChainContext
NextAction
instruction for FilterChain
, how it
should continue the executionIOException
public NextAction handleRead(FilterChainContext ctx) throws IOException
BaseFilter
Filter
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 Filter
handleRead
in class BaseFilter
ctx
- FilterChainContext
NextAction
instruction for FilterChain
, how it
should continue the executionIOException
public NextAction handleWrite(FilterChainContext ctx) throws IOException
BaseFilter
Filter
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 Filter
handleWrite
in class BaseFilter
ctx
- FilterChainContext
NextAction
instruction for FilterChain
, how it
should continue the executionIOException
public NextAction handleClose(FilterChainContext ctx) throws IOException
BaseFilter
Filter
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 Filter
handleClose
in class BaseFilter
ctx
- FilterChainContext
NextAction
instruction for FilterChain
, how it
should continue the executionIOException
public 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 © 2014 Oracle Corporation. All rights reserved.