blob: 90f88141b3165575dd18727650fc97ab3d54d230 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_191) on Sat Mar 16 19:15:32 CET 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>KeepAliveFilter (Apache MINA 2.0.0-M2 API Documentation)</title>
<meta name="date" content="2019-03-16">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="KeepAliveFilter (Apache MINA 2.0.0-M2 API Documentation)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/KeepAliveFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/filter/keepalive/KeepAliveFilter.html" target="_top">Frames</a></li>
<li><a href="KeepAliveFilter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.mina.filter.keepalive</div>
<h2 title="Class KeepAliveFilter" class="title">Class KeepAliveFilter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">org.apache.mina.core.filterchain.IoFilterAdapter</a></li>
<li>
<ul class="inheritance">
<li>org.apache.mina.filter.keepalive.KeepAliveFilter</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">KeepAliveFilter</span>
extends <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</a></pre>
<div class="block">An <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilter</code></a> that sends a keep-alive request on
<a href="../../../../../org/apache/mina/core/session/IoEventType.html#SESSION_IDLE"><code>IoEventType.SESSION_IDLE</code></a> and sends back the response for the
sent keep-alive request.
<h2>Interference with <a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html#setIdleTime-org.apache.mina.core.session.IdleStatus-int-"><code>IoSessionConfig.setIdleTime(IdleStatus, int)</code></a></h2>
This filter adjusts <tt>idleTime</tt> of the <a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session"><code>IdleStatus</code></a>s that
this filter is interested in automatically (e.g. <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a>
and <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#WRITER_IDLE"><code>IdleStatus.WRITER_IDLE</code></a>.) Changing the <tt>idleTime</tt>
of the <a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session"><code>IdleStatus</code></a>s can lead this filter to a unexpected behavior.
Please also note that any <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilter</code></a> and <a href="../../../../../org/apache/mina/core/service/IoHandler.html" title="interface in org.apache.mina.core.service"><code>IoHandler</code></a> behind
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html" title="class in org.apache.mina.filter.keepalive"><code>KeepAliveFilter</code></a> will not get any <a href="../../../../../org/apache/mina/core/session/IoEventType.html#SESSION_IDLE"><code>IoEventType.SESSION_IDLE</code></a>
event. To receive the internal <a href="../../../../../org/apache/mina/core/session/IoEventType.html#SESSION_IDLE"><code>IoEventType.SESSION_IDLE</code></a> event,
you can call <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#setForwardEvent-boolean-"><code>setForwardEvent(boolean)</code></a> with <tt>true</tt>.
<h2>Implementing <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive"><code>KeepAliveMessageFactory</code></a></h2>
To use this filter, you have to provide an implementation of
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive"><code>KeepAliveMessageFactory</code></a>, which determines a received or sent
message is a keep-alive message or not and creates a new keep-alive
message:
<table border="1">
<tr>
<th>Name</th><th>Description</th><th>Implementation</th>
</tr>
<tr valign="top">
<td>Active</td>
<td>You want a keep-alive request is sent when the reader is idle.
Once the request is sent, the response for the request should be
received within <tt>keepAliveRequestTimeout</tt> seconds. Otherwise,
the specified <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive"><code>KeepAliveRequestTimeoutHandler</code></a> will be invoked.
If a keep-alive request is received, its response also should be sent back.
</td>
<td>Both <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#getRequest-org.apache.mina.core.session.IoSession-"><code>KeepAliveMessageFactory.getRequest(IoSession)</code></a> and
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#getResponse-org.apache.mina.core.session.IoSession-java.lang.Object-"><code>KeepAliveMessageFactory.getResponse(IoSession, Object)</code></a> must
return a non-<tt>null</tt>.</td>
</tr>
<tr valign="top">
<td>Semi-active</td>
<td>You want a keep-alive request to be sent when the reader is idle.
However, you don't really care if the response is received or not.
If a keep-alive request is received, its response should
also be sent back.
</td>
<td>Both <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#getRequest-org.apache.mina.core.session.IoSession-"><code>KeepAliveMessageFactory.getRequest(IoSession)</code></a> and
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#getResponse-org.apache.mina.core.session.IoSession-java.lang.Object-"><code>KeepAliveMessageFactory.getResponse(IoSession, Object)</code></a> must
return a non-<tt>null</tt>, and the <tt>timeoutHandler</tt> property
should be set to <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#NOOP"><code>KeepAliveRequestTimeoutHandler.NOOP</code></a>,
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#LOG"><code>KeepAliveRequestTimeoutHandler.LOG</code></a> or the custom <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive"><code>KeepAliveRequestTimeoutHandler</code></a>
implementation that doesn't affect the session state nor throw an exception.
</td>
</tr>
<tr valign="top">
<td>Passive</td>
<td>You don't want to send a keep-alive request by yourself, but the
response should be sent back if a keep-alive request is received.</td>
<td><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#getRequest-org.apache.mina.core.session.IoSession-"><code>KeepAliveMessageFactory.getRequest(IoSession)</code></a> must return
<tt>null</tt> and <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#getResponse-org.apache.mina.core.session.IoSession-java.lang.Object-"><code>KeepAliveMessageFactory.getResponse(IoSession, Object)</code></a>
must return a non-<tt>null</tt>.</td>
</tr>
<tr valign="top">
<td>Deaf Speaker</td>
<td>You want a keep-alive request to be sent when the reader is idle, but
you don't want to send any response back.</td>
<td><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#getRequest-org.apache.mina.core.session.IoSession-"><code>KeepAliveMessageFactory.getRequest(IoSession)</code></a> must return
a non-<tt>null</tt>,
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#getResponse-org.apache.mina.core.session.IoSession-java.lang.Object-"><code>KeepAliveMessageFactory.getResponse(IoSession, Object)</code></a> must
return <tt>null</tt> and the <tt>timeoutHandler</tt> must be set to
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#DEAF_SPEAKER"><code>KeepAliveRequestTimeoutHandler.DEAF_SPEAKER</code></a>.</td>
</tr>
<tr valign="top">
<td>Silent Listener</td>
<td>You don't want to send a keep-alive request by yourself nor send any
response back.</td>
<td>Both <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#getRequest-org.apache.mina.core.session.IoSession-"><code>KeepAliveMessageFactory.getRequest(IoSession)</code></a> and
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#getResponse-org.apache.mina.core.session.IoSession-java.lang.Object-"><code>KeepAliveMessageFactory.getResponse(IoSession, Object)</code></a> must
return <tt>null</tt>.</td>
</tr>
</table>
Please note that you must implement
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#isRequest-org.apache.mina.core.session.IoSession-java.lang.Object-"><code>KeepAliveMessageFactory.isRequest(IoSession, Object)</code></a> and
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html#isResponse-org.apache.mina.core.session.IoSession-java.lang.Object-"><code>KeepAliveMessageFactory.isResponse(IoSession, Object)</code></a> properly
whatever case you chose.
<h2>Handling timeout</h2>
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html" title="class in org.apache.mina.filter.keepalive"><code>KeepAliveFilter</code></a> will notify its <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive"><code>KeepAliveRequestTimeoutHandler</code></a>
when <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html" title="class in org.apache.mina.filter.keepalive"><code>KeepAliveFilter</code></a> didn't receive the response message for a sent
keep-alive message. The default handler is <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#CLOSE"><code>KeepAliveRequestTimeoutHandler.CLOSE</code></a>,
but you can use other presets such as <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#NOOP"><code>KeepAliveRequestTimeoutHandler.NOOP</code></a>,
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#LOG"><code>KeepAliveRequestTimeoutHandler.LOG</code></a> or <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#EXCEPTION"><code>KeepAliveRequestTimeoutHandler.EXCEPTION</code></a>.
You can even implement your own handler.
<h3>Special handler: <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#DEAF_SPEAKER"><code>KeepAliveRequestTimeoutHandler.DEAF_SPEAKER</code></a></h3>
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#DEAF_SPEAKER"><code>KeepAliveRequestTimeoutHandler.DEAF_SPEAKER</code></a> is a special handler which is
dedicated for the 'deaf speaker' mode mentioned above. Setting the
<tt>timeoutHandler</tt> property to <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#DEAF_SPEAKER"><code>KeepAliveRequestTimeoutHandler.DEAF_SPEAKER</code></a>
stops this filter from waiting for response messages and therefore disables
response timeout detection.</div>
<dl>
<dt><span class="simpleTagLabel">Version:</span></dt>
<dd>$Rev: 671827 $, $Date: 2008-06-26 10:49:48 +0200 (Thu, 26 Jun 2008) $</dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>The Apache MINA Project (dev@mina.apache.org)</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.mina.core.filterchain.IoFilter">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.mina.core.filterchain.<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</a></h3>
<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#KeepAliveFilter-org.apache.mina.filter.keepalive.KeepAliveMessageFactory-">KeepAliveFilter</a></span>(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a>&nbsp;messageFactory)</code>
<div class="block">Creates a new instance with the default properties.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#KeepAliveFilter-org.apache.mina.filter.keepalive.KeepAliveMessageFactory-org.apache.mina.core.session.IdleStatus-">KeepAliveFilter</a></span>(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a>&nbsp;messageFactory,
<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a>&nbsp;interestedIdleStatus)</code>
<div class="block">Creates a new instance with the default properties.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#KeepAliveFilter-org.apache.mina.filter.keepalive.KeepAliveMessageFactory-org.apache.mina.core.session.IdleStatus-org.apache.mina.filter.keepalive.KeepAliveRequestTimeoutHandler-">KeepAliveFilter</a></span>(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a>&nbsp;messageFactory,
<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a>&nbsp;interestedIdleStatus,
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveRequestTimeoutHandler</a>&nbsp;policy)</code>
<div class="block">Creates a new instance with the default properties.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#KeepAliveFilter-org.apache.mina.filter.keepalive.KeepAliveMessageFactory-org.apache.mina.core.session.IdleStatus-org.apache.mina.filter.keepalive.KeepAliveRequestTimeoutHandler-int-int-">KeepAliveFilter</a></span>(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a>&nbsp;messageFactory,
<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a>&nbsp;interestedIdleStatus,
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveRequestTimeoutHandler</a>&nbsp;policy,
int&nbsp;keepAliveRequestInterval,
int&nbsp;keepAliveRequestTimeout)</code>
<div class="block">Creates a new instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#KeepAliveFilter-org.apache.mina.filter.keepalive.KeepAliveMessageFactory-org.apache.mina.filter.keepalive.KeepAliveRequestTimeoutHandler-">KeepAliveFilter</a></span>(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a>&nbsp;messageFactory,
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveRequestTimeoutHandler</a>&nbsp;policy)</code>
<div class="block">Creates a new instance with the default properties.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#getInterestedIdleStatus--">getInterestedIdleStatus</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#getMessageFactory--">getMessageFactory</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#getRequestInterval--">getRequestInterval</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#getRequestTimeout--">getRequestTimeout</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveRequestTimeoutHandler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#getRequestTimeoutHandler--">getRequestTimeoutHandler</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#isForwardEvent--">isForwardEvent</a></span>()</code>
<div class="block">Returns <tt>true</tt> if and only if this filter forwards
a <a href="../../../../../org/apache/mina/core/session/IoEventType.html#SESSION_IDLE"><code>IoEventType.SESSION_IDLE</code></a> event to the next filter.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#messageReceived-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-java.lang.Object-">messageReceived</a></span>(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter,
<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
java.lang.Object&nbsp;message)</code>
<div class="block">Filters <a href="../../../../../org/apache/mina/core/service/IoHandler.html#messageReceived-org.apache.mina.core.session.IoSession-java.lang.Object-"><code>IoHandler.messageReceived(IoSession,Object)</code></a>
event.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#messageSent-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.write.WriteRequest-">messageSent</a></span>(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter,
<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a>&nbsp;writeRequest)</code>
<div class="block">Filters <a href="../../../../../org/apache/mina/core/service/IoHandler.html#messageSent-org.apache.mina.core.session.IoSession-java.lang.Object-"><code>IoHandler.messageSent(IoSession,Object)</code></a>
event.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#onPostAdd-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">onPostAdd</a></span>(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</a>&nbsp;parent,
java.lang.String&nbsp;name,
<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter)</code>
<div class="block">Invoked after this filter is added to the specified <tt>parent</tt>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#onPostRemove-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">onPostRemove</a></span>(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</a>&nbsp;parent,
java.lang.String&nbsp;name,
<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter)</code>
<div class="block">Invoked after this filter is removed from the specified <tt>parent</tt>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#onPreAdd-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">onPreAdd</a></span>(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</a>&nbsp;parent,
java.lang.String&nbsp;name,
<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter)</code>
<div class="block">Invoked before this filter is added to the specified <tt>parent</tt>.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#sessionIdle-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.session.IdleStatus-">sessionIdle</a></span>(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter,
<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a>&nbsp;status)</code>
<div class="block">Filters <a href="../../../../../org/apache/mina/core/service/IoHandler.html#sessionIdle-org.apache.mina.core.session.IoSession-org.apache.mina.core.session.IdleStatus-"><code>IoHandler.sessionIdle(IoSession,IdleStatus)</code></a>
event.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#setForwardEvent-boolean-">setForwardEvent</a></span>(boolean&nbsp;forwardEvent)</code>
<div class="block">Sets if this filter needs to forward a
<a href="../../../../../org/apache/mina/core/session/IoEventType.html#SESSION_IDLE"><code>IoEventType.SESSION_IDLE</code></a> event to the next filter.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#setRequestInterval-int-">setRequestInterval</a></span>(int&nbsp;keepAliveRequestInterval)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#setRequestTimeout-int-">setRequestTimeout</a></span>(int&nbsp;keepAliveRequestTimeout)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveFilter.html#setRequestTimeoutHandler-org.apache.mina.filter.keepalive.KeepAliveRequestTimeoutHandler-">setRequestTimeoutHandler</a></span>(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveRequestTimeoutHandler</a>&nbsp;timeoutHandler)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.mina.core.filterchain.IoFilterAdapter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.mina.core.filterchain.<a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</a></h3>
<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#destroy--">destroy</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#exceptionCaught-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-java.lang.Throwable-">exceptionCaught</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#filterClose-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-">filterClose</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#filterSetTrafficMask-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.session.TrafficMask-">filterSetTrafficMask</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#filterWrite-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.write.WriteRequest-">filterWrite</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#init--">init</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPreRemove-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">onPreRemove</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#sessionClosed-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-">sessionClosed</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#sessionCreated-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-">sessionCreated</a>, <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#sessionOpened-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-">sessionOpened</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="KeepAliveFilter-org.apache.mina.filter.keepalive.KeepAliveMessageFactory-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KeepAliveFilter</h4>
<pre>public&nbsp;KeepAliveFilter(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a>&nbsp;messageFactory)</pre>
<div class="block">Creates a new instance with the default properties.
The default property values are:
<ul>
<li><tt>interestedIdleStatus</tt> - <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a></li>
<li><tt>policy</tt> = <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#CLOSE"><code>KeepAliveRequestTimeoutHandler.CLOSE</code></a></li>
<li><tt>keepAliveRequestInterval</tt> - 60 (seconds)</li>
<li><tt>keepAliveRequestTimeout</tt> - 30 (seconds)</li>
</ul></div>
</li>
</ul>
<a name="KeepAliveFilter-org.apache.mina.filter.keepalive.KeepAliveMessageFactory-org.apache.mina.core.session.IdleStatus-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KeepAliveFilter</h4>
<pre>public&nbsp;KeepAliveFilter(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a>&nbsp;messageFactory,
<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a>&nbsp;interestedIdleStatus)</pre>
<div class="block">Creates a new instance with the default properties.
The default property values are:
<ul>
<li><tt>policy</tt> = <a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html#CLOSE"><code>KeepAliveRequestTimeoutHandler.CLOSE</code></a></li>
<li><tt>keepAliveRequestInterval</tt> - 60 (seconds)</li>
<li><tt>keepAliveRequestTimeout</tt> - 30 (seconds)</li>
</ul></div>
</li>
</ul>
<a name="KeepAliveFilter-org.apache.mina.filter.keepalive.KeepAliveMessageFactory-org.apache.mina.filter.keepalive.KeepAliveRequestTimeoutHandler-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KeepAliveFilter</h4>
<pre>public&nbsp;KeepAliveFilter(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a>&nbsp;messageFactory,
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveRequestTimeoutHandler</a>&nbsp;policy)</pre>
<div class="block">Creates a new instance with the default properties.
The default property values are:
<ul>
<li><tt>interestedIdleStatus</tt> - <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a></li>
<li><tt>keepAliveRequestInterval</tt> - 60 (seconds)</li>
<li><tt>keepAliveRequestTimeout</tt> - 30 (seconds)</li>
</ul></div>
</li>
</ul>
<a name="KeepAliveFilter-org.apache.mina.filter.keepalive.KeepAliveMessageFactory-org.apache.mina.core.session.IdleStatus-org.apache.mina.filter.keepalive.KeepAliveRequestTimeoutHandler-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>KeepAliveFilter</h4>
<pre>public&nbsp;KeepAliveFilter(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a>&nbsp;messageFactory,
<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a>&nbsp;interestedIdleStatus,
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveRequestTimeoutHandler</a>&nbsp;policy)</pre>
<div class="block">Creates a new instance with the default properties.
The default property values are:
<ul>
<li><tt>keepAliveRequestInterval</tt> - 60 (seconds)</li>
<li><tt>keepAliveRequestTimeout</tt> - 30 (seconds)</li>
</ul></div>
</li>
</ul>
<a name="KeepAliveFilter-org.apache.mina.filter.keepalive.KeepAliveMessageFactory-org.apache.mina.core.session.IdleStatus-org.apache.mina.filter.keepalive.KeepAliveRequestTimeoutHandler-int-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>KeepAliveFilter</h4>
<pre>public&nbsp;KeepAliveFilter(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a>&nbsp;messageFactory,
<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a>&nbsp;interestedIdleStatus,
<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveRequestTimeoutHandler</a>&nbsp;policy,
int&nbsp;keepAliveRequestInterval,
int&nbsp;keepAliveRequestTimeout)</pre>
<div class="block">Creates a new instance.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getInterestedIdleStatus--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInterestedIdleStatus</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a>&nbsp;getInterestedIdleStatus()</pre>
</li>
</ul>
<a name="getRequestTimeoutHandler--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequestTimeoutHandler</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveRequestTimeoutHandler</a>&nbsp;getRequestTimeoutHandler()</pre>
</li>
</ul>
<a name="setRequestTimeoutHandler-org.apache.mina.filter.keepalive.KeepAliveRequestTimeoutHandler-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequestTimeoutHandler</h4>
<pre>public&nbsp;void&nbsp;setRequestTimeoutHandler(<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveRequestTimeoutHandler.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveRequestTimeoutHandler</a>&nbsp;timeoutHandler)</pre>
</li>
</ul>
<a name="getRequestInterval--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequestInterval</h4>
<pre>public&nbsp;int&nbsp;getRequestInterval()</pre>
</li>
</ul>
<a name="setRequestInterval-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequestInterval</h4>
<pre>public&nbsp;void&nbsp;setRequestInterval(int&nbsp;keepAliveRequestInterval)</pre>
</li>
</ul>
<a name="getRequestTimeout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequestTimeout</h4>
<pre>public&nbsp;int&nbsp;getRequestTimeout()</pre>
</li>
</ul>
<a name="setRequestTimeout-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequestTimeout</h4>
<pre>public&nbsp;void&nbsp;setRequestTimeout(int&nbsp;keepAliveRequestTimeout)</pre>
</li>
</ul>
<a name="getMessageFactory--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessageFactory</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive">KeepAliveMessageFactory</a>&nbsp;getMessageFactory()</pre>
</li>
</ul>
<a name="isForwardEvent--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isForwardEvent</h4>
<pre>public&nbsp;boolean&nbsp;isForwardEvent()</pre>
<div class="block">Returns <tt>true</tt> if and only if this filter forwards
a <a href="../../../../../org/apache/mina/core/session/IoEventType.html#SESSION_IDLE"><code>IoEventType.SESSION_IDLE</code></a> event to the next filter.
By default, the value of this property is <tt>false</tt>.</div>
</li>
</ul>
<a name="setForwardEvent-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setForwardEvent</h4>
<pre>public&nbsp;void&nbsp;setForwardEvent(boolean&nbsp;forwardEvent)</pre>
<div class="block">Sets if this filter needs to forward a
<a href="../../../../../org/apache/mina/core/session/IoEventType.html#SESSION_IDLE"><code>IoEventType.SESSION_IDLE</code></a> event to the next filter.
By default, the value of this property is <tt>false</tt>.</div>
</li>
</ul>
<a name="onPreAdd-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onPreAdd</h4>
<pre>public&nbsp;void&nbsp;onPreAdd(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</a>&nbsp;parent,
java.lang.String&nbsp;name,
<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter)
throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#onPreAdd-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">IoFilter</a></code></span></div>
<div class="block">Invoked before this filter is added to the specified <tt>parent</tt>.
Please note that this method can be invoked more than once if
this filter is added to more than one parents. This method is not
invoked before <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#init--"><code>IoFilter.init()</code></a> is invoked.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#onPreAdd-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">onPreAdd</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPreAdd-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">onPreAdd</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent who called this method</dd>
<dd><code>name</code> - the name assigned to this filter</dd>
<dd><code>nextFilter</code> - the <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilter.NextFilter</code></a> for this filter. You can reuse
this object until this filter is removed from the chain.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="onPostAdd-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onPostAdd</h4>
<pre>public&nbsp;void&nbsp;onPostAdd(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</a>&nbsp;parent,
java.lang.String&nbsp;name,
<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter)
throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#onPostAdd-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">IoFilter</a></code></span></div>
<div class="block">Invoked after this filter is added to the specified <tt>parent</tt>.
Please note that this method can be invoked more than once if
this filter is added to more than one parents. This method is not
invoked before <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#init--"><code>IoFilter.init()</code></a> is invoked.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#onPostAdd-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">onPostAdd</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPostAdd-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">onPostAdd</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent who called this method</dd>
<dd><code>name</code> - the name assigned to this filter</dd>
<dd><code>nextFilter</code> - the <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilter.NextFilter</code></a> for this filter. You can reuse
this object until this filter is removed from the chain.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="onPostRemove-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onPostRemove</h4>
<pre>public&nbsp;void&nbsp;onPostRemove(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html" title="interface in org.apache.mina.core.filterchain">IoFilterChain</a>&nbsp;parent,
java.lang.String&nbsp;name,
<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter)
throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#onPostRemove-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">IoFilter</a></code></span></div>
<div class="block">Invoked after this filter is removed from the specified <tt>parent</tt>.
Please note that this method can be invoked more than once if
this filter is removed from more than one parents.
This method is always invoked before <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#destroy--"><code>IoFilter.destroy()</code></a> is invoked.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#onPostRemove-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">onPostRemove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#onPostRemove-org.apache.mina.core.filterchain.IoFilterChain-java.lang.String-org.apache.mina.core.filterchain.IoFilter.NextFilter-">onPostRemove</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>parent</code> - the parent who called this method</dd>
<dd><code>name</code> - the name assigned to this filter</dd>
<dd><code>nextFilter</code> - the <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain"><code>IoFilter.NextFilter</code></a> for this filter. You can reuse
this object until this filter is removed from the chain.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="messageReceived-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>messageReceived</h4>
<pre>public&nbsp;void&nbsp;messageReceived(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter,
<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
java.lang.Object&nbsp;message)
throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#messageReceived-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-java.lang.Object-">IoFilter</a></code></span></div>
<div class="block">Filters <a href="../../../../../org/apache/mina/core/service/IoHandler.html#messageReceived-org.apache.mina.core.session.IoSession-java.lang.Object-"><code>IoHandler.messageReceived(IoSession,Object)</code></a>
event.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#messageReceived-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-java.lang.Object-">messageReceived</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#messageReceived-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-java.lang.Object-">messageReceived</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="messageSent-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.write.WriteRequest-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>messageSent</h4>
<pre>public&nbsp;void&nbsp;messageSent(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter,
<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a>&nbsp;writeRequest)
throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#messageSent-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.write.WriteRequest-">IoFilter</a></code></span></div>
<div class="block">Filters <a href="../../../../../org/apache/mina/core/service/IoHandler.html#messageSent-org.apache.mina.core.session.IoSession-java.lang.Object-"><code>IoHandler.messageSent(IoSession,Object)</code></a>
event.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#messageSent-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.write.WriteRequest-">messageSent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#messageSent-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.write.WriteRequest-">messageSent</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="sessionIdle-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.session.IdleStatus-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>sessionIdle</h4>
<pre>public&nbsp;void&nbsp;sessionIdle(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.NextFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter.NextFilter</a>&nbsp;nextFilter,
<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a>&nbsp;status)
throws java.lang.Exception</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#sessionIdle-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.session.IdleStatus-">IoFilter</a></code></span></div>
<div class="block">Filters <a href="../../../../../org/apache/mina/core/service/IoHandler.html#sessionIdle-org.apache.mina.core.session.IoSession-org.apache.mina.core.session.IdleStatus-"><code>IoHandler.sessionIdle(IoSession,IdleStatus)</code></a>
event.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html#sessionIdle-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.session.IdleStatus-">sessionIdle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html" title="interface in org.apache.mina.core.filterchain">IoFilter</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html#sessionIdle-org.apache.mina.core.filterchain.IoFilter.NextFilter-org.apache.mina.core.session.IoSession-org.apache.mina.core.session.IdleStatus-">sessionIdle</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html" title="class in org.apache.mina.core.filterchain">IoFilterAdapter</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/KeepAliveFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../org/apache/mina/filter/keepalive/KeepAliveMessageFactory.html" title="interface in org.apache.mina.filter.keepalive"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/filter/keepalive/KeepAliveFilter.html" target="_top">Frames</a></li>
<li><a href="KeepAliveFilter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2004-2019 <a href="http://mina.apache.org/">Apache MINA Project</a>. All Rights Reserved.</small></p>
</body>
</html>