Top Description Inners Fields Constructors Methods
org.glassfish.grizzly.utils

public Class ActivityCheckFilter

extends BaseFilter
Class Inheritance
Imports
java.io.IOException, java.util.concurrent.ExecutorService, .Executors, .ThreadFactory, .TimeUnit, java.util.function.Supplier, java.util.logging.Logger, org.glassfish.grizzly.Connection, .Grizzly, org.glassfish.grizzly.attributes.Attribute, org.glassfish.grizzly.filterchain.BaseFilter, .FilterChainContext, .NextAction

The Filter is responsible for tracking Connection activity and closing Connection ones it becomes idle for certain amount of time. Unlike IdleTimeoutFilter, this Filter assumes Connection is idle, even if some event is being executed on it, so it really requires some action to be executed on Connection to reset the timeout.
Author
Alexey Stashok
See Also
IdleTimeoutFilter

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
private static class
public static interface

Field Summary

Modifier and TypeField and Description
public static final String
private static final Attribute<ActivityCheckFilter.ActiveRecord>
private static final Logger
private final DelayedExecutor.DelayQueue<Connection<L>>
private final long

Constructor Summary

AccessConstructor and Description
public
ActivityCheckFilter(final DelayedExecutor executor, final long timeout, final TimeUnit timeoutUnit)

public
ActivityCheckFilter(final DelayedExecutor executor, final long timeout, final TimeUnit timeoutUnit, final ActivityCheckFilter.TimeoutHandler handler)

protected
ActivityCheckFilter(final DelayedExecutor executor, final DelayedExecutor.Worker<Connection<L>> worker, final long timeout, final TimeUnit timeoutUnit)

Method Summary

Modifier and TypeMethod and Description
public static DelayedExecutor
public static DelayedExecutor
createDefaultIdleDelayedExecutor(final long checkInterval, final TimeUnit checkIntervalUnit)

public long
getTimeout(TimeUnit timeunit)

public NextAction
handleAccept(final FilterChainContext ctx)

Overrides org.glassfish.grizzly.filterchain.BaseFilter.handleAccept.

Implements org.glassfish.grizzly.filterchain.Filter.handleAccept.

Execute a unit of processing work to be performed, when server channel has accepted the client connection.

public NextAction
handleClose(final FilterChainContext ctx)

Overrides org.glassfish.grizzly.filterchain.BaseFilter.handleClose.

Implements org.glassfish.grizzly.filterchain.Filter.handleClose.

Execute a unit of processing work to be performed, when connection has been closed.

public NextAction
handleConnect(final FilterChainContext ctx)

Overrides org.glassfish.grizzly.filterchain.BaseFilter.handleConnect.

Implements org.glassfish.grizzly.filterchain.Filter.handleConnect.

Execute a unit of processing work to be performed, when channel gets connected.

public NextAction
handleRead(final FilterChainContext ctx)

Overrides org.glassfish.grizzly.filterchain.BaseFilter.handleRead.

Implements org.glassfish.grizzly.filterchain.Filter.handleRead.

Execute a unit of processing work to be performed, when channel will become available for reading.

public NextAction
handleWrite(final FilterChainContext ctx)

Overrides org.glassfish.grizzly.filterchain.BaseFilter.handleWrite.

Implements org.glassfish.grizzly.filterchain.Filter.handleWrite.

Execute a unit of processing work to be performed, when some data should be written on channel.

Inherited from org.glassfish.grizzly.filterchain.BaseFilter:
createContextexceptionOccurredhandleEventonAddedonFilterChainChangedonRemovedtoString

Field Detail

ACTIVE_ATTRIBUTE_NAMEback to summary
public static final String ACTIVE_ATTRIBUTE_NAME
IDLE_ATTRback to summary
private static final Attribute<ActivityCheckFilter.ActiveRecord> IDLE_ATTR
LOGGERback to summary
private static final Logger LOGGER
queueback to summary
private final DelayedExecutor.DelayQueue<Connection<L>> queue
timeoutMillisback to summary
private final long timeoutMillis

Constructor Detail

ActivityCheckFilterback to summary
public ActivityCheckFilter(final DelayedExecutor executor, final long timeout, final TimeUnit timeoutUnit)
ActivityCheckFilterback to summary
public ActivityCheckFilter(final DelayedExecutor executor, final long timeout, final TimeUnit timeoutUnit, final ActivityCheckFilter.TimeoutHandler handler)
ActivityCheckFilterback to summary
protected ActivityCheckFilter(final DelayedExecutor executor, final DelayedExecutor.Worker<Connection<L>> worker, final long timeout, final TimeUnit timeoutUnit)

Method Detail

createDefaultIdleDelayedExecutorback to summary
public static DelayedExecutor createDefaultIdleDelayedExecutor()
Annotations
@SuppressWarnings:UnusedDeclaration
createDefaultIdleDelayedExecutorback to summary
public static DelayedExecutor createDefaultIdleDelayedExecutor(final long checkInterval, final TimeUnit checkIntervalUnit)
Annotations
@SuppressWarnings:UnusedDeclaration
getTimeoutback to summary
public long getTimeout(TimeUnit timeunit)
Annotations
@SuppressWarnings:UnusedDeclaration
handleAcceptback to summary
public NextAction handleAccept(final FilterChainContext ctx) throws IOException

Overrides org.glassfish.grizzly.filterchain.BaseFilter.handleAccept.

Implements org.glassfish.grizzly.filterchain.Filter.handleAccept.

Doc from org.glassfish.grizzly.filterchain.BaseFilter.handleAccept.

Execute a unit of processing work to be performed, when server channel has accepted the client connection. This 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.

Annotations
@Override
handleCloseback to summary
public NextAction handleClose(final FilterChainContext ctx) throws IOException

Overrides org.glassfish.grizzly.filterchain.BaseFilter.handleClose.

Implements org.glassfish.grizzly.filterchain.Filter.handleClose.

Doc from org.glassfish.grizzly.filterchain.BaseFilter.handleClose.

Execute a unit of processing work to be performed, when connection has been closed. This 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.

Annotations
@Override
handleConnectback to summary
public NextAction handleConnect(final FilterChainContext ctx) throws IOException

Overrides org.glassfish.grizzly.filterchain.BaseFilter.handleConnect.

Implements org.glassfish.grizzly.filterchain.Filter.handleConnect.

Doc from org.glassfish.grizzly.filterchain.BaseFilter.handleConnect.

Execute a unit of processing work to be performed, when channel gets connected. This 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.

Annotations
@Override
handleReadback to summary
public NextAction handleRead(final FilterChainContext ctx) throws IOException

Overrides org.glassfish.grizzly.filterchain.BaseFilter.handleRead.

Implements org.glassfish.grizzly.filterchain.Filter.handleRead.

Doc from org.glassfish.grizzly.filterchain.BaseFilter.handleRead.

Execute a unit of processing work to be performed, when channel will become available for reading. This 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.

Annotations
@Override
handleWriteback to summary
public NextAction handleWrite(final FilterChainContext ctx) throws IOException

Overrides org.glassfish.grizzly.filterchain.BaseFilter.handleWrite.

Implements org.glassfish.grizzly.filterchain.Filter.handleWrite.

Doc from org.glassfish.grizzly.filterchain.BaseFilter.handleWrite.

Execute a unit of processing work to be performed, when some data should be written on channel. This 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.

Annotations
@Override
org.glassfish.grizzly.utils back to summary

private final Class ActivityCheckFilter.ActiveRecord

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
private volatile long

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

timeoutMillisback to summary
private volatile long timeoutMillis

Constructor Detail

ActiveRecordback to summary
private ActiveRecord()
org.glassfish.grizzly.utils back to summary

private final Class ActivityCheckFilter.DefaultWorker

extends Object
implements DelayedExecutor.Worker<Connection<L>>
Class Inheritance
  • java.lang.Object
  • org.glassfish.grizzly.utils.ActivityCheckFilter.DefaultWorker
All Implemented Interfaces
org.glassfish.grizzly.utils.DelayedExecutor.Worker

Field Summary

Modifier and TypeField and Description
private final ActivityCheckFilter.TimeoutHandler

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public boolean
doWork(final Connection<L> connection)

Implements org.glassfish.grizzly.utils.DelayedExecutor.Worker.doWork.

The method is executed by DelayExecutor once element's timeout expires.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

handlerback to summary
private final ActivityCheckFilter.TimeoutHandler handler

Constructor Detail

DefaultWorkerback to summary
pack-priv DefaultWorker(final ActivityCheckFilter.TimeoutHandler handler)

Method Detail

doWorkback to summary
public boolean doWork(final Connection<L> connection)

Implements org.glassfish.grizzly.utils.DelayedExecutor.Worker.doWork.

Doc from org.glassfish.grizzly.utils.DelayedExecutor.Worker.doWork.

The method is executed by DelayExecutor once element's timeout expires.

Annotations
@Override
org.glassfish.grizzly.utils back to summary

private final Class ActivityCheckFilter.Resolver

extends Object
implements DelayedExecutor.Resolver<Connection<L>>
Class Inheritance
All Implemented Interfaces
org.glassfish.grizzly.utils.DelayedExecutor.Resolver

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public long
public boolean
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

Resolverback to summary
private Resolver()

Method Detail

getTimeoutMillisback to summary
public long getTimeoutMillis(final Connection<L> connection)

Implements org.glassfish.grizzly.utils.DelayedExecutor.Resolver.getTimeoutMillis.

Annotations
@Override
removeTimeoutback to summary
public boolean removeTimeout(final Connection<L> connection)

Implements org.glassfish.grizzly.utils.DelayedExecutor.Resolver.removeTimeout.

Annotations
@Override
setTimeoutMillisback to summary
public void setTimeoutMillis(final Connection<L> connection, final long timeoutMillis)

Implements org.glassfish.grizzly.utils.DelayedExecutor.Resolver.setTimeoutMillis.

Annotations
@Override
org.glassfish.grizzly.utils back to summary

public Interface ActivityCheckFilter.TimeoutHandler


Method Summary

Modifier and TypeMethod and Description
public void
onTimeout(final Connection<L> c)

Method Detail

onTimeoutback to summary
public void onTimeout(final Connection<L> c)