blob: 6f9795d3e7e4e074426efd9a19591ce5b707dd94 [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 (version 1.7.0_55) on Mon Sep 15 17:28:18 CEST 2014 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>AbstractIoSession (Apache MINA 2.0.8 API)</title>
<meta name="date" content="2014-09-15">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AbstractIoSession (Apache MINA 2.0.8 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/AbstractIoSession.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 Class</li>
<li><a href="../../../../../org/apache/mina/core/session/AbstractIoSessionConfig.html" title="class in org.apache.mina.core.session"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/core/session/AbstractIoSession.html" target="_top">Frames</a></li>
<li><a href="AbstractIoSession.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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.core.session</div>
<h2 title="Class AbstractIoSession" class="title">Class AbstractIoSession</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.mina.core.session.AbstractIoSession</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/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/mina/transport/socket/apr/AprSession.html" title="class in org.apache.mina.transport.socket.apr">AprSession</a>, <a href="../../../../../org/apache/mina/core/session/DummySession.html" title="class in org.apache.mina.core.session">DummySession</a>, <a href="../../../../../org/apache/mina/transport/socket/nio/NioSession.html" title="class in org.apache.mina.transport.socket.nio">NioSession</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">AbstractIoSession</span>
extends <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></pre>
<div class="block">Base implementation of <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>.</div>
<dl><dt><span class="strong">Author:</span></dt>
<dd><a href="http://mina.apache.org">Apache MINA Project</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#config">config</a></strong></code>
<div class="block">The session config</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" 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="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#AbstractIoSession(org.apache.mina.core.service.IoService)">AbstractIoSession</a></strong>(<a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a>&nbsp;service)</code>
<div class="block">TODO Add method documentation</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/future/CloseFuture.html" title="interface in org.apache.mina.core.future">CloseFuture</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#close()">close</a></strong>()</code>
<div class="block">Closes this session after all queued write requests
are flushed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/future/CloseFuture.html" title="interface in org.apache.mina.core.future">CloseFuture</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#close(boolean)">close</a></strong>(boolean&nbsp;rightNow)</code>
<div class="block">Closes this session immediately or after all queued write requests
are flushed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#containsAttribute(java.lang.Object)">containsAttribute</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&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 class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#decreaseReadBufferSize()">decreaseReadBufferSize</a></strong>()</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#decreaseScheduledBytesAndMessages(org.apache.mina.core.write.WriteRequest)">decreaseScheduledBytesAndMessages</a></strong>(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a>&nbsp;request)</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#equals(java.lang.Object)">equals</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</code>
<div class="block"> TODO This is a ridiculous implementation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getAttachment()">getAttachment</a></strong>()</code>
<div class="block">Returns an attachment of this session.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getAttribute(java.lang.Object)">getAttribute</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</code>
<div class="block">Returns the value of the user-defined attribute of this session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getAttribute(java.lang.Object, java.lang.Object)">getAttribute</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;defaultValue)</code>
<div class="block">Returns the value of user defined attribute associated with the
specified key.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getAttributeKeys()">getAttributeKeys</a></strong>()</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/session/IoSessionAttributeMap.html" title="interface in org.apache.mina.core.session">IoSessionAttributeMap</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getAttributeMap()">getAttributeMap</a></strong>()</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getBothIdleCount()">getBothIdleCount</a></strong>()</code>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#BOTH_IDLE"><code>IdleStatus.BOTH_IDLE</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/future/CloseFuture.html" title="interface in org.apache.mina.core.future">CloseFuture</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getCloseFuture()">getCloseFuture</a></strong>()</code>
<div class="block">Returns the <a href="../../../../../org/apache/mina/core/future/CloseFuture.html" title="interface in org.apache.mina.core.future"><code>CloseFuture</code></a> of this session.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getConfig()">getConfig</a></strong>()</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getCreationTime()">getCreationTime</a></strong>()</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getCurrentWriteMessage()">getCurrentWriteMessage</a></strong>()</code>
<div class="block">Returns the message which is being written by <a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service"><code>IoService</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getCurrentWriteRequest()">getCurrentWriteRequest</a></strong>()</code>
<div class="block">Returns the <a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write"><code>WriteRequest</code></a> which is being processed by
<a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service"><code>IoService</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/service/IoHandler.html" title="interface in org.apache.mina.core.service">IoHandler</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getHandler()">getHandler</a></strong>()</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getId()">getId</a></strong>()</code>
<div class="block">
We use an AtomicLong to guarantee that the session ID are unique.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getIdleCount(org.apache.mina.core.session.IdleStatus)">getIdleCount</a></strong>(<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">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for the specified <a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session"><code>IdleStatus</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getLastBothIdleTime()">getLastBothIdleTime</a></strong>()</code>
<div class="block">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#BOTH_IDLE"><code>IdleStatus.BOTH_IDLE</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getLastIdleTime(org.apache.mina.core.session.IdleStatus)">getLastIdleTime</a></strong>(<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">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for the specified <a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session"><code>IdleStatus</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getLastIoTime()">getLastIoTime</a></strong>()</code>
<div class="block">Returns the time in millis when I/O occurred lastly.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getLastReaderIdleTime()">getLastReaderIdleTime</a></strong>()</code>
<div class="block">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getLastReadTime()">getLastReadTime</a></strong>()</code>
<div class="block">Returns the time in millis when read operation occurred lastly.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getLastWriterIdleTime()">getLastWriterIdleTime</a></strong>()</code>
<div class="block">Returns the time in milliseconds when the last <tt>sessionIdle</tt> event
is fired for <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#WRITER_IDLE"><code>IdleStatus.WRITER_IDLE</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getLastWriteTime()">getLastWriteTime</a></strong>()</code>
<div class="block">Returns the time in millis when write operation occurred lastly.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getProcessor()">getProcessor</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getReadBytes()">getReadBytes</a></strong>()</code>
<div class="block">Returns the total number of bytes which were read from this session.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getReadBytesThroughput()">getReadBytesThroughput</a></strong>()</code>
<div class="block">Returns the number of read bytes per second.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getReaderIdleCount()">getReaderIdleCount</a></strong>()</code>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getReadMessages()">getReadMessages</a></strong>()</code>
<div class="block">Returns the total number of messages which were read and decoded from this session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getReadMessagesThroughput()">getReadMessagesThroughput</a></strong>()</code>
<div class="block">Returns the number of read messages per second.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getScheduledWriteBytes()">getScheduledWriteBytes</a></strong>()</code>
<div class="block">Returns the number of bytes which are scheduled to be written to this
session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getScheduledWriteMessages()">getScheduledWriteMessages</a></strong>()</code>
<div class="block">Returns the number of messages which are scheduled to be written to this session.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getService()">getService</a></strong>()</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getServiceAddress()">getServiceAddress</a></strong>()</code>
<div class="block">Returns the socket address of the <a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service"><code>IoService</code></a> listens to to manage
this session.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html" title="interface in org.apache.mina.core.write">WriteRequestQueue</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getWriteRequestQueue()">getWriteRequestQueue</a></strong>()</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getWriterIdleCount()">getWriterIdleCount</a></strong>()</code>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#WRITER_IDLE"><code>IdleStatus.WRITER_IDLE</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getWrittenBytes()">getWrittenBytes</a></strong>()</code>
<div class="block">Returns the total number of bytes which were written to this session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getWrittenBytesThroughput()">getWrittenBytesThroughput</a></strong>()</code>
<div class="block">Returns the number of written bytes per second.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getWrittenMessages()">getWrittenMessages</a></strong>()</code>
<div class="block">Returns the total number of messages which were written and encoded by this session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#getWrittenMessagesThroughput()">getWrittenMessagesThroughput</a></strong>()</code>
<div class="block">Returns the number of written messages per second.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#hashCode()">hashCode</a></strong>()</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#increaseIdleCount(org.apache.mina.core.session.IdleStatus, long)">increaseIdleCount</a></strong>(<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a>&nbsp;status,
long&nbsp;currentTime)</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#increaseReadBufferSize()">increaseReadBufferSize</a></strong>()</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#increaseReadBytes(long, long)">increaseReadBytes</a></strong>(long&nbsp;increment,
long&nbsp;currentTime)</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#increaseReadMessages(long)">increaseReadMessages</a></strong>(long&nbsp;currentTime)</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#increaseScheduledWriteBytes(int)">increaseScheduledWriteBytes</a></strong>(int&nbsp;increment)</code>
<div class="block">Increase the number of scheduled write bytes for the session</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#increaseScheduledWriteMessages()">increaseScheduledWriteMessages</a></strong>()</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#increaseWrittenBytes(int, long)">increaseWrittenBytes</a></strong>(int&nbsp;increment,
long&nbsp;currentTime)</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#increaseWrittenMessages(org.apache.mina.core.write.WriteRequest, long)">increaseWrittenMessages</a></strong>(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a>&nbsp;request,
long&nbsp;currentTime)</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#isBothIdle()">isBothIdle</a></strong>()</code>
<div class="block">Returns <code>true</code> if this session is <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#BOTH_IDLE"><code>IdleStatus.BOTH_IDLE</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#isClosing()">isClosing</a></strong>()</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#isConnected()">isConnected</a></strong>()</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#isIdle(org.apache.mina.core.session.IdleStatus)">isIdle</a></strong>(<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">Returns <code>true</code> if this session is idle for the specified
<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session"><code>IdleStatus</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#isReaderIdle()">isReaderIdle</a></strong>()</code>
<div class="block">Returns <code>true</code> if this session is <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#isReadSuspended()">isReadSuspended</a></strong>()</code>
<div class="block">Is read operation is suspended for this session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#isScheduledForFlush()">isScheduledForFlush</a></strong>()</code>
<div class="block">Tells if the session is scheduled for flushed</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#isSecured()">isSecured</a></strong>()</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#isWriterIdle()">isWriterIdle</a></strong>()</code>
<div class="block">Returns <code>true</code> if this session is <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#WRITER_IDLE"><code>IdleStatus.WRITER_IDLE</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#isWriteSuspended()">isWriteSuspended</a></strong>()</code>
<div class="block">Is write operation is suspended for this session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#notifyIdleness(java.util.Iterator, long)">notifyIdleness</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&gt;&nbsp;sessions,
long&nbsp;currentTime)</code>
<div class="block">Fires a <a href="../../../../../org/apache/mina/core/session/IoEventType.html#SESSION_IDLE"><code>IoEventType.SESSION_IDLE</code></a> event to any applicable sessions
in the specified collection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#notifyIdleSession(org.apache.mina.core.session.IoSession, long)">notifyIdleSession</a></strong>(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
long&nbsp;currentTime)</code>
<div class="block">Fires a <a href="../../../../../org/apache/mina/core/session/IoEventType.html#SESSION_IDLE"><code>IoEventType.SESSION_IDLE</code></a> event if applicable for the
specified <code>session</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#offerClosedReadFuture()">offerClosedReadFuture</a></strong>()</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#offerFailedReadFuture(java.lang.Throwable)">offerFailedReadFuture</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;exception)</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#offerReadFuture(java.lang.Object)">offerReadFuture</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;message)</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/future/ReadFuture.html" title="interface in org.apache.mina.core.future">ReadFuture</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#read()">read</a></strong>()</code>
<div class="block">TODO This javadoc is wrong.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#removeAttribute(java.lang.Object)">removeAttribute</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</code>
<div class="block">Removes a user-defined attribute with the specified key.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#removeAttribute(java.lang.Object, java.lang.Object)">removeAttribute</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&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 class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#replaceAttribute(java.lang.Object, java.lang.Object, java.lang.Object)">replaceAttribute</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oldValue,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&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 class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#resumeRead()">resumeRead</a></strong>()</code>
<div class="block">Resumes read operations for this session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#resumeWrite()">resumeWrite</a></strong>()</code>
<div class="block">Resumes write operations for this session.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#scheduledForFlush()">scheduledForFlush</a></strong>()</code>
<div class="block">Schedule the session for flushed</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#setAttachment(java.lang.Object)">setAttachment</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;attachment)</code>
<div class="block">Sets an attachment of this session.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#setAttribute(java.lang.Object)">setAttribute</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</code>
<div class="block">Sets a user defined attribute without a value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#setAttribute(java.lang.Object, java.lang.Object)">setAttribute</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Sets a user-defined attribute.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#setAttributeIfAbsent(java.lang.Object)">setAttributeIfAbsent</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&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 class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#setAttributeIfAbsent(java.lang.Object, java.lang.Object)">setAttributeIfAbsent</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&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 class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#setAttributeMap(org.apache.mina.core.session.IoSessionAttributeMap)">setAttributeMap</a></strong>(<a href="../../../../../org/apache/mina/core/session/IoSessionAttributeMap.html" title="interface in org.apache.mina.core.session">IoSessionAttributeMap</a>&nbsp;attributes)</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#setCurrentWriteRequest(org.apache.mina.core.write.WriteRequest)">setCurrentWriteRequest</a></strong>(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a>&nbsp;currentWriteRequest)</code>
<div class="block">TODO setWriteRequestQueue.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#setScheduledForFlush(boolean)">setScheduledForFlush</a></strong>(boolean&nbsp;schedule)</code>
<div class="block">Set the scheduledForFLush flag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#setScheduledWriteBytes(int)">setScheduledWriteBytes</a></strong>(int&nbsp;byteCount)</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#setScheduledWriteMessages(int)">setScheduledWriteMessages</a></strong>(int&nbsp;messages)</code>
<div class="block">TODO Add method documentation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#setWriteRequestQueue(org.apache.mina.core.write.WriteRequestQueue)">setWriteRequestQueue</a></strong>(<a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html" title="interface in org.apache.mina.core.write">WriteRequestQueue</a>&nbsp;writeRequestQueue)</code>
<div class="block">Create a new close aware write queue, based on the given write queue.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#suspendRead()">suspendRead</a></strong>()</code>
<div class="block">Suspends read operations for this session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#suspendWrite()">suspendWrite</a></strong>()</code>
<div class="block">Suspends write operations for this session.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#toString()">toString</a></strong>()</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#unscheduledForFlush()">unscheduledForFlush</a></strong>()</code>
<div class="block">Change the session's status : it's not anymore scheduled for flush</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#updateThroughput(long, boolean)">updateThroughput</a></strong>(long&nbsp;currentTime,
boolean&nbsp;force)</code>
<div class="block">Update all statistical properties related with throughput assuming
the specified time is the current time.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/future/WriteFuture.html" title="interface in org.apache.mina.core.future">WriteFuture</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#write(java.lang.Object)">write</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;message)</code>
<div class="block">Writes the specified <code>message</code> to remote peer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mina/core/future/WriteFuture.html" title="interface in org.apache.mina.core.future">WriteFuture</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html#write(java.lang.Object, java.net.SocketAddress)">write</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;message,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;remoteAddress)</code>
<div class="block">(Optional) Writes the specified <tt>message</tt> to the specified <tt>destination</tt>.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.mina.core.session.IoSession">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.mina.core.session.<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></h3>
<code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getFilterChain()">getFilterChain</a>, <a href="../../../../../org/apache/mina/core/session/IoSession.html#getLocalAddress()">getLocalAddress</a>, <a href="../../../../../org/apache/mina/core/session/IoSession.html#getRemoteAddress()">getRemoteAddress</a>, <a href="../../../../../org/apache/mina/core/session/IoSession.html#getTransportMetadata()">getTransportMetadata</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="config">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>config</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a> config</pre>
<div class="block">The session config</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractIoSession(org.apache.mina.core.service.IoService)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractIoSession</h4>
<pre>protected&nbsp;AbstractIoSession(<a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a>&nbsp;service)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
</li>
</ul>
<!-- ============ 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>public final&nbsp;long&nbsp;getId()</pre>
<div class="block">
We use an AtomicLong to guarantee that the session ID are unique.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getId()">getId</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>a unique identifier for this session. Every session has its own
ID which is different from each other.
TODO : The way it's implemented does not guarantee that the contract is
respected. It uses the HashCode() method which don't guarantee the key
unicity.</dd></dl>
</li>
</ul>
<a name="getProcessor()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcessor</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&nbsp;getProcessor()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>The associated IoProcessor for this session</dd></dl>
</li>
</ul>
<a name="isConnected()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isConnected</h4>
<pre>public final&nbsp;boolean&nbsp;isConnected()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#isConnected()">isConnected</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if this session is connected with remote peer.</dd></dl>
</li>
</ul>
<a name="isClosing()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClosing</h4>
<pre>public final&nbsp;boolean&nbsp;isClosing()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#isClosing()">isClosing</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</tt> if and only if this session is being closed
(but not disconnected yet) or is closed.</dd></dl>
</li>
</ul>
<a name="isSecured()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSecured</h4>
<pre>public&nbsp;boolean&nbsp;isSecured()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#isSecured()">isSecured</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</tt> if the session has started and initialized a SslEngine,
<code>false</code> if the session is not yet secured (the handshake is not completed)
or if SSL is not set for this session, or if SSL is not even an option.</dd></dl>
</li>
</ul>
<a name="getCloseFuture()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCloseFuture</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/mina/core/future/CloseFuture.html" title="interface in org.apache.mina.core.future">CloseFuture</a>&nbsp;getCloseFuture()</pre>
<div class="block">Returns the <a href="../../../../../org/apache/mina/core/future/CloseFuture.html" title="interface in org.apache.mina.core.future"><code>CloseFuture</code></a> of this session. This method returns
the same instance whenever user calls it.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getCloseFuture()">getCloseFuture</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="isScheduledForFlush()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isScheduledForFlush</h4>
<pre>public final&nbsp;boolean&nbsp;isScheduledForFlush()</pre>
<div class="block">Tells if the session is scheduled for flushed</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if the session is scheduled for flush</dd></dl>
</li>
</ul>
<a name="scheduledForFlush()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scheduledForFlush</h4>
<pre>public final&nbsp;void&nbsp;scheduledForFlush()</pre>
<div class="block">Schedule the session for flushed</div>
</li>
</ul>
<a name="unscheduledForFlush()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unscheduledForFlush</h4>
<pre>public final&nbsp;void&nbsp;unscheduledForFlush()</pre>
<div class="block">Change the session's status : it's not anymore scheduled for flush</div>
</li>
</ul>
<a name="setScheduledForFlush(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setScheduledForFlush</h4>
<pre>public final&nbsp;boolean&nbsp;setScheduledForFlush(boolean&nbsp;schedule)</pre>
<div class="block">Set the scheduledForFLush flag. As we may have concurrent access to this
flag, we compare and set it in one call.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>schedule</code> - the new value to set if not already set.</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if the session flag has been set, and if it wasn't set
already.</dd></dl>
</li>
</ul>
<a name="close(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/mina/core/future/CloseFuture.html" title="interface in org.apache.mina.core.future">CloseFuture</a>&nbsp;close(boolean&nbsp;rightNow)</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/core/future/CloseFuture.html" title="interface in org.apache.mina.core.future"><code>CloseFuture</code></a> if you want to wait for the session actually closed.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#close(boolean)">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>rightNow</code> - <code>true</code> to close this session immediately
(i.e. <a href="../../../../../org/apache/mina/core/session/IoSession.html#close()"><code>IoSession.close()</code></a>). The pending write requests
will simply be discarded.
<code>false</code> to close this session after all queued
write requests are flushed (i.e. <code>#closeOnFlush()</code>).</dd></dl>
</li>
</ul>
<a name="close()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/mina/core/future/CloseFuture.html" title="interface in org.apache.mina.core.future">CloseFuture</a>&nbsp;close()</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/core/future/CloseFuture.html" title="interface in org.apache.mina.core.future"><code>CloseFuture</code></a> if you want to wait for the session actually closed.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#close()">close</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getHandler()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHandler</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/mina/core/service/IoHandler.html" title="interface in org.apache.mina.core.service">IoHandler</a>&nbsp;getHandler()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getHandler()">getHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the <a href="../../../../../org/apache/mina/core/service/IoHandler.html" title="interface in org.apache.mina.core.service"><code>IoHandler</code></a> which handles this session.</dd></dl>
</li>
</ul>
<a name="getConfig()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfig</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html" title="interface in org.apache.mina.core.session">IoSessionConfig</a>&nbsp;getConfig()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getConfig()">getConfig</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the configuration of this session.</dd></dl>
</li>
</ul>
<a name="read()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/mina/core/future/ReadFuture.html" title="interface in org.apache.mina.core.future">ReadFuture</a>&nbsp;read()</pre>
<div class="block">TODO This javadoc is wrong. The return tag should be short.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#read()">read</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>a <a href="../../../../../org/apache/mina/core/future/ReadFuture.html" title="interface in org.apache.mina.core.future"><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.
TODO : Describe here how we enable this feature.
However, please note that this operation is disabled by default and
throw <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang"><code>IllegalStateException</code></a> 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/core/session/IoSession.html#read()"><code>IoSession.read()</code></a> once you
enabled this operation. To enable this operation, please call
<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html#setUseReadOperation(boolean)"><code>IoSessionConfig.setUseReadOperation(boolean)</code></a> with <tt>true</tt>.</dd></dl>
</li>
</ul>
<a name="offerReadFuture(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>offerReadFuture</h4>
<pre>public final&nbsp;void&nbsp;offerReadFuture(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;message)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="offerFailedReadFuture(java.lang.Throwable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>offerFailedReadFuture</h4>
<pre>public final&nbsp;void&nbsp;offerFailedReadFuture(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;exception)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="offerClosedReadFuture()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>offerClosedReadFuture</h4>
<pre>public final&nbsp;void&nbsp;offerClosedReadFuture()</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="write(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/mina/core/future/WriteFuture.html" title="interface in org.apache.mina.core.future">WriteFuture</a>&nbsp;write(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;message)</pre>
<div class="block">Writes the specified <code>message</code> to remote peer. This
operation is asynchronous; <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>
will be invoked when the message is actually sent to remote peer.
You can also wait for the returned <a href="../../../../../org/apache/mina/core/future/WriteFuture.html" title="interface in org.apache.mina.core.future"><code>WriteFuture</code></a> if you want
to wait for the message actually written.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#write(java.lang.Object)">write</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="write(java.lang.Object, java.net.SocketAddress)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/mina/core/future/WriteFuture.html" title="interface in org.apache.mina.core.future">WriteFuture</a>&nbsp;write(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;message,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;remoteAddress)</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/core/service/IoHandler.html#messageSent(org.apache.mina.core.session.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/core/future/WriteFuture.html" title="interface in org.apache.mina.core.future"><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/core/session/IoSession.html#write(java.lang.Object, java.net.SocketAddress)"><code>IoSession.write(Object, SocketAddress)</code></a> method so you
can specify the destination.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#write(java.lang.Object, java.net.SocketAddress)">write</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dd><code>remoteAddress</code> - <tt>null</tt> if you want the message sent to the
default remote address</dd></dl>
</li>
</ul>
<a name="getAttachment()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttachment</h4>
<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getAttachment()</pre>
<div class="block">Returns an attachment of this session.
This method is identical with <tt>getAttribute( "" )</tt>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getAttachment()">getAttachment</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="setAttachment(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttachment</h4>
<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;setAttachment(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;attachment)</pre>
<div class="block">Sets an attachment of this session.
This method is identical with <tt>setAttribute( "", attachment )</tt>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#setAttachment(java.lang.Object)">setAttachment</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">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>public final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getAttribute(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</pre>
<div class="block">Returns the value of the user-defined attribute of this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getAttribute(java.lang.Object)">getAttribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - the key of the attribute</dd>
<dt><span class="strong">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>public final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getAttribute(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&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>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getAttribute(java.lang.Object, java.lang.Object)">getAttribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="setAttribute(java.lang.Object, java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttribute</h4>
<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;setAttribute(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block">Sets a user-defined attribute.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#setAttribute(java.lang.Object, java.lang.Object)">setAttribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">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="strong">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>public final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;setAttribute(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&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
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Boolean.html?is-external=true#TRUE" title="class or interface in java.lang"><code>Boolean.TRUE</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#setAttribute(java.lang.Object)">setAttribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - the key of the attribute</dd>
<dt><span class="strong">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>public final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;setAttributeIfAbsent(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&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>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#setAttributeIfAbsent(java.lang.Object, java.lang.Object)">setAttributeIfAbsent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="setAttributeIfAbsent(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttributeIfAbsent</h4>
<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;setAttributeIfAbsent(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&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 <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Boolean.html?is-external=true#TRUE" title="class or interface in java.lang"><code>Boolean.TRUE</code></a>.
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>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#setAttributeIfAbsent(java.lang.Object)">setAttributeIfAbsent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="removeAttribute(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeAttribute</h4>
<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;removeAttribute(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</pre>
<div class="block">Removes a user-defined attribute with the specified key.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#removeAttribute(java.lang.Object)">removeAttribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">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>public final&nbsp;boolean&nbsp;removeAttribute(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&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>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#removeAttribute(java.lang.Object, java.lang.Object)">removeAttribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</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>public final&nbsp;boolean&nbsp;replaceAttribute(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;oldValue,
<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&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>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#replaceAttribute(java.lang.Object, java.lang.Object, java.lang.Object)">replaceAttribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="containsAttribute(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsAttribute</h4>
<pre>public final&nbsp;boolean&nbsp;containsAttribute(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</pre>
<div class="block">Returns <tt>true</tt> if this session contains the attribute with
the specified <tt>key</tt>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#containsAttribute(java.lang.Object)">containsAttribute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getAttributeKeys()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttributeKeys</h4>
<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&gt;&nbsp;getAttributeKeys()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getAttributeKeys()">getAttributeKeys</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the set of keys of all user-defined attributes.</dd></dl>
</li>
</ul>
<a name="getAttributeMap()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttributeMap</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/mina/core/session/IoSessionAttributeMap.html" title="interface in org.apache.mina.core.session">IoSessionAttributeMap</a>&nbsp;getAttributeMap()</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="setAttributeMap(org.apache.mina.core.session.IoSessionAttributeMap)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttributeMap</h4>
<pre>public final&nbsp;void&nbsp;setAttributeMap(<a href="../../../../../org/apache/mina/core/session/IoSessionAttributeMap.html" title="interface in org.apache.mina.core.session">IoSessionAttributeMap</a>&nbsp;attributes)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="setWriteRequestQueue(org.apache.mina.core.write.WriteRequestQueue)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWriteRequestQueue</h4>
<pre>public final&nbsp;void&nbsp;setWriteRequestQueue(<a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html" title="interface in org.apache.mina.core.write">WriteRequestQueue</a>&nbsp;writeRequestQueue)</pre>
<div class="block">Create a new close aware write queue, based on the given write queue.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>writeRequestQueue</code> - The write request queue</dd></dl>
</li>
</ul>
<a name="suspendRead()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>suspendRead</h4>
<pre>public final&nbsp;void&nbsp;suspendRead()</pre>
<div class="block">Suspends read operations for this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#suspendRead()">suspendRead</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="suspendWrite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>suspendWrite</h4>
<pre>public final&nbsp;void&nbsp;suspendWrite()</pre>
<div class="block">Suspends write operations for this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#suspendWrite()">suspendWrite</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="resumeRead()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resumeRead</h4>
<pre>public final&nbsp;void&nbsp;resumeRead()</pre>
<div class="block">Resumes read operations for this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#resumeRead()">resumeRead</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="resumeWrite()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resumeWrite</h4>
<pre>public final&nbsp;void&nbsp;resumeWrite()</pre>
<div class="block">Resumes write operations for this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#resumeWrite()">resumeWrite</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="isReadSuspended()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReadSuspended</h4>
<pre>public&nbsp;boolean&nbsp;isReadSuspended()</pre>
<div class="block">Is read operation is suspended for this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#isReadSuspended()">isReadSuspended</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if suspended</dd></dl>
</li>
</ul>
<a name="isWriteSuspended()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isWriteSuspended</h4>
<pre>public&nbsp;boolean&nbsp;isWriteSuspended()</pre>
<div class="block">Is write operation is suspended for this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#isWriteSuspended()">isWriteSuspended</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if suspended</dd></dl>
</li>
</ul>
<a name="getReadBytes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadBytes</h4>
<pre>public final&nbsp;long&nbsp;getReadBytes()</pre>
<div class="block">Returns the total number of bytes which were read from this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getReadBytes()">getReadBytes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getWrittenBytes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWrittenBytes</h4>
<pre>public final&nbsp;long&nbsp;getWrittenBytes()</pre>
<div class="block">Returns the total number of bytes which were written to this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getWrittenBytes()">getWrittenBytes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getReadMessages()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadMessages</h4>
<pre>public final&nbsp;long&nbsp;getReadMessages()</pre>
<div class="block">Returns the total number of messages which were read and decoded from this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getReadMessages()">getReadMessages</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getWrittenMessages()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWrittenMessages</h4>
<pre>public final&nbsp;long&nbsp;getWrittenMessages()</pre>
<div class="block">Returns the total number of messages which were written and encoded by this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getWrittenMessages()">getWrittenMessages</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getReadBytesThroughput()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadBytesThroughput</h4>
<pre>public final&nbsp;double&nbsp;getReadBytesThroughput()</pre>
<div class="block">Returns the number of read bytes per second.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getReadBytesThroughput()">getReadBytesThroughput</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getWrittenBytesThroughput()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWrittenBytesThroughput</h4>
<pre>public final&nbsp;double&nbsp;getWrittenBytesThroughput()</pre>
<div class="block">Returns the number of written bytes per second.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getWrittenBytesThroughput()">getWrittenBytesThroughput</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getReadMessagesThroughput()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadMessagesThroughput</h4>
<pre>public final&nbsp;double&nbsp;getReadMessagesThroughput()</pre>
<div class="block">Returns the number of read messages per second.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getReadMessagesThroughput()">getReadMessagesThroughput</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getWrittenMessagesThroughput()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWrittenMessagesThroughput</h4>
<pre>public final&nbsp;double&nbsp;getWrittenMessagesThroughput()</pre>
<div class="block">Returns the number of written messages per second.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getWrittenMessagesThroughput()">getWrittenMessagesThroughput</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="updateThroughput(long, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateThroughput</h4>
<pre>public final&nbsp;void&nbsp;updateThroughput(long&nbsp;currentTime,
boolean&nbsp;force)</pre>
<div class="block">Update all statistical properties related with throughput assuming
the specified time is the current time. By default this method returns
silently without updating the throughput properties if they were
calculated already within last
<a href="../../../../../org/apache/mina/core/session/IoSessionConfig.html#getThroughputCalculationInterval()"><code>calculation interval</code></a>.
If, however, <tt>force</tt> is specified as <tt>true</tt>, this method
updates the throughput properties immediately.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#updateThroughput(long, boolean)">updateThroughput</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>currentTime</code> - the current time in milliseconds</dd></dl>
</li>
</ul>
<a name="getScheduledWriteBytes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScheduledWriteBytes</h4>
<pre>public final&nbsp;long&nbsp;getScheduledWriteBytes()</pre>
<div class="block">Returns the number of bytes which are scheduled to be written to this
session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getScheduledWriteBytes()">getScheduledWriteBytes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getScheduledWriteMessages()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScheduledWriteMessages</h4>
<pre>public final&nbsp;int&nbsp;getScheduledWriteMessages()</pre>
<div class="block">Returns the number of messages which are scheduled to be written to this session.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getScheduledWriteMessages()">getScheduledWriteMessages</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="setScheduledWriteBytes(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setScheduledWriteBytes</h4>
<pre>protected&nbsp;void&nbsp;setScheduledWriteBytes(int&nbsp;byteCount)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="setScheduledWriteMessages(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setScheduledWriteMessages</h4>
<pre>protected&nbsp;void&nbsp;setScheduledWriteMessages(int&nbsp;messages)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="increaseReadBytes(long, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>increaseReadBytes</h4>
<pre>public final&nbsp;void&nbsp;increaseReadBytes(long&nbsp;increment,
long&nbsp;currentTime)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="increaseReadMessages(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>increaseReadMessages</h4>
<pre>public final&nbsp;void&nbsp;increaseReadMessages(long&nbsp;currentTime)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="increaseWrittenBytes(int, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>increaseWrittenBytes</h4>
<pre>public final&nbsp;void&nbsp;increaseWrittenBytes(int&nbsp;increment,
long&nbsp;currentTime)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="increaseWrittenMessages(org.apache.mina.core.write.WriteRequest, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>increaseWrittenMessages</h4>
<pre>public final&nbsp;void&nbsp;increaseWrittenMessages(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a>&nbsp;request,
long&nbsp;currentTime)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="increaseScheduledWriteBytes(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>increaseScheduledWriteBytes</h4>
<pre>public final&nbsp;void&nbsp;increaseScheduledWriteBytes(int&nbsp;increment)</pre>
<div class="block">Increase the number of scheduled write bytes for the session</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>increment</code> - The number of newly added bytes to write</dd></dl>
</li>
</ul>
<a name="increaseScheduledWriteMessages()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>increaseScheduledWriteMessages</h4>
<pre>public final&nbsp;void&nbsp;increaseScheduledWriteMessages()</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="decreaseScheduledBytesAndMessages(org.apache.mina.core.write.WriteRequest)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decreaseScheduledBytesAndMessages</h4>
<pre>public final&nbsp;void&nbsp;decreaseScheduledBytesAndMessages(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a>&nbsp;request)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="getWriteRequestQueue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWriteRequestQueue</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/mina/core/write/WriteRequestQueue.html" title="interface in org.apache.mina.core.write">WriteRequestQueue</a>&nbsp;getWriteRequestQueue()</pre>
<div class="block">TODO Add method documentation</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getWriteRequestQueue()">getWriteRequestQueue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getCurrentWriteRequest()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentWriteRequest</h4>
<pre>public final&nbsp;<a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a>&nbsp;getCurrentWriteRequest()</pre>
<div class="block">Returns the <a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write"><code>WriteRequest</code></a> which is being processed by
<a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service"><code>IoService</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getCurrentWriteRequest()">getCurrentWriteRequest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd><tt>null</tt> if and if only no message is being written</dd></dl>
</li>
</ul>
<a name="getCurrentWriteMessage()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentWriteMessage</h4>
<pre>public final&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getCurrentWriteMessage()</pre>
<div class="block">Returns the message which is being written by <a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service"><code>IoService</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getCurrentWriteMessage()">getCurrentWriteMessage</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd><tt>null</tt> if and if only no message is being written</dd></dl>
</li>
</ul>
<a name="setCurrentWriteRequest(org.apache.mina.core.write.WriteRequest)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCurrentWriteRequest</h4>
<pre>public final&nbsp;void&nbsp;setCurrentWriteRequest(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a>&nbsp;currentWriteRequest)</pre>
<div class="block">TODO setWriteRequestQueue.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#setCurrentWriteRequest(org.apache.mina.core.write.WriteRequest)">setCurrentWriteRequest</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="increaseReadBufferSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>increaseReadBufferSize</h4>
<pre>public final&nbsp;void&nbsp;increaseReadBufferSize()</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="decreaseReadBufferSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decreaseReadBufferSize</h4>
<pre>public final&nbsp;void&nbsp;decreaseReadBufferSize()</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="getCreationTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCreationTime</h4>
<pre>public final&nbsp;long&nbsp;getCreationTime()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getCreationTime()">getCreationTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the session's creation time in milliseconds</dd></dl>
</li>
</ul>
<a name="getLastIoTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastIoTime</h4>
<pre>public final&nbsp;long&nbsp;getLastIoTime()</pre>
<div class="block">Returns the time in millis when I/O occurred lastly.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getLastIoTime()">getLastIoTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getLastReadTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastReadTime</h4>
<pre>public final&nbsp;long&nbsp;getLastReadTime()</pre>
<div class="block">Returns the time in millis when read operation occurred lastly.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getLastReadTime()">getLastReadTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getLastWriteTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastWriteTime</h4>
<pre>public final&nbsp;long&nbsp;getLastWriteTime()</pre>
<div class="block">Returns the time in millis when write operation occurred lastly.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getLastWriteTime()">getLastWriteTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="isIdle(org.apache.mina.core.session.IdleStatus)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isIdle</h4>
<pre>public final&nbsp;boolean&nbsp;isIdle(<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">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/core/session/IdleStatus.html" title="class in org.apache.mina.core.session"><code>IdleStatus</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#isIdle(org.apache.mina.core.session.IdleStatus)">isIdle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="isBothIdle()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBothIdle</h4>
<pre>public final&nbsp;boolean&nbsp;isBothIdle()</pre>
<div class="block">Returns <code>true</code> if this session is <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#BOTH_IDLE"><code>IdleStatus.BOTH_IDLE</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#isBothIdle()">isBothIdle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/mina/core/session/IoSession.html#isIdle(org.apache.mina.core.session.IdleStatus)"><code>IoSession.isIdle(IdleStatus)</code></a></dd></dl>
</li>
</ul>
<a name="isReaderIdle()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReaderIdle</h4>
<pre>public final&nbsp;boolean&nbsp;isReaderIdle()</pre>
<div class="block">Returns <code>true</code> if this session is <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#isReaderIdle()">isReaderIdle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/mina/core/session/IoSession.html#isIdle(org.apache.mina.core.session.IdleStatus)"><code>IoSession.isIdle(IdleStatus)</code></a></dd></dl>
</li>
</ul>
<a name="isWriterIdle()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isWriterIdle</h4>
<pre>public final&nbsp;boolean&nbsp;isWriterIdle()</pre>
<div class="block">Returns <code>true</code> if this session is <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#WRITER_IDLE"><code>IdleStatus.WRITER_IDLE</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#isWriterIdle()">isWriterIdle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/mina/core/session/IoSession.html#isIdle(org.apache.mina.core.session.IdleStatus)"><code>IoSession.isIdle(IdleStatus)</code></a></dd></dl>
</li>
</ul>
<a name="getIdleCount(org.apache.mina.core.session.IdleStatus)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdleCount</h4>
<pre>public final&nbsp;int&nbsp;getIdleCount(<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">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/core/session/IdleStatus.html" title="class in org.apache.mina.core.session"><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>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getIdleCount(org.apache.mina.core.session.IdleStatus)">getIdleCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="getLastIdleTime(org.apache.mina.core.session.IdleStatus)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastIdleTime</h4>
<pre>public final&nbsp;long&nbsp;getLastIdleTime(<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">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/core/session/IdleStatus.html" title="class in org.apache.mina.core.session"><code>IdleStatus</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getLastIdleTime(org.apache.mina.core.session.IdleStatus)">getLastIdleTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="increaseIdleCount(org.apache.mina.core.session.IdleStatus, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>increaseIdleCount</h4>
<pre>public final&nbsp;void&nbsp;increaseIdleCount(<a href="../../../../../org/apache/mina/core/session/IdleStatus.html" title="class in org.apache.mina.core.session">IdleStatus</a>&nbsp;status,
long&nbsp;currentTime)</pre>
<div class="block">TODO Add method documentation</div>
</li>
</ul>
<a name="getBothIdleCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBothIdleCount</h4>
<pre>public final&nbsp;int&nbsp;getBothIdleCount()</pre>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#BOTH_IDLE"><code>IdleStatus.BOTH_IDLE</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getBothIdleCount()">getBothIdleCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/mina/core/session/IoSession.html#getIdleCount(org.apache.mina.core.session.IdleStatus)"><code>IoSession.getIdleCount(IdleStatus)</code></a></dd></dl>
</li>
</ul>
<a name="getLastBothIdleTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastBothIdleTime</h4>
<pre>public final&nbsp;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/core/session/IdleStatus.html#BOTH_IDLE"><code>IdleStatus.BOTH_IDLE</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getLastBothIdleTime()">getLastBothIdleTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/mina/core/session/IoSession.html#getLastIdleTime(org.apache.mina.core.session.IdleStatus)"><code>IoSession.getLastIdleTime(IdleStatus)</code></a></dd></dl>
</li>
</ul>
<a name="getLastReaderIdleTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastReaderIdleTime</h4>
<pre>public final&nbsp;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/core/session/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getLastReaderIdleTime()">getLastReaderIdleTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/mina/core/session/IoSession.html#getLastIdleTime(org.apache.mina.core.session.IdleStatus)"><code>IoSession.getLastIdleTime(IdleStatus)</code></a></dd></dl>
</li>
</ul>
<a name="getLastWriterIdleTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLastWriterIdleTime</h4>
<pre>public final&nbsp;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/core/session/IdleStatus.html#WRITER_IDLE"><code>IdleStatus.WRITER_IDLE</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getLastWriterIdleTime()">getLastWriterIdleTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/mina/core/session/IoSession.html#getLastIdleTime(org.apache.mina.core.session.IdleStatus)"><code>IoSession.getLastIdleTime(IdleStatus)</code></a></dd></dl>
</li>
</ul>
<a name="getReaderIdleCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReaderIdleCount</h4>
<pre>public final&nbsp;int&nbsp;getReaderIdleCount()</pre>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#READER_IDLE"><code>IdleStatus.READER_IDLE</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getReaderIdleCount()">getReaderIdleCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/mina/core/session/IoSession.html#getIdleCount(org.apache.mina.core.session.IdleStatus)"><code>IoSession.getIdleCount(IdleStatus)</code></a></dd></dl>
</li>
</ul>
<a name="getWriterIdleCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWriterIdleCount</h4>
<pre>public final&nbsp;int&nbsp;getWriterIdleCount()</pre>
<div class="block">Returns the number of the fired continuous <tt>sessionIdle</tt> events
for <a href="../../../../../org/apache/mina/core/session/IdleStatus.html#WRITER_IDLE"><code>IdleStatus.WRITER_IDLE</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getWriterIdleCount()">getWriterIdleCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/mina/core/session/IoSession.html#getIdleCount(org.apache.mina.core.session.IdleStatus)"><code>IoSession.getIdleCount(IdleStatus)</code></a></dd></dl>
</li>
</ul>
<a name="getServiceAddress()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceAddress</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net">SocketAddress</a>&nbsp;getServiceAddress()</pre>
<div class="block">Returns the socket address of the <a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service"><code>IoService</code></a> listens to to manage
this session. If this session is managed by <a href="../../../../../org/apache/mina/core/service/IoAcceptor.html" title="interface in org.apache.mina.core.service"><code>IoAcceptor</code></a>, it
returns the <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/net/SocketAddress.html?is-external=true" title="class or interface in java.net"><code>SocketAddress</code></a> which is specified as a parameter of
<a href="../../../../../org/apache/mina/core/service/IoAcceptor.html#bind()"><code>IoAcceptor.bind()</code></a>. If this session is managed by
<a href="../../../../../org/apache/mina/core/service/IoConnector.html" title="interface in org.apache.mina.core.service"><code>IoConnector</code></a>, this method returns the same address with
that of <a href="../../../../../org/apache/mina/core/session/IoSession.html#getRemoteAddress()"><code>IoSession.getRemoteAddress()</code></a>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getServiceAddress()">getServiceAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
</dl>
</li>
</ul>
<a name="hashCode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public final&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="equals(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public final&nbsp;boolean&nbsp;equals(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;o)</pre>
<div class="block"> TODO This is a ridiculous implementation. Need to be
replaced.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="getService()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getService</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service">IoService</a>&nbsp;getService()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/mina/core/session/IoSession.html#getService()">getService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the <a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service"><code>IoService</code></a> which provides I/O service to this session.</dd></dl>
</li>
</ul>
<a name="notifyIdleness(java.util.Iterator, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>notifyIdleness</h4>
<pre>public static&nbsp;void&nbsp;notifyIdleness(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;? extends <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&gt;&nbsp;sessions,
long&nbsp;currentTime)</pre>
<div class="block">Fires a <a href="../../../../../org/apache/mina/core/session/IoEventType.html#SESSION_IDLE"><code>IoEventType.SESSION_IDLE</code></a> event to any applicable sessions
in the specified collection.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>currentTime</code> - the current time (i.e. <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html?is-external=true#currentTimeMillis()" title="class or interface in java.lang"><code>System.currentTimeMillis()</code></a>)</dd></dl>
</li>
</ul>
<a name="notifyIdleSession(org.apache.mina.core.session.IoSession, long)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>notifyIdleSession</h4>
<pre>public static&nbsp;void&nbsp;notifyIdleSession(<a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</a>&nbsp;session,
long&nbsp;currentTime)</pre>
<div class="block">Fires a <a href="../../../../../org/apache/mina/core/session/IoEventType.html#SESSION_IDLE"><code>IoEventType.SESSION_IDLE</code></a> event if applicable for the
specified <code>session</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>currentTime</code> - the current time (i.e. <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html?is-external=true#currentTimeMillis()" title="class or interface in java.lang"><code>System.currentTimeMillis()</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/AbstractIoSession.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 Class</li>
<li><a href="../../../../../org/apache/mina/core/session/AbstractIoSessionConfig.html" title="class in org.apache.mina.core.session"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/core/session/AbstractIoSession.html" target="_top">Frames</a></li>
<li><a href="AbstractIoSession.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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&#x2013;2014 <a href="http://mina.apache.org/">Apache MINA Project</a>. All rights reserved.</small></p>
</body>
</html>