blob: 6f1fd7557820abe18d0dd307af2ae1526d09599b [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_171) on Thu Jun 07 22:42:27 CEST 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SimpleIoProcessorPool (Apache MINA 2.0.19 API Documentation)</title>
<meta name="date" content="2018-06-07">
<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="SimpleIoProcessorPool (Apache MINA 2.0.19 API Documentation)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SimpleIoProcessorPool.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/service/IoServiceStatistics.html" title="class in org.apache.mina.core.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mina/core/service/TransportMetadata.html" title="interface in org.apache.mina.core.service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/core/service/SimpleIoProcessorPool.html" target="_top">Frames</a></li>
<li><a href="SimpleIoProcessorPool.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.mina.core.service</div>
<h2 title="Class SimpleIoProcessorPool" class="title">Class SimpleIoProcessorPool&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><a href="http://docs.oracle.com/javase/7/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.service.SimpleIoProcessorPool&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> to be managed by the specified
<a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a>.</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>
<hr>
<br>
<pre>public class <span class="typeNameLabel">SimpleIoProcessorPool&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 <a href="http://docs.oracle.com/javase/7/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/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</a>&lt;S&gt;</pre>
<div class="block">An <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> pool that distributes <a href="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><code>IoSession</code></a>s into one or more
<a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a>s. Most current transport implementations use this pool internally
to perform better in a multi-core environment, and therefore, you won't need to
use this pool directly unless you are running multiple <a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service"><code>IoService</code></a>s in the
same JVM.
<p>
If you are running multiple <a href="../../../../../org/apache/mina/core/service/IoService.html" title="interface in org.apache.mina.core.service"><code>IoService</code></a>s, you could want to share the pool
among all services. To do so, you can create a new <a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="class in org.apache.mina.core.service"><code>SimpleIoProcessorPool</code></a>
instance by yourself and provide the pool as a constructor parameter when you
create the services.
<p>
This pool uses Java reflection API to create multiple <a href="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service"><code>IoProcessor</code></a> instances.
It tries to instantiate the processor in the following order:
<ol>
<li>A public constructor with one <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent"><code>ExecutorService</code></a> parameter.</li>
<li>A public constructor with one <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent"><code>Executor</code></a> parameter.</li>
<li>A public default constructor</li>
</ol>
The following is an example for the NIO socket transport:
<pre><code>
// Create a shared pool.
SimpleIoProcessorPool&lt;NioSession&gt; pool =
new SimpleIoProcessorPool&lt;NioSession&gt;(NioProcessor.class, 16);
// Create two services that share the same pool.
SocketAcceptor acceptor = new NioSocketAcceptor(pool);
SocketConnector connector = new NioSocketConnector(pool);
...
// Release related resources.
connector.dispose();
acceptor.dispose();
pool.dispose();
</code></pre></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">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#SimpleIoProcessorPool-java.lang.Class-">SimpleIoProcessorPool</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&gt;&gt;&nbsp;processorType)</code>
<div class="block">Creates a new instance of SimpleIoProcessorPool with a default
size of NbCPUs +1.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#SimpleIoProcessorPool-java.lang.Class-java.util.concurrent.Executor-">SimpleIoProcessorPool</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&gt;&gt;&nbsp;processorType,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;executor)</code>
<div class="block">Creates a new instance of SimpleIoProcessorPool with an executor</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#SimpleIoProcessorPool-java.lang.Class-java.util.concurrent.Executor-int-java.nio.channels.spi.SelectorProvider-">SimpleIoProcessorPool</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&gt;&gt;&nbsp;processorType,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;executor,
int&nbsp;size,
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/spi/SelectorProvider.html?is-external=true" title="class or interface in java.nio.channels.spi">SelectorProvider</a>&nbsp;selectorProvider)</code>
<div class="block">Creates a new instance of SimpleIoProcessorPool with an executor</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#SimpleIoProcessorPool-java.lang.Class-int-">SimpleIoProcessorPool</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&gt;&gt;&nbsp;processorType,
int&nbsp;size)</code>
<div class="block">Creates a new instance of SimpleIoProcessorPool with a defined
number of IoProcessors in the pool</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#SimpleIoProcessorPool-java.lang.Class-int-java.nio.channels.spi.SelectorProvider-">SimpleIoProcessorPool</a></span>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&gt;&gt;&nbsp;processorType,
int&nbsp;size,
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/spi/SelectorProvider.html?is-external=true" title="class or interface in java.nio.channels.spi">SelectorProvider</a>&nbsp;selectorProvider)</code>
<div class="block">Creates a new instance of SimpleIoProcessorPool with a defined
number of IoProcessors in the pool</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#add-S-">add</a></span>(<a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#dispose--">dispose</a></span>()</code>
<div class="block">Releases any resources allocated by this processor.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#flush-S-">flush</a></span>(<a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#isDisposed--">isDisposed</a></span>()</code></td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#isDisposing--">isDisposing</a></span>()</code></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/service/SimpleIoProcessorPool.html#remove-S-">remove</a></span>(<a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#updateTrafficControl-S-">updateTrafficControl</a></span>(<a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#write-S-org.apache.mina.core.write.WriteRequest-">write</a></span>(<a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a>&nbsp;writeRequest)</code>
<div class="block">Writes the WriteRequest for the specified <code>session</code>.</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/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SimpleIoProcessorPool-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SimpleIoProcessorPool</h4>
<pre>public&nbsp;SimpleIoProcessorPool(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&gt;&gt;&nbsp;processorType)</pre>
<div class="block">Creates a new instance of SimpleIoProcessorPool with a default
size of NbCPUs +1.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>processorType</code> - The type of IoProcessor to use</dd>
</dl>
</li>
</ul>
<a name="SimpleIoProcessorPool-java.lang.Class-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SimpleIoProcessorPool</h4>
<pre>public&nbsp;SimpleIoProcessorPool(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&gt;&gt;&nbsp;processorType,
int&nbsp;size)</pre>
<div class="block">Creates a new instance of SimpleIoProcessorPool with a defined
number of IoProcessors in the pool</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>processorType</code> - The type of IoProcessor to use</dd>
<dd><code>size</code> - The number of IoProcessor in the pool</dd>
</dl>
</li>
</ul>
<a name="SimpleIoProcessorPool-java.lang.Class-int-java.nio.channels.spi.SelectorProvider-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SimpleIoProcessorPool</h4>
<pre>public&nbsp;SimpleIoProcessorPool(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&gt;&gt;&nbsp;processorType,
int&nbsp;size,
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/spi/SelectorProvider.html?is-external=true" title="class or interface in java.nio.channels.spi">SelectorProvider</a>&nbsp;selectorProvider)</pre>
<div class="block">Creates a new instance of SimpleIoProcessorPool with a defined
number of IoProcessors in the pool</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>processorType</code> - The type of IoProcessor to use</dd>
<dd><code>size</code> - The number of IoProcessor in the pool</dd>
<dd><code>selectorProvider</code> - The SelectorProvider to use</dd>
</dl>
</li>
</ul>
<a name="SimpleIoProcessorPool-java.lang.Class-java.util.concurrent.Executor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SimpleIoProcessorPool</h4>
<pre>public&nbsp;SimpleIoProcessorPool(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&gt;&gt;&nbsp;processorType,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;executor)</pre>
<div class="block">Creates a new instance of SimpleIoProcessorPool with an executor</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>processorType</code> - The type of IoProcessor to use</dd>
<dd><code>executor</code> - The <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent"><code>Executor</code></a></dd>
</dl>
</li>
</ul>
<a name="SimpleIoProcessorPool-java.lang.Class-java.util.concurrent.Executor-int-java.nio.channels.spi.SelectorProvider-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SimpleIoProcessorPool</h4>
<pre>public&nbsp;SimpleIoProcessorPool(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends <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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&gt;&gt;&nbsp;processorType,
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</a>&nbsp;executor,
int&nbsp;size,
<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/spi/SelectorProvider.html?is-external=true" title="class or interface in java.nio.channels.spi">SelectorProvider</a>&nbsp;selectorProvider)</pre>
<div class="block">Creates a new instance of SimpleIoProcessorPool with an executor</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>processorType</code> - The type of IoProcessor to use</dd>
<dd><code>executor</code> - The <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent"><code>Executor</code></a></dd>
<dd><code>size</code> - The number of IoProcessor in the pool</dd>
<dd><code>selectorProvider</code> - The SelectorProvider to used</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="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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - The added session</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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - The session we want the message to be written</dd>
</dl>
</li>
</ul>
<a name="write-org.apache.mina.core.session.AbstractIoSession-org.apache.mina.core.write.WriteRequest-">
<!-- -->
</a><a name="write-S-org.apache.mina.core.write.WriteRequest-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre>public final&nbsp;void&nbsp;write(<a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</a>&nbsp;session,
<a href="../../../../../org/apache/mina/core/write/WriteRequest.html" title="interface in org.apache.mina.core.write">WriteRequest</a>&nbsp;writeRequest)</pre>
<div class="block">Writes the WriteRequest for 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#write-S-org.apache.mina.core.write.WriteRequest-">write</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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - The session we want the message to be written</dd>
<dd><code>writeRequest</code> - the WriteRequest to write</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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - The session to be removed</dd>
</dl>
</li>
</ul>
<a name="updateTrafficControl-org.apache.mina.core.session.AbstractIoSession-">
<!-- -->
</a><a name="updateTrafficControl-S-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateTrafficControl</h4>
<pre>public final&nbsp;void&nbsp;updateTrafficControl(<a href="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - The session to be updated</dd>
</dl>
</li>
</ul>
<a name="isDisposed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDisposed</h4>
<pre>public&nbsp;boolean&nbsp;isDisposed()</pre>
<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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><tt>true</tt> if and if only all resources of this processor
have been disposed.</dd>
</dl>
</li>
</ul>
<a name="isDisposing--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDisposing</h4>
<pre>public&nbsp;boolean&nbsp;isDisposing()</pre>
<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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><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.</dd>
</dl>
</li>
</ul>
<a name="dispose--">
<!-- -->
</a>
<ul class="blockListLast">
<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/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">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/SimpleIoProcessorPool.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/service/IoServiceStatistics.html" title="class in org.apache.mina.core.service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mina/core/service/TransportMetadata.html" title="interface in org.apache.mina.core.service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mina/core/service/SimpleIoProcessorPool.html" target="_top">Frames</a></li>
<li><a href="SimpleIoProcessorPool.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2018 <a href="http://mina.apache.org/">Apache MINA Project</a>. All rights reserved.</small></p>
</body>
</html>