Package org.glassfish.grizzly.utils
Class SilentConnectionFilter
- java.lang.Object
-
- org.glassfish.grizzly.filterchain.BaseFilter
-
- org.glassfish.grizzly.utils.SilentConnectionFilter
-
- All Implemented Interfaces:
Filter
public final class SilentConnectionFilter extends BaseFilter
Filter, which determines silent connections and closes them. The silent connection is a connection, which didn't send/receive any byte since it was accepted during specified period of time.- Author:
- Alexey Stashok
-
-
Field Summary
Fields Modifier and Type Field Description static long
UNLIMITED_TIMEOUT
static long
UNSET_TIMEOUT
-
Constructor Summary
Constructors Constructor Description SilentConnectionFilter(DelayedExecutor executor, long timeout, TimeUnit timeunit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getTimeout(TimeUnit timeunit)
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
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.-
Methods inherited from class org.glassfish.grizzly.filterchain.BaseFilter
createContext, exceptionOccurred, handleConnect, handleEvent, onAdded, onFilterChainChanged, onRemoved, toString
-
-
-
-
Field Detail
-
UNLIMITED_TIMEOUT
public static final long UNLIMITED_TIMEOUT
- See Also:
- Constant Field Values
-
UNSET_TIMEOUT
public static final long UNSET_TIMEOUT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SilentConnectionFilter
public SilentConnectionFilter(DelayedExecutor executor, long timeout, TimeUnit timeunit)
-
-
Method Detail
-
getTimeout
public long getTimeout(TimeUnit timeunit)
-
handleAccept
public NextAction handleAccept(FilterChainContext ctx) throws IOException
Description copied from class:BaseFilter
Execute a unit of processing work to be performed, when server channel has accepted the client connection. ThisFilter
may either complete the required processing and return false, or delegate remaining processing to the nextFilter
in aFilterChain
containing thisFilter
by returning true.- Specified by:
handleAccept
in interfaceFilter
- Overrides:
handleAccept
in classBaseFilter
- Parameters:
ctx
-FilterChainContext
- Returns:
NextAction
instruction forFilterChain
, how it should continue the execution- Throws:
IOException
-
handleRead
public NextAction handleRead(FilterChainContext ctx) throws IOException
Description copied from class:BaseFilter
Execute a unit of processing work to be performed, when channel will become available for reading. ThisFilter
may either complete the required processing and return false, or delegate remaining processing to the nextFilter
in aFilterChain
containing thisFilter
by returning true.- Specified by:
handleRead
in interfaceFilter
- Overrides:
handleRead
in classBaseFilter
- Parameters:
ctx
-FilterChainContext
- Returns:
NextAction
instruction forFilterChain
, how it should continue the execution- Throws:
IOException
-
handleWrite
public NextAction handleWrite(FilterChainContext ctx) throws IOException
Description copied from class:BaseFilter
Execute a unit of processing work to be performed, when some data should be written on channel. ThisFilter
may either complete the required processing and return false, or delegate remaining processing to the nextFilter
in aFilterChain
containing thisFilter
by returning true.- Specified by:
handleWrite
in interfaceFilter
- Overrides:
handleWrite
in classBaseFilter
- Parameters:
ctx
-FilterChainContext
- Returns:
NextAction
instruction forFilterChain
, how it should continue the execution- Throws:
IOException
-
handleClose
public NextAction handleClose(FilterChainContext ctx) throws IOException
Description copied from class:BaseFilter
Execute a unit of processing work to be performed, when connection has been closed. ThisFilter
may either complete the required processing and return false, or delegate remaining processing to the nextFilter
in aFilterChain
containing thisFilter
by returning true.- Specified by:
handleClose
in interfaceFilter
- Overrides:
handleClose
in classBaseFilter
- Parameters:
ctx
-FilterChainContext
- Returns:
NextAction
instruction forFilterChain
, how it should continue the execution- Throws:
IOException
-
-