blob: 0a0601b12a940dfc684d0f6d70db4b8c326e5aaa [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_191) on Sat Mar 16 23:01:38 CET 2019 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>AbstractPollingIoProcessor (Apache MINA 2.0.1 API Documentation)</title>
<meta name="date" content="2019-03-16">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AbstractPollingIoProcessor (Apache MINA 2.0.1 API Documentation)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":6,"i2":6,"i3":10,"i4":6,"i5":10,"i6":6,"i7":6,"i8":10,"i9":10,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":10,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":10,"i24":10,"i25":6,"i26":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractPollingIoProcessor.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/core/polling/AbstractPollingIoProcessor.html" target="_top">Frames</a></li>
<li><a href="AbstractPollingIoProcessor.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><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.polling</div>
<h2 title="Class AbstractPollingIoProcessor" class="title">Class AbstractPollingIoProcessor&lt;S extends <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</a>&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.mina.core.polling.AbstractPollingIoProcessor&lt;S&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>S</code> - the type of the <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> this processor can handle</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;S&gt;</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/mina/transport/socket/apr/AprIoProcessor.html" title="class in org.apache.mina.transport.socket.apr">AprIoProcessor</a>, <a href="../../../../../org/apache/mina/transport/socket/nio/NioProcessor.html" title="class in org.apache.mina.transport.socket.nio">NioProcessor</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">AbstractPollingIoProcessor&lt;S extends <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</a>&gt;</span>
extends java.lang.Object
implements <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;S&gt;</pre>
<div class="block">An abstract implementation of <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> which helps transport
developers to write an <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> easily. This class is in charge of
active polling a set of <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> and trigger events when some I/O
operation is possible.</div>
<dl>
<dt><span class="simpleTagLabel">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="memberSummary" 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 java.util.concurrent.atomic.AtomicBoolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#wakeupCalled">wakeupCalled</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="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><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#AbstractPollingIoProcessor-java.util.concurrent.Executor-">AbstractPollingIoProcessor</a></span>(java.util.concurrent.Executor&nbsp;executor)</code>
<div class="block">Create an <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoProcessor</code></a> with the given
<code>Executor</code> for handling I/Os events.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#add-S-">add</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code>
<div class="block">Adds the specified <code>session</code> to the I/O processor so that
the I/O processor starts to perform any I/O operations related
with the <code>session</code>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected abstract java.util.Iterator&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#allSessions--">allSessions</a></span>()</code>
<div class="block">Get an <code>Iterator</code> for the list of <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> polled by this
<a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a></div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#destroy-S-">destroy</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code>
<div class="block">Destroy the underlying client socket handle</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#dispose--">dispose</a></span>()</code>
<div class="block">Releases any resources allocated by this processor.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#doDispose--">doDispose</a></span>()</code>
<div class="block">Dispose the resources used by this <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> for polling the
client connections.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#flush-S-">flush</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code>
<div class="block">Flushes the internal write request queue of the specified
<code>session</code>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../org/apache/mina/core/session/SessionState.html" title="enum in org.apache.mina.core.session">SessionState</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#getState-S-">getState</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code>
<div class="block">Get the state of a session (preparing, open, closed)</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#init-S-">init</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code>
<div class="block">Initialize the polling of a session.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#isDisposed--">isDisposed</a></span>()</code>
<div class="block">Returns <tt>true</tt> if and if only all resources of this processor
have been disposed.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#isDisposing--">isDisposing</a></span>()</code>
<div class="block">Returns <tt>true</tt> if and if only <a href="../../../../../org/apache/mina/core/service/IoProcessor.html#dispose--"><code>IoProcessor.dispose()</code></a> method has
been called.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#isInterestedInRead-S-">isInterestedInRead</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code>
<div class="block">is this session registered for reading</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#isInterestedInWrite-S-">isInterestedInWrite</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code>
<div class="block">is this session registered for writing</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#isReadable-S-">isReadable</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code>
<div class="block">Is the session ready for reading</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#isSelectorEmpty--">isSelectorEmpty</a></span>()</code>
<div class="block">Say if the list of <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> polled by this <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a>
is empty</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#isWritable-S-">isWritable</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code>
<div class="block">Is the session ready for writing</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#read-S-org.apache.mina.core.buffer.IoBuffer-">read</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</a>&nbsp;buf)</code>
<div class="block">Reads a sequence of bytes from a <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> into the given
<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer"><code>IoBuffer</code></a>.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#remove-S-">remove</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code>
<div class="block">Removes and closes the specified <code>session</code> from the I/O
processor so that the I/O processor closes the connection
associated with the <code>session</code> and releases any other related
resources.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#select--">select</a></span>()</code>
<div class="block">poll those sessions forever</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#select-long-">select</a></span>(long&nbsp;timeout)</code>
<div class="block">poll those sessions for the given timeout</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected abstract java.util.Iterator&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#selectedSessions--">selectedSessions</a></span>()</code>
<div class="block">Get an <code>Iterator</code> for the list of <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> found selected
by the last call of {@link AbstractPollingIoProcessor#select(int)</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#setInterestedInRead-S-boolean-">setInterestedInRead</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session,
boolean&nbsp;isInterested)</code>
<div class="block">register a session for reading</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#setInterestedInWrite-S-boolean-">setInterestedInWrite</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session,
boolean&nbsp;isInterested)</code>
<div class="block">register a session for writing</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>protected abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#transferFile-S-org.apache.mina.core.file.FileRegion-int-">transferFile</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/file/FileRegion.html" title="interface in org.apache.mina.core.file">FileRegion</a>&nbsp;region,
int&nbsp;length)</code>
<div class="block">Write a part of a file to a <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>, if the underlying API
isn't supporting system calls like sendfile(), you can throw a
<code>UnsupportedOperationException</code> so the file will be send using
usual <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#write-S-org.apache.mina.core.buffer.IoBuffer-int-"><code>write(AbstractIoSession, IoBuffer, int)</code></a> call.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#updateTrafficControl-S-">updateTrafficControl</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code>
<div class="block">Controls the traffic of the specified <code>session</code> depending of the
<a href="../../../../../org/apache/mina/core/session/IoSession.html#isReadSuspended--"><code>IoSession.isReadSuspended()</code></a> and <a href="../../../../../org/apache/mina/core/session/IoSession.html#isWriteSuspended--"><code>IoSession.isWriteSuspended()</code></a>
flags</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#updateTrafficMask-S-">updateTrafficMask</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</code></td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#wakeup--">wakeup</a></span>()</code>
<div class="block">Interrupt the {@link AbstractPollingIoProcessor#select(int) call.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>protected abstract int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#write-S-org.apache.mina.core.buffer.IoBuffer-int-">write</a></span>(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</a>&nbsp;buf,
int&nbsp;length)</code>
<div class="block">Write a sequence of bytes to a <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>, means to be called when
a session was found ready for writing.</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.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="wakeupCalled">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>wakeupCalled</h4>
<pre>protected&nbsp;java.util.concurrent.atomic.AtomicBoolean wakeupCalled</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractPollingIoProcessor-java.util.concurrent.Executor-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractPollingIoProcessor</h4>
<pre>protected&nbsp;AbstractPollingIoProcessor(java.util.concurrent.Executor&nbsp;executor)</pre>
<div class="block">Create an <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="class in org.apache.mina.core.polling"><code>AbstractPollingIoProcessor</code></a> with the given
<code>Executor</code> for handling I/Os events.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>executor</code> - the <code>Executor</code> for handling I/O events</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isDisposing--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDisposing</h4>
<pre>public final&nbsp;boolean&nbsp;isDisposing()</pre>
<div class="block">Returns <tt>true</tt> if and if only <a href="../../../../../org/apache/mina/core/service/IoProcessor.html#dispose--"><code>IoProcessor.dispose()</code></a> method has
been called. Please note that this method will return <tt>true</tt>
even after all the related resources are released.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html#isDisposing--">isDisposing</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a> extends <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="isDisposed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDisposed</h4>
<pre>public final&nbsp;boolean&nbsp;isDisposed()</pre>
<div class="block">Returns <tt>true</tt> if and if only all resources of this processor
have been disposed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html#isDisposed--">isDisposed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a> extends <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="dispose--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dispose</h4>
<pre>public final&nbsp;void&nbsp;dispose()</pre>
<div class="block">Releases any resources allocated by this processor. Please note that
the resources might not be released as long as there are any sessions
managed by this processor. Most implementations will close all sessions
immediately and release the related resources.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html#dispose--">dispose</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a> extends <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="doDispose--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doDispose</h4>
<pre>protected abstract&nbsp;void&nbsp;doDispose()
throws java.lang.Exception</pre>
<div class="block">Dispose the resources used by this <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> for polling the
client connections. The implementing class doDispose method will be called.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if some low level IO error occurs</dd>
</dl>
</li>
</ul>
<a name="select-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>select</h4>
<pre>protected abstract&nbsp;int&nbsp;select(long&nbsp;timeout)
throws java.lang.Exception</pre>
<div class="block">poll those sessions for the given timeout</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - milliseconds before the call timeout if no event appear</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of session ready for read or for write</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if some low level IO error occurs</dd>
</dl>
</li>
</ul>
<a name="select--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>select</h4>
<pre>protected abstract&nbsp;int&nbsp;select()
throws java.lang.Exception</pre>
<div class="block">poll those sessions forever</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of session ready for read or for write</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if some low level IO error occurs</dd>
</dl>
</li>
</ul>
<a name="isSelectorEmpty--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSelectorEmpty</h4>
<pre>protected abstract&nbsp;boolean&nbsp;isSelectorEmpty()</pre>
<div class="block">Say if the list of <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> polled by this <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a>
is empty</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if at least a session is managed by this <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a></dd>
</dl>
</li>
</ul>
<a name="wakeup--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wakeup</h4>
<pre>protected abstract&nbsp;void&nbsp;wakeup()</pre>
<div class="block">Interrupt the {@link AbstractPollingIoProcessor#select(int) call.</div>
</li>
</ul>
<a name="allSessions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allSessions</h4>
<pre>protected abstract&nbsp;java.util.Iterator&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&gt;&nbsp;allSessions()</pre>
<div class="block">Get an <code>Iterator</code> for the list of <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> polled by this
<a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Iterator</code> of <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a></dd>
</dl>
</li>
</ul>
<a name="selectedSessions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectedSessions</h4>
<pre>protected abstract&nbsp;java.util.Iterator&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&gt;&nbsp;selectedSessions()</pre>
<div class="block">Get an <code>Iterator</code> for the list of <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> found selected
by the last call of {@link AbstractPollingIoProcessor#select(int)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Iterator</code> of <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> read for I/Os operation</dd>
</dl>
</li>
</ul>
<a name="getState-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="getState-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getState</h4>
<pre>protected abstract&nbsp;<a href="../../../../../org/apache/mina/core/session/SessionState.html" title="enum in org.apache.mina.core.session">SessionState</a>&nbsp;getState(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</pre>
<div class="block">Get the state of a session (preparing, open, closed)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> to inspect</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the state of the session</dd>
</dl>
</li>
</ul>
<a name="isWritable-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="isWritable-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isWritable</h4>
<pre>protected abstract&nbsp;boolean&nbsp;isWritable(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</pre>
<div class="block">Is the session ready for writing</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the session queried</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true is ready, false if not ready</dd>
</dl>
</li>
</ul>
<a name="isReadable-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="isReadable-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReadable</h4>
<pre>protected abstract&nbsp;boolean&nbsp;isReadable(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</pre>
<div class="block">Is the session ready for reading</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the session queried</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true is ready, false if not ready</dd>
</dl>
</li>
</ul>
<a name="setInterestedInWrite-org.apache.mina.core.session.AbstractIoSession-boolean-">
<!-- -->
</a><a name="setInterestedInWrite-S-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInterestedInWrite</h4>
<pre>protected abstract&nbsp;void&nbsp;setInterestedInWrite(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session,
boolean&nbsp;isInterested)
throws java.lang.Exception</pre>
<div class="block">register a session for writing</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the session registered</dd>
<dd><code>isInterested</code> - true for registering, false for removing</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="setInterestedInRead-org.apache.mina.core.session.AbstractIoSession-boolean-">
<!-- -->
</a><a name="setInterestedInRead-S-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInterestedInRead</h4>
<pre>protected abstract&nbsp;void&nbsp;setInterestedInRead(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session,
boolean&nbsp;isInterested)
throws java.lang.Exception</pre>
<div class="block">register a session for reading</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the session registered</dd>
<dd><code>isInterested</code> - true for registering, false for removing</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="isInterestedInRead-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="isInterestedInRead-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInterestedInRead</h4>
<pre>protected abstract&nbsp;boolean&nbsp;isInterestedInRead(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</pre>
<div class="block">is this session registered for reading</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the session queried</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true is registered for reading</dd>
</dl>
</li>
</ul>
<a name="isInterestedInWrite-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="isInterestedInWrite-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInterestedInWrite</h4>
<pre>protected abstract&nbsp;boolean&nbsp;isInterestedInWrite(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</pre>
<div class="block">is this session registered for writing</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the session queried</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true is registered for writing</dd>
</dl>
</li>
</ul>
<a name="init-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="init-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>protected abstract&nbsp;void&nbsp;init(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)
throws java.lang.Exception</pre>
<div class="block">Initialize the polling of a session. Add it to the polling process.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> to add to the polling</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying system calls</dd>
</dl>
</li>
</ul>
<a name="destroy-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="destroy-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroy</h4>
<pre>protected abstract&nbsp;void&nbsp;destroy(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)
throws java.lang.Exception</pre>
<div class="block">Destroy the underlying client socket handle</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying system calls</dd>
</dl>
</li>
</ul>
<a name="read-org.apache.mina.core.session.AbstractIoSession-org.apache.mina.core.buffer.IoBuffer-">
<!-- -->
</a><a name="read-S-org.apache.mina.core.buffer.IoBuffer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>read</h4>
<pre>protected abstract&nbsp;int&nbsp;read(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</a>&nbsp;buf)
throws java.lang.Exception</pre>
<div class="block">Reads a sequence of bytes from a <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a> into the given
<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer"><code>IoBuffer</code></a>. Is called when the session was found ready for reading.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the session to read</dd>
<dd><code>buf</code> - the buffer to fill</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bytes read</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying system calls</dd>
</dl>
</li>
</ul>
<a name="write-org.apache.mina.core.session.AbstractIoSession-org.apache.mina.core.buffer.IoBuffer-int-">
<!-- -->
</a><a name="write-S-org.apache.mina.core.buffer.IoBuffer-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre>protected abstract&nbsp;int&nbsp;write(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html" title="class in org.apache.mina.core.buffer">IoBuffer</a>&nbsp;buf,
int&nbsp;length)
throws java.lang.Exception</pre>
<div class="block">Write a sequence of bytes to a <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>, means to be called when
a session was found ready for writing.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the session to write</dd>
<dd><code>buf</code> - the buffer to write</dd>
<dd><code>length</code> - the number of bytes to write can be superior to the number of
bytes remaining in the buffer</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of byte written</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying system calls</dd>
</dl>
</li>
</ul>
<a name="transferFile-org.apache.mina.core.session.AbstractIoSession-org.apache.mina.core.file.FileRegion-int-">
<!-- -->
</a><a name="transferFile-S-org.apache.mina.core.file.FileRegion-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transferFile</h4>
<pre>protected abstract&nbsp;int&nbsp;transferFile(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/file/FileRegion.html" title="interface in org.apache.mina.core.file">FileRegion</a>&nbsp;region,
int&nbsp;length)
throws java.lang.Exception</pre>
<div class="block">Write a part of a file to a <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>, if the underlying API
isn't supporting system calls like sendfile(), you can throw a
<code>UnsupportedOperationException</code> so the file will be send using
usual <a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html#write-S-org.apache.mina.core.buffer.IoBuffer-int-"><code>write(AbstractIoSession, IoBuffer, int)</code></a> call.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - the session to write</dd>
<dd><code>region</code> - the file region to write</dd>
<dd><code>length</code> - the length of the portion to send</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of written bytes</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - any exception thrown by the underlying system calls</dd>
</dl>
</li>
</ul>
<a name="add-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="add-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public final&nbsp;void&nbsp;add(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</pre>
<div class="block">Adds the specified <code>session</code> to the I/O processor so that
the I/O processor starts to perform any I/O operations related
with the <code>session</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html#add-S-">add</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a> extends <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="remove-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="remove-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remove</h4>
<pre>public final&nbsp;void&nbsp;remove(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</pre>
<div class="block">Removes and closes the specified <code>session</code> from the I/O
processor so that the I/O processor closes the connection
associated with the <code>session</code> and releases any other related
resources.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html#remove-S-">remove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a> extends <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="flush-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="flush-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flush</h4>
<pre>public final&nbsp;void&nbsp;flush(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</pre>
<div class="block">Flushes the internal write request queue of the specified
<code>session</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html#flush-S-">flush</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a> extends <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="updateTrafficMask-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="updateTrafficMask-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateTrafficMask</h4>
<pre>public final&nbsp;void&nbsp;updateTrafficMask(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</pre>
</li>
</ul>
<a name="updateTrafficControl-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="updateTrafficControl-S-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>updateTrafficControl</h4>
<pre>public&nbsp;void&nbsp;updateTrafficControl(<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a>&nbsp;session)</pre>
<div class="block">Controls the traffic of the specified <code>session</code> depending of the
<a href="../../../../../org/apache/mina/core/session/IoSession.html#isReadSuspended--"><code>IoSession.isReadSuspended()</code></a> and <a href="../../../../../org/apache/mina/core/session/IoSession.html#isWriteSuspended--"><code>IoSession.isWriteSuspended()</code></a>
flags</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html#updateTrafficControl-S-">updateTrafficControl</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;<a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="type parameter in AbstractPollingIoProcessor">S</a> extends <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</a>&gt;</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractPollingIoProcessor.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/mina/core/polling/AbstractPollingIoConnector.ConnectionRequest.html" title="class in org.apache.mina.core.polling"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/core/polling/AbstractPollingIoProcessor.html" target="_top">Frames</a></li>
<li><a href="AbstractPollingIoProcessor.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><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-2019 <a href="http://mina.apache.org/">Apache MINA Project</a>. All Rights Reserved.</small></p>
</body>
</html>