blob: a027a903ded7560aac84cf80879b5d016765e9d0 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_24) on Mon Apr 11 23:10:50 CEST 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
SimpleIoProcessorPool (Apache MINA 2.0.3 API)
</TITLE>
<META NAME="date" CONTENT="2011-04-11">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SimpleIoProcessorPool (Apache MINA 2.0.3 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleIoProcessorPool.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/mina/core/service/IoServiceStatistics.html" title="class in org.apache.mina.core.service"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/mina/core/service/TransportMetadata.html" title="interface in org.apache.mina.core.service"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/mina/core/service/SimpleIoProcessorPool.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SimpleIoProcessorPool.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.mina.core.service</FONT>
<BR>
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>
<PRE>
java.lang.Object
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.mina.core.service.SimpleIoProcessorPool&lt;S&gt;</B>
</PRE>
<DL>
<DT><DT><B>Type Parameters:</B><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>.</DL>
<DL>
<DT><B>All Implemented Interfaces:</B> <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>
<DL>
<DT><PRE>public class <B>SimpleIoProcessorPool&lt;S extends <A HREF="../../../../../org/apache/mina/core/session/AbstractIoSession.html" title="class in org.apache.mina.core.session">AbstractIoSession</A>&gt;</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html" title="interface in org.apache.mina.core.service">IoProcessor</A>&lt;S&gt;</DL>
</PRE>
<P>
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 <CODE>ExecutorService</CODE> parameter.</li>
<li>A public constructor with one <CODE>Executor</CODE> 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>
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD><a href="http://mina.apache.org">Apache MINA Project</a></DD>
</DL>
<HR>
<P>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#SimpleIoProcessorPool(java.lang.Class)">SimpleIoProcessorPool</A></B>(java.lang.Class&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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance of SimpleIoProcessorPool with a default
size of NbCPUs +1.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#SimpleIoProcessorPool(java.lang.Class, java.util.concurrent.Executor)">SimpleIoProcessorPool</A></B>(java.lang.Class&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,
java.util.concurrent.Executor&nbsp;executor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance of SimpleIoProcessorPool with an executor</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#SimpleIoProcessorPool(java.lang.Class, java.util.concurrent.Executor, int)">SimpleIoProcessorPool</A></B>(java.lang.Class&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,
java.util.concurrent.Executor&nbsp;executor,
int&nbsp;size)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance of SimpleIoProcessorPool with an executor</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#SimpleIoProcessorPool(java.lang.Class, int)">SimpleIoProcessorPool</A></B>(java.lang.Class&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>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new instance of SimpleIoProcessorPool with a defined
number of IoProcessors in the pool</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#add(S)">add</A></B>(<A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#dispose()">dispose</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Releases any resources allocated by this processor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#flush(S)">flush</A></B>(<A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flushes the internal write request queue of the specified
<code>session</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#isDisposed()">isDisposed</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <tt>true</tt> if and if only all resources of this processor
have been disposed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#isDisposing()">isDisposing</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#remove(S)">remove</A></B>(<A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html#updateTrafficControl(S)">updateTrafficControl</A></B>(<A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="SimpleIoProcessorPool(java.lang.Class)"><!-- --></A><H3>
SimpleIoProcessorPool</H3>
<PRE>
public <B>SimpleIoProcessorPool</B>(java.lang.Class&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>
<DL>
<DD>Creates a new instance of SimpleIoProcessorPool with a default
size of NbCPUs +1.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>processorType</CODE> - The type of IoProcessor to use</DL>
</DL>
<HR>
<A NAME="SimpleIoProcessorPool(java.lang.Class, int)"><!-- --></A><H3>
SimpleIoProcessorPool</H3>
<PRE>
public <B>SimpleIoProcessorPool</B>(java.lang.Class&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>
<DL>
<DD>Creates a new instance of SimpleIoProcessorPool with a defined
number of IoProcessors in the pool
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>processorType</CODE> - The type of IoProcessor to use<DD><CODE>size</CODE> - The number of IoProcessor in the pool</DL>
</DL>
<HR>
<A NAME="SimpleIoProcessorPool(java.lang.Class, java.util.concurrent.Executor)"><!-- --></A><H3>
SimpleIoProcessorPool</H3>
<PRE>
public <B>SimpleIoProcessorPool</B>(java.lang.Class&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,
java.util.concurrent.Executor&nbsp;executor)</PRE>
<DL>
<DD>Creates a new instance of SimpleIoProcessorPool with an executor
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>processorType</CODE> - The type of IoProcessor to use<DD><CODE>executor</CODE> - The <CODE>Executor</CODE></DL>
</DL>
<HR>
<A NAME="SimpleIoProcessorPool(java.lang.Class, java.util.concurrent.Executor, int)"><!-- --></A><H3>
SimpleIoProcessorPool</H3>
<PRE>
public <B>SimpleIoProcessorPool</B>(java.lang.Class&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,
java.util.concurrent.Executor&nbsp;executor,
int&nbsp;size)</PRE>
<DL>
<DD>Creates a new instance of SimpleIoProcessorPool with an executor
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>processorType</CODE> - The type of IoProcessor to use<DD><CODE>executor</CODE> - The <CODE>Executor</CODE><DD><CODE>size</CODE> - The number of IoProcessor in the pool</DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="add(org.apache.mina.core.session.AbstractIoSession)"><!-- --></A><A NAME="add(S)"><!-- --></A><H3>
add</H3>
<PRE>
public final void <B>add</B>(<A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</A>&nbsp;session)</PRE>
<DL>
<DD>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>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html#add(S)">add</A></CODE> in interface <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></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="flush(org.apache.mina.core.session.AbstractIoSession)"><!-- --></A><A NAME="flush(S)"><!-- --></A><H3>
flush</H3>
<PRE>
public final void <B>flush</B>(<A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</A>&nbsp;session)</PRE>
<DL>
<DD>Flushes the internal write request queue of the specified
<code>session</code>.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html#flush(S)">flush</A></CODE> in interface <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></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="remove(org.apache.mina.core.session.AbstractIoSession)"><!-- --></A><A NAME="remove(S)"><!-- --></A><H3>
remove</H3>
<PRE>
public final void <B>remove</B>(<A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</A>&nbsp;session)</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html#remove(S)">remove</A></CODE> in interface <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></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="updateTrafficControl(org.apache.mina.core.session.AbstractIoSession)"><!-- --></A><A NAME="updateTrafficControl(S)"><!-- --></A><H3>
updateTrafficControl</H3>
<PRE>
public final void <B>updateTrafficControl</B>(<A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="type parameter in SimpleIoProcessorPool">S</A>&nbsp;session)</PRE>
<DL>
<DD>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
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html#updateTrafficControl(S)">updateTrafficControl</A></CODE> in interface <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></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isDisposed()"><!-- --></A><H3>
isDisposed</H3>
<PRE>
public boolean <B>isDisposed</B>()</PRE>
<DL>
<DD>Returns <tt>true</tt> if and if only all resources of this processor
have been disposed.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html#isDisposed()">isDisposed</A></CODE> in interface <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></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isDisposing()"><!-- --></A><H3>
isDisposing</H3>
<PRE>
public boolean <B>isDisposing</B>()</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html#isDisposing()">isDisposing</A></CODE> in interface <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></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="dispose()"><!-- --></A><H3>
dispose</H3>
<PRE>
public final void <B>dispose</B>()</PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html#dispose()">dispose</A></CODE> in interface <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></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleIoProcessorPool.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/mina/core/service/IoServiceStatistics.html" title="class in org.apache.mina.core.service"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/mina/core/service/TransportMetadata.html" title="interface in org.apache.mina.core.service"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/mina/core/service/SimpleIoProcessorPool.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SimpleIoProcessorPool.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2004-2011 <a href="http://mina.apache.org/">Apache MINA Project</a>. All Rights Reserved.
</BODY>
</HTML>