blob: d82fc233661d57ce9f7be23c063329a847805285 [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>
IoProcessor (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="IoProcessor (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/IoProcessor.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/IoHandlerAdapter.html" title="class in org.apache.mina.core.service"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/mina/core/service/IoService.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/IoProcessor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IoProcessor.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;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&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>
Interface IoProcessor&lt;S extends <A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&gt;</H2>
<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> this processor can handle</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../org/apache/mina/core/polling/AbstractPollingIoProcessor.html" title="class in org.apache.mina.core.polling">AbstractPollingIoProcessor</A>, <A HREF="../../../../../org/apache/mina/transport/socket/apr/AprIoProcessor.html" title="class in org.apache.mina.transport.socket.apr">AprIoProcessor</A>, <A HREF="../../../../../org/apache/mina/transport/socket/nio/NioProcessor.html" title="class in org.apache.mina.transport.socket.nio">NioProcessor</A>, <A HREF="../../../../../org/apache/mina/core/service/SimpleIoProcessorPool.html" title="class in org.apache.mina.core.service">SimpleIoProcessorPool</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>IoProcessor&lt;S extends <A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session">IoSession</A>&gt;</B></DL>
</PRE>
<P>
An internal interface to represent an 'I/O processor' that performs
actual I/O operations for <A HREF="../../../../../org/apache/mina/core/session/IoSession.html" title="interface in org.apache.mina.core.session"><CODE>IoSession</CODE></A>s. It abstracts existing
reactor frameworks such as Java NIO once again to simplify transport
implementations.
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD><a href="http://mina.apache.org">Apache MINA Project</a></DD>
</DL>
<HR>
<P>
<!-- ========== 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/IoProcessor.html#add(S)">add</A></B>(<A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html" title="type parameter in IoProcessor">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/IoProcessor.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/IoProcessor.html#flush(S)">flush</A></B>(<A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html" title="type parameter in IoProcessor">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/IoProcessor.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/IoProcessor.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>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/IoProcessor.html#remove(S)">remove</A></B>(<A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html" title="type parameter in IoProcessor">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/IoProcessor.html#updateTrafficControl(S)">updateTrafficControl</A></B>(<A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html" title="type parameter in IoProcessor">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;
<P>
<!-- ============ 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="isDisposing()"><!-- --></A><H3>
isDisposing</H3>
<PRE>
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>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>
</DL>
</DD>
</DL>
<HR>
<A NAME="isDisposed()"><!-- --></A><H3>
isDisposed</H3>
<PRE>
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>
</DL>
</DD>
</DL>
<HR>
<A NAME="dispose()"><!-- --></A><H3>
dispose</H3>
<PRE>
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>
</DL>
</DD>
</DL>
<HR>
<A NAME="add(org.apache.mina.core.session.IoSession)"><!-- --></A><A NAME="add(S)"><!-- --></A><H3>
add</H3>
<PRE>
void <B>add</B>(<A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html" title="type parameter in IoProcessor">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>
</DL>
</DD>
</DL>
<HR>
<A NAME="flush(org.apache.mina.core.session.IoSession)"><!-- --></A><A NAME="flush(S)"><!-- --></A><H3>
flush</H3>
<PRE>
void <B>flush</B>(<A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html" title="type parameter in IoProcessor">S</A>&nbsp;session)</PRE>
<DL>
<DD>Flushes the internal write request queue of the specified
<code>session</code>.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="updateTrafficControl(org.apache.mina.core.session.IoSession)"><!-- --></A><A NAME="updateTrafficControl(S)"><!-- --></A><H3>
updateTrafficControl</H3>
<PRE>
void <B>updateTrafficControl</B>(<A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html" title="type parameter in IoProcessor">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>
</DL>
</DD>
</DL>
<HR>
<A NAME="remove(org.apache.mina.core.session.IoSession)"><!-- --></A><A NAME="remove(S)"><!-- --></A><H3>
remove</H3>
<PRE>
void <B>remove</B>(<A HREF="../../../../../org/apache/mina/core/service/IoProcessor.html" title="type parameter in IoProcessor">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>
</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/IoProcessor.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/IoHandlerAdapter.html" title="class in org.apache.mina.core.service"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/mina/core/service/IoService.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/IoProcessor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="IoProcessor.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;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&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>