blob: f0b6a5cdc1139fda286d67290095a8a24f12d369 [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.5.0_22) on Tue Sep 18 20:44:15 GMT+01:00 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
AbstractIOReactor (HttpComponents Core 4.2.2 API)
</TITLE>
<META NAME="keywords" CONTENT="org.apache.http.impl.nio.reactor.AbstractIOReactor class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="AbstractIOReactor (HttpComponents Core 4.2.2 API)";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= 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/AbstractIOReactor.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/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/apache/http/impl/nio/reactor/AbstractIOReactor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AbstractIOReactor.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.http.impl.nio.reactor</FONT>
<BR>
Class AbstractIOReactor</H2>
<PRE>
<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.http.impl.nio.reactor.AbstractIOReactor</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html" title="interface in org.apache.http.nio.reactor">IOReactor</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../../org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A></DD>
</DL>
<HR>
<DL>
<DT><PRE><FONT SIZE="-1"><A HREF="../../../../../../org/apache/http/annotation/ThreadSafe.html" title="annotation in org.apache.http.annotation">@ThreadSafe</A>
</FONT>public abstract class <B>AbstractIOReactor</B><DT>extends <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html" title="interface in org.apache.http.nio.reactor">IOReactor</A></DL>
</PRE>
<P>
Generic implementation of <A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html" title="interface in org.apache.http.nio.reactor"><CODE>IOReactor</CODE></A> that can used as a subclass
for more specialized I/O reactors. It is based on a single <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/Selector.html" title="class or interface in java.nio.channels"><CODE>Selector</CODE></A>
instance.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>4.0</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/http/impl/nio/reactor/AbstractIOReactor.html#AbstractIOReactor(long)">AbstractIOReactor</A></B>(long&nbsp;selectTimeout)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates new AbstractIOReactor instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#AbstractIOReactor(long, boolean)">AbstractIOReactor</A></B>(long&nbsp;selectTimeout,
boolean&nbsp;interestOpsQueueing)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates new AbstractIOReactor instance.</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>protected abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#acceptable(java.nio.channels.SelectionKey)">acceptable</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggered when the key signals <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html#OP_ACCEPT" title="class or interface in java.nio.channels"><CODE>SelectionKey.OP_ACCEPT</CODE></A> readiness.</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/http/impl/nio/reactor/AbstractIOReactor.html#addChannel(org.apache.http.impl.nio.reactor.ChannelEntry)">addChannel</A></B>(<A HREF="../../../../../../org/apache/http/impl/nio/reactor/ChannelEntry.html" title="class in org.apache.http.impl.nio.reactor">ChannelEntry</A>&nbsp;channelEntry)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds new channel entry.</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/http/impl/nio/reactor/AbstractIOReactor.html#awaitShutdown(long)">awaitShutdown</A></B>(long&nbsp;timeout)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Blocks for the given period of time in milliseconds awaiting
the completion of the reactor shutdown.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#closeActiveChannels()">closeActiveChannels</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes out all active channels registered with the selector of
this I/O reactor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#closeNewChannels()">closeNewChannels</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes out all new channels pending registration with the selector of
this I/O reactor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#closeSessions()">closeSessions</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes out all I/O sessions maintained by this I/O reactor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#connectable(java.nio.channels.SelectionKey)">connectable</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggered when the key signals <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html#OP_CONNECT" title="class or interface in java.nio.channels"><CODE>SelectionKey.OP_CONNECT</CODE></A> readiness.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#execute()">execute</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Activates the I/O reactor.</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/http/impl/nio/reactor/AbstractIOReactor.html#getInterestOpsQueueing()">getInterestOpsQueueing</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if interest Ops queueing is enabled, <code>false</code> otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#getSession(java.nio.channels.SelectionKey)">getSession</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Obtains <A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A> instance associated with the given selection
key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorStatus.html" title="enum in org.apache.http.nio.reactor">IOReactorStatus</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#getStatus()">getStatus</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current status of the reactor.</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/http/impl/nio/reactor/AbstractIOReactor.html#gracefulShutdown()">gracefulShutdown</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attempts graceful shutdown of this I/O reactor.</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/http/impl/nio/reactor/AbstractIOReactor.html#hardShutdown()">hardShutdown</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attempts force-shutdown of this I/O reactor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#processEvent(java.nio.channels.SelectionKey)">processEvent</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Processes new event on the given selection key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#queueClosedSession(org.apache.http.nio.reactor.IOSession)">queueClosedSession</A></B>(<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Queues the given I/O session to be processed asynchronously as closed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#readable(java.nio.channels.SelectionKey)">readable</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggered when the key signals <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html#OP_READ" title="class or interface in java.nio.channels"><CODE>SelectionKey.OP_READ</CODE></A> readiness.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#sessionClosed(org.apache.http.nio.reactor.IOSession)">sessionClosed</A></B>(<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggered when a session has been closed.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#sessionCreated(java.nio.channels.SelectionKey, org.apache.http.nio.reactor.IOSession)">sessionCreated</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key,
<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggered when new session has been created.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#sessionTimedOut(org.apache.http.nio.reactor.IOSession)">sessionTimedOut</A></B>(<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>&nbsp;session)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggered when a session has timed out.</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/http/impl/nio/reactor/AbstractIOReactor.html#shutdown()">shutdown</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initiates shutdown of the reactor and blocks for a default period of
time waiting for the reactor to terminate all active connections, to shut
down itself and to release system resources it currently holds.</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/http/impl/nio/reactor/AbstractIOReactor.html#shutdown(long)">shutdown</A></B>(long&nbsp;gracePeriod)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initiates shutdown of the reactor and blocks approximately for the given
period of time in milliseconds waiting for the reactor to terminate all
active connections, to shut down itself and to release system resources
it currently holds.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#timeoutCheck(java.nio.channels.SelectionKey, long)">timeoutCheck</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key,
long&nbsp;now)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggered to verify whether the I/O session associated with the
given selection key has not timed out.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#validate(java.util.Set)">validate</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A>&lt;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&gt;&nbsp;keys)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggered to validate keys currently registered with the selector.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#writable(java.nio.channels.SelectionKey)">writable</A></B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Triggered when the key signals <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html#OP_WRITE" title="class or interface in java.nio.channels"><CODE>SelectionKey.OP_WRITE</CODE></A> readiness.</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://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.http.nio.reactor.IOReactor"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.http.nio.reactor.<A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html" title="interface in org.apache.http.nio.reactor">IOReactor</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html#execute(org.apache.http.nio.reactor.IOEventDispatch)">execute</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="AbstractIOReactor(long)"><!-- --></A><H3>
AbstractIOReactor</H3>
<PRE>
public <B>AbstractIOReactor</B>(long&nbsp;selectTimeout)
throws <A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></PRE>
<DL>
<DD>Creates new AbstractIOReactor instance.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>selectTimeout</CODE> - the select timeout.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></CODE> - in case if a non-recoverable I/O error.</DL>
</DL>
<HR>
<A NAME="AbstractIOReactor(long, boolean)"><!-- --></A><H3>
AbstractIOReactor</H3>
<PRE>
public <B>AbstractIOReactor</B>(long&nbsp;selectTimeout,
boolean&nbsp;interestOpsQueueing)
throws <A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></PRE>
<DL>
<DD>Creates new AbstractIOReactor instance.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>selectTimeout</CODE> - the select timeout.<DD><CODE>interestOpsQueueing</CODE> - Ops queueing flag.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></CODE> - in case if a non-recoverable I/O error.<DT><B>Since:</B></DT>
<DD>4.1</DD>
</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="acceptable(java.nio.channels.SelectionKey)"><!-- --></A><H3>
acceptable</H3>
<PRE>
protected abstract void <B>acceptable</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</PRE>
<DL>
<DD>Triggered when the key signals <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html#OP_ACCEPT" title="class or interface in java.nio.channels"><CODE>SelectionKey.OP_ACCEPT</CODE></A> readiness.
<p>
Super-classes can implement this method to react to the event.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the selection key.</DL>
</DD>
</DL>
<HR>
<A NAME="connectable(java.nio.channels.SelectionKey)"><!-- --></A><H3>
connectable</H3>
<PRE>
protected abstract void <B>connectable</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</PRE>
<DL>
<DD>Triggered when the key signals <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html#OP_CONNECT" title="class or interface in java.nio.channels"><CODE>SelectionKey.OP_CONNECT</CODE></A> readiness.
<p>
Super-classes can implement this method to react to the event.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the selection key.</DL>
</DD>
</DL>
<HR>
<A NAME="readable(java.nio.channels.SelectionKey)"><!-- --></A><H3>
readable</H3>
<PRE>
protected abstract void <B>readable</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</PRE>
<DL>
<DD>Triggered when the key signals <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html#OP_READ" title="class or interface in java.nio.channels"><CODE>SelectionKey.OP_READ</CODE></A> readiness.
<p>
Super-classes can implement this method to react to the event.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the selection key.</DL>
</DD>
</DL>
<HR>
<A NAME="writable(java.nio.channels.SelectionKey)"><!-- --></A><H3>
writable</H3>
<PRE>
protected abstract void <B>writable</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</PRE>
<DL>
<DD>Triggered when the key signals <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html#OP_WRITE" title="class or interface in java.nio.channels"><CODE>SelectionKey.OP_WRITE</CODE></A> readiness.
<p>
Super-classes can implement this method to react to the event.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the selection key.</DL>
</DD>
</DL>
<HR>
<A NAME="validate(java.util.Set)"><!-- --></A><H3>
validate</H3>
<PRE>
protected abstract void <B>validate</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Set.html" title="class or interface in java.util">Set</A>&lt;<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&gt;&nbsp;keys)</PRE>
<DL>
<DD>Triggered to validate keys currently registered with the selector. This
method is called after each I/O select loop.
<p>
Super-classes can implement this method to run validity checks on
active sessions and include additional processing that needs to be
executed after each I/O select loop.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>keys</CODE> - all selection keys registered with the selector.</DL>
</DD>
</DL>
<HR>
<A NAME="sessionCreated(java.nio.channels.SelectionKey, org.apache.http.nio.reactor.IOSession)"><!-- --></A><H3>
sessionCreated</H3>
<PRE>
protected void <B>sessionCreated</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key,
<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>&nbsp;session)</PRE>
<DL>
<DD>Triggered when new session has been created.
<p>
Super-classes can implement this method to react to the event.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the selection key.<DD><CODE>session</CODE> - new I/O session.</DL>
</DD>
</DL>
<HR>
<A NAME="sessionClosed(org.apache.http.nio.reactor.IOSession)"><!-- --></A><H3>
sessionClosed</H3>
<PRE>
protected void <B>sessionClosed</B>(<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>&nbsp;session)</PRE>
<DL>
<DD>Triggered when a session has been closed.
<p>
Super-classes can implement this method to react to the event.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>session</CODE> - closed I/O session.</DL>
</DD>
</DL>
<HR>
<A NAME="sessionTimedOut(org.apache.http.nio.reactor.IOSession)"><!-- --></A><H3>
sessionTimedOut</H3>
<PRE>
protected void <B>sessionTimedOut</B>(<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>&nbsp;session)</PRE>
<DL>
<DD>Triggered when a session has timed out.
<p>
Super-classes can implement this method to react to the event.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>session</CODE> - timed out I/O session.</DL>
</DD>
</DL>
<HR>
<A NAME="getSession(java.nio.channels.SelectionKey)"><!-- --></A><H3>
getSession</H3>
<PRE>
protected <A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A> <B>getSession</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</PRE>
<DL>
<DD>Obtains <A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A> instance associated with the given selection
key.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the selection key.
<DT><B>Returns:</B><DD>I/O session.</DL>
</DD>
</DL>
<HR>
<A NAME="getStatus()"><!-- --></A><H3>
getStatus</H3>
<PRE>
public <A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorStatus.html" title="enum in org.apache.http.nio.reactor">IOReactorStatus</A> <B>getStatus</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html#getStatus()">IOReactor</A></CODE></B></DD>
<DD>Returns the current status of the reactor.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html#getStatus()">getStatus</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html" title="interface in org.apache.http.nio.reactor">IOReactor</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>reactor status.</DL>
</DD>
</DL>
<HR>
<A NAME="getInterestOpsQueueing()"><!-- --></A><H3>
getInterestOpsQueueing</H3>
<PRE>
public boolean <B>getInterestOpsQueueing</B>()</PRE>
<DL>
<DD>Returns <code>true</code> if interest Ops queueing is enabled, <code>false</code> otherwise.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>4.1</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="addChannel(org.apache.http.impl.nio.reactor.ChannelEntry)"><!-- --></A><H3>
addChannel</H3>
<PRE>
public void <B>addChannel</B>(<A HREF="../../../../../../org/apache/http/impl/nio/reactor/ChannelEntry.html" title="class in org.apache.http.impl.nio.reactor">ChannelEntry</A>&nbsp;channelEntry)</PRE>
<DL>
<DD>Adds new channel entry. The channel will be asynchronously registered
with the selector.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>channelEntry</CODE> - the channel entry.</DL>
</DD>
</DL>
<HR>
<A NAME="execute()"><!-- --></A><H3>
execute</H3>
<PRE>
protected void <B>execute</B>()
throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InterruptedIOException.html" title="class or interface in java.io">InterruptedIOException</A>,
<A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></PRE>
<DL>
<DD>Activates the I/O reactor. The I/O reactor will start reacting to
I/O events and triggering notification methods.
<p>
This method will enter the infinite I/O select loop on
the <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/Selector.html" title="class or interface in java.nio.channels"><CODE>Selector</CODE></A> instance associated with this I/O reactor.
<p>
The method will remain blocked unto the I/O reactor is shut down or the
execution thread is interrupted.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InterruptedIOException.html" title="class or interface in java.io">InterruptedIOException</A></CODE> - if the dispatch thread is interrupted.
<DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></CODE> - in case if a non-recoverable I/O error.<DT><B>See Also:</B><DD><A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#acceptable(java.nio.channels.SelectionKey)"><CODE>acceptable(SelectionKey)</CODE></A>,
<A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#connectable(java.nio.channels.SelectionKey)"><CODE>connectable(SelectionKey)</CODE></A>,
<A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#readable(java.nio.channels.SelectionKey)"><CODE>readable(SelectionKey)</CODE></A>,
<A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#writable(java.nio.channels.SelectionKey)"><CODE>writable(SelectionKey)</CODE></A>,
<A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#timeoutCheck(java.nio.channels.SelectionKey, long)"><CODE>timeoutCheck(SelectionKey, long)</CODE></A>,
<A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#validate(java.util.Set)"><CODE>validate(Set)</CODE></A>,
<A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#sessionCreated(java.nio.channels.SelectionKey, org.apache.http.nio.reactor.IOSession)"><CODE>sessionCreated(SelectionKey, IOSession)</CODE></A>,
<A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractIOReactor.html#sessionClosed(org.apache.http.nio.reactor.IOSession)"><CODE>sessionClosed(IOSession)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="processEvent(java.nio.channels.SelectionKey)"><!-- --></A><H3>
processEvent</H3>
<PRE>
protected void <B>processEvent</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key)</PRE>
<DL>
<DD>Processes new event on the given selection key.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the selection key that triggered an event.</DL>
</DD>
</DL>
<HR>
<A NAME="queueClosedSession(org.apache.http.nio.reactor.IOSession)"><!-- --></A><H3>
queueClosedSession</H3>
<PRE>
protected void <B>queueClosedSession</B>(<A HREF="../../../../../../org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>&nbsp;session)</PRE>
<DL>
<DD>Queues the given I/O session to be processed asynchronously as closed.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>session</CODE> - the closed I/O session.</DL>
</DD>
</DL>
<HR>
<A NAME="timeoutCheck(java.nio.channels.SelectionKey, long)"><!-- --></A><H3>
timeoutCheck</H3>
<PRE>
protected void <B>timeoutCheck</B>(<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SelectionKey.html" title="class or interface in java.nio.channels">SelectionKey</A>&nbsp;key,
long&nbsp;now)</PRE>
<DL>
<DD>Triggered to verify whether the I/O session associated with the
given selection key has not timed out.
<p>
Super-classes can implement this method to react to the event.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the selection key.<DD><CODE>now</CODE> - current time as long value.</DL>
</DD>
</DL>
<HR>
<A NAME="closeSessions()"><!-- --></A><H3>
closeSessions</H3>
<PRE>
protected void <B>closeSessions</B>()</PRE>
<DL>
<DD>Closes out all I/O sessions maintained by this I/O reactor.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="closeNewChannels()"><!-- --></A><H3>
closeNewChannels</H3>
<PRE>
protected void <B>closeNewChannels</B>()
throws <A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></PRE>
<DL>
<DD>Closes out all new channels pending registration with the selector of
this I/O reactor.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></CODE> - - not thrown currently</DL>
</DD>
</DL>
<HR>
<A NAME="closeActiveChannels()"><!-- --></A><H3>
closeActiveChannels</H3>
<PRE>
protected void <B>closeActiveChannels</B>()
throws <A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></PRE>
<DL>
<DD>Closes out all active channels registered with the selector of
this I/O reactor.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></CODE> - - not thrown currently</DL>
</DD>
</DL>
<HR>
<A NAME="gracefulShutdown()"><!-- --></A><H3>
gracefulShutdown</H3>
<PRE>
public void <B>gracefulShutdown</B>()</PRE>
<DL>
<DD>Attempts graceful shutdown of this I/O reactor.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="hardShutdown()"><!-- --></A><H3>
hardShutdown</H3>
<PRE>
public void <B>hardShutdown</B>()
throws <A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></PRE>
<DL>
<DD>Attempts force-shutdown of this I/O reactor.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="awaitShutdown(long)"><!-- --></A><H3>
awaitShutdown</H3>
<PRE>
public void <B>awaitShutdown</B>(long&nbsp;timeout)
throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/InterruptedException.html" title="class or interface in java.lang">InterruptedException</A></PRE>
<DL>
<DD>Blocks for the given period of time in milliseconds awaiting
the completion of the reactor shutdown.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>timeout</CODE> - the maximum wait time.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/InterruptedException.html" title="class or interface in java.lang">InterruptedException</A></CODE> - if interrupted.</DL>
</DD>
</DL>
<HR>
<A NAME="shutdown(long)"><!-- --></A><H3>
shutdown</H3>
<PRE>
public void <B>shutdown</B>(long&nbsp;gracePeriod)
throws <A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html#shutdown(long)">IOReactor</A></CODE></B></DD>
<DD>Initiates shutdown of the reactor and blocks approximately for the given
period of time in milliseconds waiting for the reactor to terminate all
active connections, to shut down itself and to release system resources
it currently holds.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html#shutdown(long)">shutdown</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html" title="interface in org.apache.http.nio.reactor">IOReactor</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>gracePeriod</CODE> - wait time in milliseconds.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="shutdown()"><!-- --></A><H3>
shutdown</H3>
<PRE>
public void <B>shutdown</B>()
throws <A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html#shutdown()">IOReactor</A></CODE></B></DD>
<DD>Initiates shutdown of the reactor and blocks for a default period of
time waiting for the reactor to terminate all active connections, to shut
down itself and to release system resources it currently holds. It is
up to individual implementations to decide for how long this method can
remain blocked.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactor.html" title="interface in org.apache.http.nio.reactor">IOReactor</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../../org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A></CODE></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/AbstractIOReactor.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/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../../org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../../index.html?org/apache/http/impl/nio/reactor/AbstractIOReactor.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AbstractIOReactor.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; 2005-2012 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>