blob: c0cc04ea308a27bed6c170d3f90fd8b13c95fe15 [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_26) on Wed Jun 15 18:09:21 CEST 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
SimpleIoProcessorPool (Apache MINA 2.0.4 API Documentation)
</TITLE>
<META NAME="date" CONTENT="2011-06-15">
<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.4 API Documentation)";
}
}
</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>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<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 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><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 <A HREF="http://java.sun.com/j2se/1.5.0/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://java.sun.com/j2se/1.5.0/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>
<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>(<A HREF="http://java.sun.com/j2se/1.5.0/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>
<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>(<A HREF="http://java.sun.com/j2se/1.5.0/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://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</A>&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>(<A HREF="http://java.sun.com/j2se/1.5.0/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://java.sun.com/j2se/1.5.0/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)</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>(<A HREF="http://java.sun.com/j2se/1.5.0/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>
<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.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></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>(<A HREF="http://java.sun.com/j2se/1.5.0/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>
<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>(<A HREF="http://java.sun.com/j2se/1.5.0/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>
<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>(<A HREF="http://java.sun.com/j2se/1.5.0/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://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent">Executor</A>&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 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent"><CODE>Executor</CODE></A></DL>
</DL>
<HR>
<A NAME="SimpleIoProcessorPool(java.lang.Class, java.util.concurrent.Executor, int)"><!-- --></A><H3>
SimpleIoProcessorPool</H3>
<PRE>
public <B>SimpleIoProcessorPool</B>(<A HREF="http://java.sun.com/j2se/1.5.0/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://java.sun.com/j2se/1.5.0/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)</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 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/Executor.html?is-external=true" title="class or interface in java.util.concurrent"><CODE>Executor</CODE></A><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>