blob: 9d4ff89024f6900fb582700583c93c0049d6bb37 [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 18:07:14 CET 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IoSession (Apache MINA 2.0.0-M1 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="IoSession (Apache MINA 2.0.0-M1 API Documentation)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":38,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":38,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":6,"i59":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated 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/IoSession.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><a href="../../../../org/apache/mina/common/IoServiceListenerSupport.html" title="class in org.apache.mina.common"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/mina/common/IoSessionAttributeMap.html" title="interface in org.apache.mina.common"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/mina/common/IoSession.html" target="_top">Frames</a></li>
<li><a href="IoSession.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>Constr&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>Constr&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.common</div>
<h2 title="Interface IoSession" class="title">Interface IoSession</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../org/apache/mina/transport/socket/DatagramSession.html" title="interface in org.apache.mina.transport.socket">DatagramSession</a>, <a href="../../../../org/apache/mina/transport/socket/SocketSession.html" title="interface in org.apache.mina.transport.socket">SocketSession</a>, <a href="../../../../org/apache/mina/transport/vmpipe/VmPipeSession.html" title="interface in org.apache.mina.transport.vmpipe">VmPipeSession</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/mina/common/AbstractIoSession.html" title="class in org.apache.mina.common">AbstractIoSession</a>, <a href="../../../../org/apache/mina/common/DummySession.html" title="class in org.apache.mina.common">DummySession</a>, <a href="../../../../org/apache/mina/filter/codec/ProtocolCodecSession.html" title="class in org.apache.mina.filter.codec">ProtocolCodecSession</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">IoSession</span></pre>
<div class="block">A handle which represents connection between two end-points regardless of
transport types.
<p/>
<a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common"><code>IoSession</code></a> provides user-defined attributes. User-defined attributes
are application-specific data which is associated with a session.
It often contains objects that represents the state of a higher-level protocol
and becomes a way to exchange data between filters and handlers.
<p/>
<h3>Adjusting Transport Type Specific Properties</h3>
<p/>
You can simply downcast the session to an appropriate subclass.
</p>
<p/>
<h3>Thread Safety</h3>
<p/>
<a href="../../../../org/apache/mina/common/IoSession.html" title="interface in org.apache.mina.common"><code>IoSession</code></a> is thread-safe. But please note that performing
more than one <a href="../../../../org/apache/mina/common/IoSession.html#write-java.lang.Object-"><code>write(Object)</code></a> calls at the same time will
cause the <a href="../../../../org/apache/mina/common/IoFilter.html#filterWrite-org.apache.mina.common.IoFilter.NextFilter-org.apache.mina.common.IoSession-org.apache.mina.common.WriteRequest-"><code>IoFilter.filterWrite(IoFilter.NextFilter,IoSession,WriteRequest)</code></a>
is executed simultaneously, and therefore you have to make sure the
<a href="../../../../org/apache/mina/common/IoFilter.html" title="interface in org.apache.mina.common"><code>IoFilter</code></a> implementations you're using are thread-safe, too.
</p>
<p/>
<h3>Equality of Sessions</h3>
<code>#equals(Object)</code> and <code>#hashCode()</code> shall not be overriden
to the default behavior that is defined in <code>Object</code>.</div>
<dl>
<dt><span class="simpleTagLabel">Version:</span></dt>
<dd>$Rev: 601679 $, $Date: 2007-12-06 11:13:21 +0100 (Thu, 06 Dec 2007) $</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">
<!-- ========== 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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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/common/CloseFuture.html" title="interface in org.apache.mina.common">CloseFuture</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#close--">close</a></span>()</code>
<div class="block">Closes this session immediately.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common">CloseFuture</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#close-boolean-">close</a></span>(boolean&nbsp;immediately)</code>
<div class="block">Closes this session immediately or after all queued write requests
are flushed.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common">CloseFuture</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#closeOnFlush--">closeOnFlush</a></span>()</code>
<div class="block">Closes this session after all queued write requests are flushed.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#containsAttribute-java.lang.Object-">containsAttribute</a></span>(java.lang.Object&nbsp;key)</code>
<div class="block">Returns <tt>true</tt> if this session contains the attribute with
the specified <tt>key</tt>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getAttachment--">getAttachment</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../../../org/apache/mina/common/IoSession.html#getAttribute-java.lang.Object-"><code>getAttribute(Object)</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getAttribute-java.lang.Object-">getAttribute</a></span>(java.lang.Object&nbsp;key)</code>
<div class="block">Returns the value of the user-defined attribute of this session.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getAttribute-java.lang.Object-java.lang.Object-">getAttribute</a></span>(java.lang.Object&nbsp;key,
java.lang.Object&nbsp;defaultValue)</code>
<div class="block">Returns the value of user defined attribute associated with the
specified key.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.util.Set&lt;java.lang.Object&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getAttributeKeys--">getAttributeKeys</a></span>()</code>
<div class="block">Returns the set of keys of all user-defined attributes.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getBothIdleCount--">getBothIdleCount</a></span>()</code>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../org/apache/mina/common/IdleStatus.html#BOTH_IDLE"><code>IdleStatus.BOTH_IDLE</code></a>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common">CloseFuture</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getCloseFuture--">getCloseFuture</a></span>()</code>
<div class="block">Returns the <a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common"><code>CloseFuture</code></a> of this session.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/IoSessionConfig.html" title="interface in org.apache.mina.common">IoSessionConfig</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getConfig--">getConfig</a></span>()</code>
<div class="block">Returns the configuration of this session.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getCreationTime--">getCreationTime</a></span>()</code>
<div class="block">Returns the time in millis when this session is created.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getFilterChain--">getFilterChain</a></span>()</code>
<div class="block">Returns the filter chain that only affects this session.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/IoHandler.html" title="interface in org.apache.mina.common">IoHandler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getHandler--">getHandler</a></span>()</code>
<div class="block">Returns the <a href="../../../../org/apache/mina/common/IoHandler.html" title="interface in org.apache.mina.common"><code>IoHandler</code></a> which handles this session.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getId--">getId</a></span>()</code>
<div class="block">Returns a unique identifier of this session.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getIdleCount-org.apache.mina.common.IdleStatus-">getIdleCount</a></span>(<a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common">IdleStatus</a>&nbsp;status)</code>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for the specified <a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common"><code>IdleStatus</code></a>.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getLastBothIdleTime--">getLastBothIdleTime</a></span>()</code>
<div class="block">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for <a href="../../../../org/apache/mina/common/IdleStatus.html#BOTH_IDLE"><code>IdleStatus.BOTH_IDLE</code></a>.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getLastIdleTime-org.apache.mina.common.IdleStatus-">getLastIdleTime</a></span>(<a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common">IdleStatus</a>&nbsp;status)</code>
<div class="block">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for the specified <a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common"><code>IdleStatus</code></a>.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getLastIoTime--">getLastIoTime</a></span>()</code>
<div class="block">Returns the time in millis when I/O occurred lastly.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getLastReaderIdleTime--">getLastReaderIdleTime</a></span>()</code>
<div class="block">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for <a href="../../../../org/apache/mina/common/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a>.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getLastReadTime--">getLastReadTime</a></span>()</code>
<div class="block">Returns the time in millis when read operation occurred lastly.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getLastWriterIdleTime--">getLastWriterIdleTime</a></span>()</code>
<div class="block">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for <a href="../../../../org/apache/mina/common/IdleStatus.html#WRITER_IDLE"><code>IdleStatus.WRITER_IDLE</code></a>.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getLastWriteTime--">getLastWriteTime</a></span>()</code>
<div class="block">Returns the time in millis when write operation occurred lastly.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>java.net.SocketAddress</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getLocalAddress--">getLocalAddress</a></span>()</code>
<div class="block">Returns the socket address of local machine which is associated with this
session.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getReadBytes--">getReadBytes</a></span>()</code>
<div class="block">Returns the total number of bytes which were read from this session.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getReadBytesThroughput--">getReadBytesThroughput</a></span>()</code>
<div class="block">Returns the number of read bytes per second.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getReaderIdleCount--">getReaderIdleCount</a></span>()</code>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../org/apache/mina/common/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a>.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getReadMessages--">getReadMessages</a></span>()</code>
<div class="block">Returns the total number of messages which were read and decoded from this session.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getReadMessagesThroughput--">getReadMessagesThroughput</a></span>()</code>
<div class="block">Returns the number of read messages per second.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>java.net.SocketAddress</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getRemoteAddress--">getRemoteAddress</a></span>()</code>
<div class="block">Returns the socket address of remote peer.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getScheduledWriteBytes--">getScheduledWriteBytes</a></span>()</code>
<div class="block">Returns the number of bytes which are scheduled to be written to this
session.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getScheduledWriteMessages--">getScheduledWriteMessages</a></span>()</code>
<div class="block">Returns the number of messages which are scheduled to be written to this session.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/IoService.html" title="interface in org.apache.mina.common">IoService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getService--">getService</a></span>()</code>
<div class="block">Returns the <a href="../../../../org/apache/mina/common/IoService.html" title="interface in org.apache.mina.common"><code>IoService</code></a> which provides I/O service to this session.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>java.net.SocketAddress</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getServiceAddress--">getServiceAddress</a></span>()</code>
<div class="block">Returns the socket address of the <a href="../../../../org/apache/mina/common/IoService.html" title="interface in org.apache.mina.common"><code>IoService</code></a> listens to to manage
this session.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/TrafficMask.html" title="class in org.apache.mina.common">TrafficMask</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getTrafficMask--">getTrafficMask</a></span>()</code>
<div class="block">Returns the current <a href="../../../../org/apache/mina/common/TrafficMask.html" title="class in org.apache.mina.common"><code>TrafficMask</code></a> of this session.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/TransportMetadata.html" title="interface in org.apache.mina.common">TransportMetadata</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getTransportMetadata--">getTransportMetadata</a></span>()</code>
<div class="block">Returns the <a href="../../../../org/apache/mina/common/TransportMetadata.html" title="interface in org.apache.mina.common"><code>TransportMetadata</code></a> that this session runs on.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getWriterIdleCount--">getWriterIdleCount</a></span>()</code>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../org/apache/mina/common/IdleStatus.html#WRITER_IDLE"><code>IdleStatus.WRITER_IDLE</code></a>.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getWrittenBytes--">getWrittenBytes</a></span>()</code>
<div class="block">Returns the total number of bytes which were written to this session.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getWrittenBytesThroughput--">getWrittenBytesThroughput</a></span>()</code>
<div class="block">Returns the number of written bytes per second.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getWrittenMessages--">getWrittenMessages</a></span>()</code>
<div class="block">Returns the total number of messages which were written and encoded by this session.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#getWrittenMessagesThroughput--">getWrittenMessagesThroughput</a></span>()</code>
<div class="block">Returns the number of written messages per second.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#isClosing--">isClosing</a></span>()</code>
<div class="block">Returns <code>true</tt> if and only if this session is being closed
(but not disconnected yet) or is closed.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#isConnected--">isConnected</a></span>()</code>
<div class="block">Returns <code>true</code> if this session is connected with remote peer.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#isIdle-org.apache.mina.common.IdleStatus-">isIdle</a></span>(<a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common">IdleStatus</a>&nbsp;status)</code>
<div class="block">Returns <code>true</code> if this session is idle for the specified
<a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common"><code>IdleStatus</code></a>.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/ReadFuture.html" title="interface in org.apache.mina.common">ReadFuture</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#read--">read</a></span>()</code>
<div class="block">Returns a <a href="../../../../org/apache/mina/common/ReadFuture.html" title="interface in org.apache.mina.common"><code>ReadFuture</code></a> which is notified when a new message is
received, the connection is closed or an exception is caught.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#removeAttribute-java.lang.Object-">removeAttribute</a></span>(java.lang.Object&nbsp;key)</code>
<div class="block">Removes a user-defined attribute with the specified key.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#removeAttribute-java.lang.Object-java.lang.Object-">removeAttribute</a></span>(java.lang.Object&nbsp;key,
java.lang.Object&nbsp;value)</code>
<div class="block">Removes a user defined attribute with the specified key if the current
attribute value is equal to the specified value.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#replaceAttribute-java.lang.Object-java.lang.Object-java.lang.Object-">replaceAttribute</a></span>(java.lang.Object&nbsp;key,
java.lang.Object&nbsp;oldValue,
java.lang.Object&nbsp;newValue)</code>
<div class="block">Replaces a user defined attribute with the specified key if the
value of the attribute is equals to the specified old value.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#resumeRead--">resumeRead</a></span>()</code>
<div class="block">A shortcut method for <a href="../../../../org/apache/mina/common/IoSession.html#setTrafficMask-org.apache.mina.common.TrafficMask-"><code>setTrafficMask(TrafficMask)</code></a> that
resumes read operations for this session.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#resumeWrite--">resumeWrite</a></span>()</code>
<div class="block">A shortcut method for <a href="../../../../org/apache/mina/common/IoSession.html#setTrafficMask-org.apache.mina.common.TrafficMask-"><code>setTrafficMask(TrafficMask)</code></a> that
resumes write operations for this session.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#setAttachment-java.lang.Object-">setAttachment</a></span>(java.lang.Object&nbsp;attachment)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Use <a href="../../../../org/apache/mina/common/IoSession.html#setAttribute-java.lang.Object-java.lang.Object-"><code>setAttribute(Object, Object)</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#setAttribute-java.lang.Object-">setAttribute</a></span>(java.lang.Object&nbsp;key)</code>
<div class="block">Sets a user defined attribute without a value.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#setAttribute-java.lang.Object-java.lang.Object-">setAttribute</a></span>(java.lang.Object&nbsp;key,
java.lang.Object&nbsp;value)</code>
<div class="block">Sets a user-defined attribute.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#setAttributeIfAbsent-java.lang.Object-">setAttributeIfAbsent</a></span>(java.lang.Object&nbsp;key)</code>
<div class="block">Sets a user defined attribute without a value if the attribute with
the specified key is not set yet.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#setAttributeIfAbsent-java.lang.Object-java.lang.Object-">setAttributeIfAbsent</a></span>(java.lang.Object&nbsp;key,
java.lang.Object&nbsp;value)</code>
<div class="block">Sets a user defined attribute if the attribute with the specified key
is not set yet.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#setTrafficMask-org.apache.mina.common.TrafficMask-">setTrafficMask</a></span>(<a href="../../../../org/apache/mina/common/TrafficMask.html" title="class in org.apache.mina.common">TrafficMask</a>&nbsp;trafficMask)</code>
<div class="block">Sets the <a href="../../../../org/apache/mina/common/TrafficMask.html" title="class in org.apache.mina.common"><code>TrafficMask</code></a> of this session which will result
the parent <a href="../../../../org/apache/mina/common/IoService.html" title="interface in org.apache.mina.common"><code>IoService</code></a> to start to control the traffic
of this session immediately.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#suspendRead--">suspendRead</a></span>()</code>
<div class="block">A shortcut method for <a href="../../../../org/apache/mina/common/IoSession.html#setTrafficMask-org.apache.mina.common.TrafficMask-"><code>setTrafficMask(TrafficMask)</code></a> that
suspends read operations for this session.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#suspendWrite--">suspendWrite</a></span>()</code>
<div class="block">A shortcut method for <a href="../../../../org/apache/mina/common/IoSession.html#setTrafficMask-org.apache.mina.common.TrafficMask-"><code>setTrafficMask(TrafficMask)</code></a> that
suspends write operations for this session.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/WriteFuture.html" title="interface in org.apache.mina.common">WriteFuture</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#write-java.lang.Object-">write</a></span>(java.lang.Object&nbsp;message)</code>
<div class="block">Writes the specified <code>message</code> to remote peer.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/mina/common/WriteFuture.html" title="interface in org.apache.mina.common">WriteFuture</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/mina/common/IoSession.html#write-java.lang.Object-java.net.SocketAddress-">write</a></span>(java.lang.Object&nbsp;message,
java.net.SocketAddress&nbsp;destination)</code>
<div class="block">(Optional) Writes the specified <tt>message</tt> to the specified <tt>destination</tt>.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre>long&nbsp;getId()</pre>
<div class="block">Returns a unique identifier of this session. Every session has its own
ID which is different from each other.</div>
</li>
</ul>
<a name="getService--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getService</h4>
<pre><a href="../../../../org/apache/mina/common/IoService.html" title="interface in org.apache.mina.common">IoService</a>&nbsp;getService()</pre>
<div class="block">Returns the <a href="../../../../org/apache/mina/common/IoService.html" title="interface in org.apache.mina.common"><code>IoService</code></a> which provides I/O service to this session.</div>
</li>
</ul>
<a name="getHandler--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHandler</h4>
<pre><a href="../../../../org/apache/mina/common/IoHandler.html" title="interface in org.apache.mina.common">IoHandler</a>&nbsp;getHandler()</pre>
<div class="block">Returns the <a href="../../../../org/apache/mina/common/IoHandler.html" title="interface in org.apache.mina.common"><code>IoHandler</code></a> which handles this session.</div>
</li>
</ul>
<a name="getConfig--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfig</h4>
<pre><a href="../../../../org/apache/mina/common/IoSessionConfig.html" title="interface in org.apache.mina.common">IoSessionConfig</a>&nbsp;getConfig()</pre>
<div class="block">Returns the configuration of this session.</div>
</li>
</ul>
<a name="getFilterChain--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilterChain</h4>
<pre><a href="../../../../org/apache/mina/common/IoFilterChain.html" title="interface in org.apache.mina.common">IoFilterChain</a>&nbsp;getFilterChain()</pre>
<div class="block">Returns the filter chain that only affects this session.</div>
</li>
</ul>
<a name="getTransportMetadata--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransportMetadata</h4>
<pre><a href="../../../../org/apache/mina/common/TransportMetadata.html" title="interface in org.apache.mina.common">TransportMetadata</a>&nbsp;getTransportMetadata()</pre>
<div class="block">Returns the <a href="../../../../org/apache/mina/common/TransportMetadata.html" title="interface in org.apache.mina.common"><code>TransportMetadata</code></a> that this session runs on.</div>
</li>
</ul>
<a name="read--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre><a href="../../../../org/apache/mina/common/ReadFuture.html" title="interface in org.apache.mina.common">ReadFuture</a>&nbsp;read()</pre>
<div class="block">Returns a <a href="../../../../org/apache/mina/common/ReadFuture.html" title="interface in org.apache.mina.common"><code>ReadFuture</code></a> which is notified when a new message is
received, the connection is closed or an exception is caught. This
operation is especially useful when you implement a client application.
However, please note that this operation is disabled by default and
throw <code>IllegalStateException</code> because all received events must be
queued somewhere to support this operation, possibly leading to memory
leak. This means you have to keep calling <a href="../../../../org/apache/mina/common/IoSession.html#read--"><code>read()</code></a> once you
enabled this operation. To enable this operation, please call
<a href="../../../../org/apache/mina/common/IoSessionConfig.html#setUseReadOperation-boolean-"><code>IoSessionConfig.setUseReadOperation(boolean)</code></a> with <tt>true</tt>.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if
<a href="../../../../org/apache/mina/common/IoSessionConfig.html#setUseReadOperation-boolean-"><code>useReadOperation</code></a>
option has not been enabled.</dd>
</dl>
</li>
</ul>
<a name="write-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre><a href="../../../../org/apache/mina/common/WriteFuture.html" title="interface in org.apache.mina.common">WriteFuture</a>&nbsp;write(java.lang.Object&nbsp;message)</pre>
<div class="block">Writes the specified <code>message</code> to remote peer. This
operation is asynchronous; <a href="../../../../org/apache/mina/common/IoHandler.html#messageSent-org.apache.mina.common.IoSession-java.lang.Object-"><code>IoHandler.messageSent(IoSession,Object)</code></a>
will be invoked when the message is actually sent to remote peer.
You can also wait for the returned <a href="../../../../org/apache/mina/common/WriteFuture.html" title="interface in org.apache.mina.common"><code>WriteFuture</code></a> if you want
to wait for the message actually written.</div>
</li>
</ul>
<a name="write-java.lang.Object-java.net.SocketAddress-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre><a href="../../../../org/apache/mina/common/WriteFuture.html" title="interface in org.apache.mina.common">WriteFuture</a>&nbsp;write(java.lang.Object&nbsp;message,
java.net.SocketAddress&nbsp;destination)</pre>
<div class="block">(Optional) Writes the specified <tt>message</tt> to the specified <tt>destination</tt>.
This operation is asynchronous; <a href="../../../../org/apache/mina/common/IoHandler.html#messageSent-org.apache.mina.common.IoSession-java.lang.Object-"><code>IoHandler.messageSent(IoSession, Object)</code></a>
will be invoked when the message is actually sent to remote peer. You can
also wait for the returned <a href="../../../../org/apache/mina/common/WriteFuture.html" title="interface in org.apache.mina.common"><code>WriteFuture</code></a> if you want to wait for
the message actually written.
<p>
When you implement a client that receives a broadcast message from a server
such as DHCP server, the client might need to send a response message for the
broadcast message the server sent. Because the remote address of the session
is not the address of the server in case of broadcasting, there should be a
way to specify the destination when you write the response message.
This interface provides <a href="../../../../org/apache/mina/common/IoSession.html#write-java.lang.Object-java.net.SocketAddress-"><code>write(Object, SocketAddress)</code></a> method so you
can specify the destination.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>destination</code> - <tt>null</tt> if you want the message sent to the
default remote address</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.UnsupportedOperationException</code> - if this operation is not supported</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre><a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common">CloseFuture</a>&nbsp;close()</pre>
<div class="block">Closes this session immediately. This operation is asynchronous.
Wait for the returned <a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common"><code>CloseFuture</code></a> if you want to wait for
the session actually closed.</div>
</li>
</ul>
<a name="closeOnFlush--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>closeOnFlush</h4>
<pre><a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common">CloseFuture</a>&nbsp;closeOnFlush()</pre>
<div class="block">Closes this session after all queued write requests are flushed.
This operation is asynchronous. Wait for the returned <a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common"><code>CloseFuture</code></a>
if you want to wait for the session actually closed.</div>
</li>
</ul>
<a name="close-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre><a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common">CloseFuture</a>&nbsp;close(boolean&nbsp;immediately)</pre>
<div class="block">Closes this session immediately or after all queued write requests
are flushed. This operation is asynchronous. Wait for the returned
<a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common"><code>CloseFuture</code></a> if you want to wait for the session actually closed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>immediately</code> - <code>true</code> to close this session immediately
(i.e. <a href="../../../../org/apache/mina/common/IoSession.html#close--"><code>close()</code></a>).
<code>false</code> to close this session after all queued
write requests are flushed (i.e. <a href="../../../../org/apache/mina/common/IoSession.html#closeOnFlush--"><code>closeOnFlush()</code></a>).</dd>
</dl>
</li>
</ul>
<a name="getAttachment--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttachment</h4>
<pre>@Deprecated
java.lang.Object&nbsp;getAttachment()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../org/apache/mina/common/IoSession.html#getAttribute-java.lang.Object-"><code>getAttribute(Object)</code></a> instead.</span></div>
<div class="block">Returns an attachment of this session.
This method is identical with <tt>getAttribute( "" )</tt>.</div>
</li>
</ul>
<a name="setAttachment-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttachment</h4>
<pre>@Deprecated
java.lang.Object&nbsp;setAttachment(java.lang.Object&nbsp;attachment)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../org/apache/mina/common/IoSession.html#setAttribute-java.lang.Object-java.lang.Object-"><code>setAttribute(Object, Object)</code></a> instead.</span></div>
<div class="block">Sets an attachment of this session.
This method is identical with <tt>setAttribute( "", attachment )</tt>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Old attachment. <tt>null</tt> if it is new.</dd>
</dl>
</li>
</ul>
<a name="getAttribute-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttribute</h4>
<pre>java.lang.Object&nbsp;getAttribute(java.lang.Object&nbsp;key)</pre>
<div class="block">Returns the value of the user-defined attribute of this session.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key of the attribute</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>null</tt> if there is no attribute with the specified key</dd>
</dl>
</li>
</ul>
<a name="getAttribute-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttribute</h4>
<pre>java.lang.Object&nbsp;getAttribute(java.lang.Object&nbsp;key,
java.lang.Object&nbsp;defaultValue)</pre>
<div class="block">Returns the value of user defined attribute associated with the
specified key. If there's no such attribute, the specified default
value is associated with the specified key, and the default value is
returned. This method is same with the following code except that the
operation is performed atomically.
<pre>
if (containsAttribute(key)) {
return getAttribute(key);
} else {
setAttribute(key, defaultValue);
return defaultValue;
}
</pre></div>
</li>
</ul>
<a name="setAttribute-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttribute</h4>
<pre>java.lang.Object&nbsp;setAttribute(java.lang.Object&nbsp;key,
java.lang.Object&nbsp;value)</pre>
<div class="block">Sets a user-defined attribute.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key of the attribute</dd>
<dd><code>value</code> - the value of the attribute</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The old value of the attribute. <tt>null</tt> if it is new.</dd>
</dl>
</li>
</ul>
<a name="setAttribute-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttribute</h4>
<pre>java.lang.Object&nbsp;setAttribute(java.lang.Object&nbsp;key)</pre>
<div class="block">Sets a user defined attribute without a value. This is useful when
you just want to put a 'mark' attribute. Its value is set to
<code>Boolean.TRUE</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key of the attribute</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The old value of the attribute. <tt>null</tt> if it is new.</dd>
</dl>
</li>
</ul>
<a name="setAttributeIfAbsent-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttributeIfAbsent</h4>
<pre>java.lang.Object&nbsp;setAttributeIfAbsent(java.lang.Object&nbsp;key,
java.lang.Object&nbsp;value)</pre>
<div class="block">Sets a user defined attribute if the attribute with the specified key
is not set yet. This method is same with the following code except
that the operation is performed atomically.
<pre>
if (containsAttribute(key)) {
return getAttribute(key);
} else {
return setAttribute(key, value);
}
</pre></div>
</li>
</ul>
<a name="setAttributeIfAbsent-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttributeIfAbsent</h4>
<pre>java.lang.Object&nbsp;setAttributeIfAbsent(java.lang.Object&nbsp;key)</pre>
<div class="block">Sets a user defined attribute without a value if the attribute with
the specified key is not set yet. This is useful when you just want to
put a 'mark' attribute. Its value is set to <code>Boolean.TRUE</code>.
This method is same with the following code except that the operation
is performed atomically.
<pre>
if (containsAttribute(key)) {
return getAttribute(key); // might not always be Boolean.TRUE.
} else {
return setAttribute(key);
}
</pre></div>
</li>
</ul>
<a name="removeAttribute-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAttribute</h4>
<pre>java.lang.Object&nbsp;removeAttribute(java.lang.Object&nbsp;key)</pre>
<div class="block">Removes a user-defined attribute with the specified key.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The old value of the attribute. <tt>null</tt> if not found.</dd>
</dl>
</li>
</ul>
<a name="removeAttribute-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAttribute</h4>
<pre>boolean&nbsp;removeAttribute(java.lang.Object&nbsp;key,
java.lang.Object&nbsp;value)</pre>
<div class="block">Removes a user defined attribute with the specified key if the current
attribute value is equal to the specified value. This method is same
with the following code except that the operation is performed
atomically.
<pre>
if (containsAttribute(key) && getAttribute(key).equals(value)) {
removeAttribute(key);
return true;
} else {
return false;
}
</pre></div>
</li>
</ul>
<a name="replaceAttribute-java.lang.Object-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceAttribute</h4>
<pre>boolean&nbsp;replaceAttribute(java.lang.Object&nbsp;key,
java.lang.Object&nbsp;oldValue,
java.lang.Object&nbsp;newValue)</pre>
<div class="block">Replaces a user defined attribute with the specified key if the
value of the attribute is equals to the specified old value.
This method is same with the following code except that the operation
is performed atomically.
<pre>
if (containsAttribute(key) && getAttribute(key).equals(oldValue)) {
setAttribute(key, newValue);
return true;
} else {
return false;
}
</pre></div>
</li>
</ul>
<a name="containsAttribute-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsAttribute</h4>
<pre>boolean&nbsp;containsAttribute(java.lang.Object&nbsp;key)</pre>
<div class="block">Returns <tt>true</tt> if this session contains the attribute with
the specified <tt>key</tt>.</div>
</li>
</ul>
<a name="getAttributeKeys--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttributeKeys</h4>
<pre>java.util.Set&lt;java.lang.Object&gt;&nbsp;getAttributeKeys()</pre>
<div class="block">Returns the set of keys of all user-defined attributes.</div>
</li>
</ul>
<a name="isConnected--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isConnected</h4>
<pre>boolean&nbsp;isConnected()</pre>
<div class="block">Returns <code>true</code> if this session is connected with remote peer.</div>
</li>
</ul>
<a name="isClosing--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClosing</h4>
<pre>boolean&nbsp;isClosing()</pre>
<div class="block">Returns <code>true</tt> if and only if this session is being closed
(but not disconnected yet) or is closed.</div>
</li>
</ul>
<a name="getCloseFuture--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCloseFuture</h4>
<pre><a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common">CloseFuture</a>&nbsp;getCloseFuture()</pre>
<div class="block">Returns the <a href="../../../../org/apache/mina/common/CloseFuture.html" title="interface in org.apache.mina.common"><code>CloseFuture</code></a> of this session. This method returns
the same instance whenever user calls it.</div>
</li>
</ul>
<a name="getRemoteAddress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteAddress</h4>
<pre>java.net.SocketAddress&nbsp;getRemoteAddress()</pre>
<div class="block">Returns the socket address of remote peer.</div>
</li>
</ul>
<a name="getLocalAddress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalAddress</h4>
<pre>java.net.SocketAddress&nbsp;getLocalAddress()</pre>
<div class="block">Returns the socket address of local machine which is associated with this
session.</div>
</li>
</ul>
<a name="getServiceAddress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceAddress</h4>
<pre>java.net.SocketAddress&nbsp;getServiceAddress()</pre>
<div class="block">Returns the socket address of the <a href="../../../../org/apache/mina/common/IoService.html" title="interface in org.apache.mina.common"><code>IoService</code></a> listens to to manage
this session. If this session is managed by <a href="../../../../org/apache/mina/common/IoAcceptor.html" title="interface in org.apache.mina.common"><code>IoAcceptor</code></a>, it
returns the <code>SocketAddress</code> which is specified as a parameter of
<a href="../../../../org/apache/mina/common/IoAcceptor.html#bind--"><code>IoAcceptor.bind()</code></a>. If this session is managed by
<a href="../../../../org/apache/mina/common/IoConnector.html" title="interface in org.apache.mina.common"><code>IoConnector</code></a>, this method returns the same address with
that of <a href="../../../../org/apache/mina/common/IoSession.html#getRemoteAddress--"><code>getRemoteAddress()</code></a>.</div>
</li>
</ul>
<a name="getTrafficMask--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTrafficMask</h4>
<pre><a href="../../../../org/apache/mina/common/TrafficMask.html" title="class in org.apache.mina.common">TrafficMask</a>&nbsp;getTrafficMask()</pre>
<div class="block">Returns the current <a href="../../../../org/apache/mina/common/TrafficMask.html" title="class in org.apache.mina.common"><code>TrafficMask</code></a> of this session.</div>
</li>
</ul>
<a name="setTrafficMask-org.apache.mina.common.TrafficMask-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTrafficMask</h4>
<pre>void&nbsp;setTrafficMask(<a href="../../../../org/apache/mina/common/TrafficMask.html" title="class in org.apache.mina.common">TrafficMask</a>&nbsp;trafficMask)</pre>
<div class="block">Sets the <a href="../../../../org/apache/mina/common/TrafficMask.html" title="class in org.apache.mina.common"><code>TrafficMask</code></a> of this session which will result
the parent <a href="../../../../org/apache/mina/common/IoService.html" title="interface in org.apache.mina.common"><code>IoService</code></a> to start to control the traffic
of this session immediately.</div>
</li>
</ul>
<a name="suspendRead--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>suspendRead</h4>
<pre>void&nbsp;suspendRead()</pre>
<div class="block">A shortcut method for <a href="../../../../org/apache/mina/common/IoSession.html#setTrafficMask-org.apache.mina.common.TrafficMask-"><code>setTrafficMask(TrafficMask)</code></a> that
suspends read operations for this session.</div>
</li>
</ul>
<a name="suspendWrite--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>suspendWrite</h4>
<pre>void&nbsp;suspendWrite()</pre>
<div class="block">A shortcut method for <a href="../../../../org/apache/mina/common/IoSession.html#setTrafficMask-org.apache.mina.common.TrafficMask-"><code>setTrafficMask(TrafficMask)</code></a> that
suspends write operations for this session.</div>
</li>
</ul>
<a name="resumeRead--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resumeRead</h4>
<pre>void&nbsp;resumeRead()</pre>
<div class="block">A shortcut method for <a href="../../../../org/apache/mina/common/IoSession.html#setTrafficMask-org.apache.mina.common.TrafficMask-"><code>setTrafficMask(TrafficMask)</code></a> that
resumes read operations for this session.</div>
</li>
</ul>
<a name="resumeWrite--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resumeWrite</h4>
<pre>void&nbsp;resumeWrite()</pre>
<div class="block">A shortcut method for <a href="../../../../org/apache/mina/common/IoSession.html#setTrafficMask-org.apache.mina.common.TrafficMask-"><code>setTrafficMask(TrafficMask)</code></a> that
resumes write operations for this session.</div>
</li>
</ul>
<a name="getReadBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadBytes</h4>
<pre>long&nbsp;getReadBytes()</pre>
<div class="block">Returns the total number of bytes which were read from this session.</div>
</li>
</ul>
<a name="getWrittenBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWrittenBytes</h4>
<pre>long&nbsp;getWrittenBytes()</pre>
<div class="block">Returns the total number of bytes which were written to this session.</div>
</li>
</ul>
<a name="getReadMessages--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadMessages</h4>
<pre>long&nbsp;getReadMessages()</pre>
<div class="block">Returns the total number of messages which were read and decoded from this session.</div>
</li>
</ul>
<a name="getWrittenMessages--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWrittenMessages</h4>
<pre>long&nbsp;getWrittenMessages()</pre>
<div class="block">Returns the total number of messages which were written and encoded by this session.</div>
</li>
</ul>
<a name="getReadBytesThroughput--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadBytesThroughput</h4>
<pre>double&nbsp;getReadBytesThroughput()</pre>
<div class="block">Returns the number of read bytes per second.</div>
</li>
</ul>
<a name="getWrittenBytesThroughput--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWrittenBytesThroughput</h4>
<pre>double&nbsp;getWrittenBytesThroughput()</pre>
<div class="block">Returns the number of written bytes per second.</div>
</li>
</ul>
<a name="getReadMessagesThroughput--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadMessagesThroughput</h4>
<pre>double&nbsp;getReadMessagesThroughput()</pre>
<div class="block">Returns the number of read messages per second.</div>
</li>
</ul>
<a name="getWrittenMessagesThroughput--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWrittenMessagesThroughput</h4>
<pre>double&nbsp;getWrittenMessagesThroughput()</pre>
<div class="block">Returns the number of written messages per second.</div>
</li>
</ul>
<a name="getScheduledWriteMessages--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScheduledWriteMessages</h4>
<pre>int&nbsp;getScheduledWriteMessages()</pre>
<div class="block">Returns the number of messages which are scheduled to be written to this session.</div>
</li>
</ul>
<a name="getScheduledWriteBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScheduledWriteBytes</h4>
<pre>long&nbsp;getScheduledWriteBytes()</pre>
<div class="block">Returns the number of bytes which are scheduled to be written to this
session.</div>
</li>
</ul>
<a name="getCreationTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCreationTime</h4>
<pre>long&nbsp;getCreationTime()</pre>
<div class="block">Returns the time in millis when this session is created.</div>
</li>
</ul>
<a name="getLastIoTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastIoTime</h4>
<pre>long&nbsp;getLastIoTime()</pre>
<div class="block">Returns the time in millis when I/O occurred lastly.</div>
</li>
</ul>
<a name="getLastReadTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastReadTime</h4>
<pre>long&nbsp;getLastReadTime()</pre>
<div class="block">Returns the time in millis when read operation occurred lastly.</div>
</li>
</ul>
<a name="getLastWriteTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastWriteTime</h4>
<pre>long&nbsp;getLastWriteTime()</pre>
<div class="block">Returns the time in millis when write operation occurred lastly.</div>
</li>
</ul>
<a name="isIdle-org.apache.mina.common.IdleStatus-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isIdle</h4>
<pre>boolean&nbsp;isIdle(<a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common">IdleStatus</a>&nbsp;status)</pre>
<div class="block">Returns <code>true</code> if this session is idle for the specified
<a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common"><code>IdleStatus</code></a>.</div>
</li>
</ul>
<a name="getIdleCount-org.apache.mina.common.IdleStatus-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdleCount</h4>
<pre>int&nbsp;getIdleCount(<a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common">IdleStatus</a>&nbsp;status)</pre>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for the specified <a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common"><code>IdleStatus</code></a>.
<p/>
If <tt>sessionIdle</tt> event is fired first after some time after I/O,
<tt>idleCount</tt> becomes <tt>1</tt>. <tt>idleCount</tt> resets to
<tt>0</tt> if any I/O occurs again, otherwise it increases to
<tt>2</tt> and so on if <tt>sessionIdle</tt> event is fired again without
any I/O between two (or more) <tt>sessionIdle</tt> events.</div>
</li>
</ul>
<a name="getReaderIdleCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReaderIdleCount</h4>
<pre>int&nbsp;getReaderIdleCount()</pre>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../org/apache/mina/common/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/mina/common/IoSession.html#getIdleCount-org.apache.mina.common.IdleStatus-"><code>getIdleCount(IdleStatus)</code></a></dd>
</dl>
</li>
</ul>
<a name="getWriterIdleCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWriterIdleCount</h4>
<pre>int&nbsp;getWriterIdleCount()</pre>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../org/apache/mina/common/IdleStatus.html#WRITER_IDLE"><code>IdleStatus.WRITER_IDLE</code></a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/mina/common/IoSession.html#getIdleCount-org.apache.mina.common.IdleStatus-"><code>getIdleCount(IdleStatus)</code></a></dd>
</dl>
</li>
</ul>
<a name="getBothIdleCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBothIdleCount</h4>
<pre>int&nbsp;getBothIdleCount()</pre>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../org/apache/mina/common/IdleStatus.html#BOTH_IDLE"><code>IdleStatus.BOTH_IDLE</code></a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/mina/common/IoSession.html#getIdleCount-org.apache.mina.common.IdleStatus-"><code>getIdleCount(IdleStatus)</code></a></dd>
</dl>
</li>
</ul>
<a name="getLastIdleTime-org.apache.mina.common.IdleStatus-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastIdleTime</h4>
<pre>long&nbsp;getLastIdleTime(<a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common">IdleStatus</a>&nbsp;status)</pre>
<div class="block">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for the specified <a href="../../../../org/apache/mina/common/IdleStatus.html" title="class in org.apache.mina.common"><code>IdleStatus</code></a>.</div>
</li>
</ul>
<a name="getLastReaderIdleTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastReaderIdleTime</h4>
<pre>long&nbsp;getLastReaderIdleTime()</pre>
<div class="block">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for <a href="../../../../org/apache/mina/common/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/mina/common/IoSession.html#getLastIdleTime-org.apache.mina.common.IdleStatus-"><code>getLastIdleTime(IdleStatus)</code></a></dd>
</dl>
</li>
</ul>
<a name="getLastWriterIdleTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastWriterIdleTime</h4>
<pre>long&nbsp;getLastWriterIdleTime()</pre>
<div class="block">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for <a href="../../../../org/apache/mina/common/IdleStatus.html#WRITER_IDLE"><code>IdleStatus.WRITER_IDLE</code></a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/mina/common/IoSession.html#getLastIdleTime-org.apache.mina.common.IdleStatus-"><code>getLastIdleTime(IdleStatus)</code></a></dd>
</dl>
</li>
</ul>
<a name="getLastBothIdleTime--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getLastBothIdleTime</h4>
<pre>long&nbsp;getLastBothIdleTime()</pre>
<div class="block">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for <a href="../../../../org/apache/mina/common/IdleStatus.html#BOTH_IDLE"><code>IdleStatus.BOTH_IDLE</code></a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/mina/common/IoSession.html#getLastIdleTime-org.apache.mina.common.IdleStatus-"><code>getLastIdleTime(IdleStatus)</code></a></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/IoSession.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><a href="../../../../org/apache/mina/common/IoServiceListenerSupport.html" title="class in org.apache.mina.common"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/mina/common/IoSessionAttributeMap.html" title="interface in org.apache.mina.common"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/mina/common/IoSession.html" target="_top">Frames</a></li>
<li><a href="IoSession.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>Constr&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>Constr&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 © 2004-2019 <a href="http://mina.apache.org/">Apache MINA Project</a>. All Rights Reserved.</small></p>
</body>
</html>