<!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>
BufferingHttpServiceHandler (HttpComponents Core 4.2.2 API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.http.nio.protocol.BufferingHttpServiceHandler class">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="BufferingHttpServiceHandler (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/BufferingHttpServiceHandler.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/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/http/nio/protocol/EventListener.html" title="interface in org.apache.http.nio.protocol"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="BufferingHttpServiceHandler.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.nio.protocol</FONT>
<BR>
Class BufferingHttpServiceHandler</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.nio.protocol.BufferingHttpServiceHandler</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A></DD>
</DL>
<HR>
<B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="../../../../../org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncService</CODE></A></I>
<P>
<DL>
<DT><PRE><FONT SIZE="-1"><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Deprecated.html" title="class or interface in java.lang">@Deprecated</A>
<A HREF="../../../../../org/apache/http/annotation/Immutable.html" title="annotation in org.apache.http.annotation">@Immutable</A>
</FONT>public class <B>BufferingHttpServiceHandler</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/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A></DL>
</PRE>

<P>
Service protocol handler implementations that provide compatibility with
 the blocking I/O by storing the full content of HTTP messages in memory.
 The <A HREF="../../../../../org/apache/http/protocol/HttpRequestHandler.html#handle(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><CODE>HttpRequestHandler.handle(HttpRequest, HttpResponse, HttpContext)</CODE></A>
 method will fire only when the entire message content has been read into
 an in-memory buffer. Please note that request processing take place the
 main I/O thread and therefore individual HTTP request handlers should not
 block indefinitely.
 <p>
 When using this protocol handler <A HREF="../../../../../org/apache/http/HttpEntity.html" title="interface in org.apache.http"><CODE>HttpEntity</CODE></A>'s content can be
 generated / consumed using standard <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html" title="class or interface in java.io"><CODE>InputStream</CODE></A>/<A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/OutputStream.html" title="class or interface in java.io"><CODE>OutputStream</CODE></A>
 classes.
 <p>
 IMPORTANT: This protocol handler should be used only when dealing with HTTP
 messages that are known to be limited in length.
<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/nio/protocol/BufferingHttpServiceHandler.html#BufferingHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)">BufferingHttpServiceHandler</A></B>(<A HREF="../../../../../org/apache/http/protocol/HttpProcessor.html" title="interface in org.apache.http.protocol">HttpProcessor</A>&nbsp;httpProcessor,
                            <A HREF="../../../../../org/apache/http/HttpResponseFactory.html" title="interface in org.apache.http">HttpResponseFactory</A>&nbsp;responseFactory,
                            <A HREF="../../../../../org/apache/http/ConnectionReuseStrategy.html" title="interface in org.apache.http">ConnectionReuseStrategy</A>&nbsp;connStrategy,
                            <A HREF="../../../../../org/apache/http/nio/util/ByteBufferAllocator.html" title="interface in org.apache.http.nio.util">ByteBufferAllocator</A>&nbsp;allocator,
                            <A HREF="../../../../../org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>&nbsp;params)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#BufferingHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, org.apache.http.params.HttpParams)">BufferingHttpServiceHandler</A></B>(<A HREF="../../../../../org/apache/http/protocol/HttpProcessor.html" title="interface in org.apache.http.protocol">HttpProcessor</A>&nbsp;httpProcessor,
                            <A HREF="../../../../../org/apache/http/HttpResponseFactory.html" title="interface in org.apache.http">HttpResponseFactory</A>&nbsp;responseFactory,
                            <A HREF="../../../../../org/apache/http/ConnectionReuseStrategy.html" title="interface in org.apache.http">ConnectionReuseStrategy</A>&nbsp;connStrategy,
                            <A HREF="../../../../../org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>&nbsp;params)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</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/http/nio/protocol/BufferingHttpServiceHandler.html#closed(org.apache.http.nio.NHttpServerConnection)">closed</A></B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Triggered when the connection is closed.</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/nio/protocol/BufferingHttpServiceHandler.html#connected(org.apache.http.nio.NHttpServerConnection)">connected</A></B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Triggered when a new incoming connection is created.</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/nio/protocol/BufferingHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, org.apache.http.HttpException)">exception</A></B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn,
          <A HREF="../../../../../org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A>&nbsp;httpex)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Triggered when an HTTP protocol violation occurs while receiving
 an HTTP request.</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/nio/protocol/BufferingHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, java.io.IOException)">exception</A></B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn,
          <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>&nbsp;ioex)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Triggered when an I/O error occurs while reading from or writing
 to the underlying channel.</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/nio/protocol/BufferingHttpServiceHandler.html#inputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentDecoder)">inputReady</A></B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn,
           <A HREF="../../../../../org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio">ContentDecoder</A>&nbsp;decoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Triggered when the underlying channel is ready for reading a
 new portion of the request entity through the corresponding
 content decoder.</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/nio/protocol/BufferingHttpServiceHandler.html#outputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)">outputReady</A></B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn,
            <A HREF="../../../../../org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio">ContentEncoder</A>&nbsp;encoder)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Triggered when the underlying channel is ready for writing a
 next portion of the response entity through the corresponding
 content encoder.</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/nio/protocol/BufferingHttpServiceHandler.html#requestReceived(org.apache.http.nio.NHttpServerConnection)">requestReceived</A></B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Triggered when a new HTTP request is received.</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/nio/protocol/BufferingHttpServiceHandler.html#responseReady(org.apache.http.nio.NHttpServerConnection)">responseReady</A></B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Triggered when the connection is ready to accept a new HTTP response.</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/nio/protocol/BufferingHttpServiceHandler.html#setEventListener(org.apache.http.nio.protocol.EventListener)">setEventListener</A></B>(<A HREF="../../../../../org/apache/http/nio/protocol/EventListener.html" title="interface in org.apache.http.nio.protocol">EventListener</A>&nbsp;eventListener)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</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/nio/protocol/BufferingHttpServiceHandler.html#setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier)">setExpectationVerifier</A></B>(<A HREF="../../../../../org/apache/http/protocol/HttpExpectationVerifier.html" title="interface in org.apache.http.protocol">HttpExpectationVerifier</A>&nbsp;expectationVerifier)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</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/nio/protocol/BufferingHttpServiceHandler.html#setHandlerResolver(org.apache.http.protocol.HttpRequestHandlerResolver)">setHandlerResolver</A></B>(<A HREF="../../../../../org/apache/http/protocol/HttpRequestHandlerResolver.html" title="interface in org.apache.http.protocol">HttpRequestHandlerResolver</A>&nbsp;handlerResolver)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</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/nio/protocol/BufferingHttpServiceHandler.html#timeout(org.apache.http.nio.NHttpServerConnection)">timeout</A></B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Triggered when no input is detected on this connection over the
 maximum period of inactivity.</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;
<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="BufferingHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><!-- --></A><H3>
BufferingHttpServiceHandler</H3>
<PRE>
public <B>BufferingHttpServiceHandler</B>(<A HREF="../../../../../org/apache/http/protocol/HttpProcessor.html" title="interface in org.apache.http.protocol">HttpProcessor</A>&nbsp;httpProcessor,
                                   <A HREF="../../../../../org/apache/http/HttpResponseFactory.html" title="interface in org.apache.http">HttpResponseFactory</A>&nbsp;responseFactory,
                                   <A HREF="../../../../../org/apache/http/ConnectionReuseStrategy.html" title="interface in org.apache.http">ConnectionReuseStrategy</A>&nbsp;connStrategy,
                                   <A HREF="../../../../../org/apache/http/nio/util/ByteBufferAllocator.html" title="interface in org.apache.http.nio.util">ByteBufferAllocator</A>&nbsp;allocator,
                                   <A HREF="../../../../../org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>&nbsp;params)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;</DL>
<HR>

<A NAME="BufferingHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, org.apache.http.params.HttpParams)"><!-- --></A><H3>
BufferingHttpServiceHandler</H3>
<PRE>
public <B>BufferingHttpServiceHandler</B>(<A HREF="../../../../../org/apache/http/protocol/HttpProcessor.html" title="interface in org.apache.http.protocol">HttpProcessor</A>&nbsp;httpProcessor,
                                   <A HREF="../../../../../org/apache/http/HttpResponseFactory.html" title="interface in org.apache.http">HttpResponseFactory</A>&nbsp;responseFactory,
                                   <A HREF="../../../../../org/apache/http/ConnectionReuseStrategy.html" title="interface in org.apache.http">ConnectionReuseStrategy</A>&nbsp;connStrategy,
                                   <A HREF="../../../../../org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>&nbsp;params)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;</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="setEventListener(org.apache.http.nio.protocol.EventListener)"><!-- --></A><H3>
setEventListener</H3>
<PRE>
public void <B>setEventListener</B>(<A HREF="../../../../../org/apache/http/nio/protocol/EventListener.html" title="interface in org.apache.http.nio.protocol">EventListener</A>&nbsp;eventListener)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier)"><!-- --></A><H3>
setExpectationVerifier</H3>
<PRE>
public void <B>setExpectationVerifier</B>(<A HREF="../../../../../org/apache/http/protocol/HttpExpectationVerifier.html" title="interface in org.apache.http.protocol">HttpExpectationVerifier</A>&nbsp;expectationVerifier)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setHandlerResolver(org.apache.http.protocol.HttpRequestHandlerResolver)"><!-- --></A><H3>
setHandlerResolver</H3>
<PRE>
public void <B>setHandlerResolver</B>(<A HREF="../../../../../org/apache/http/protocol/HttpRequestHandlerResolver.html" title="interface in org.apache.http.protocol">HttpRequestHandlerResolver</A>&nbsp;handlerResolver)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="connected(org.apache.http.nio.NHttpServerConnection)"><!-- --></A><H3>
connected</H3>
<PRE>
public void <B>connected</B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#connected(org.apache.http.nio.NHttpServerConnection)">NHttpServiceHandler</A></CODE></B></DD>
<DD>Triggered when a new incoming connection is created.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#connected(org.apache.http.nio.NHttpServerConnection)">connected</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>conn</CODE> - new incoming connection HTTP connection.</DL>
</DD>
</DL>
<HR>

<A NAME="closed(org.apache.http.nio.NHttpServerConnection)"><!-- --></A><H3>
closed</H3>
<PRE>
public void <B>closed</B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#closed(org.apache.http.nio.NHttpServerConnection)">NHttpServiceHandler</A></CODE></B></DD>
<DD>Triggered when the connection is closed.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#closed(org.apache.http.nio.NHttpServerConnection)">closed</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>conn</CODE> - closed HTTP connection.</DL>
</DD>
</DL>
<HR>

<A NAME="requestReceived(org.apache.http.nio.NHttpServerConnection)"><!-- --></A><H3>
requestReceived</H3>
<PRE>
public void <B>requestReceived</B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#requestReceived(org.apache.http.nio.NHttpServerConnection)">NHttpServiceHandler</A></CODE></B></DD>
<DD>Triggered when a new HTTP request is received. The connection
 passed as a parameter to this method is guaranteed to return
 a valid HTTP request object.
 <p/>
 If the request received encloses a request entity this method will
 be followed a series of
 <A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#inputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentDecoder)"><CODE>NHttpServiceHandler.inputReady(NHttpServerConnection, ContentDecoder)</CODE></A> calls
 to transfer the request content.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#requestReceived(org.apache.http.nio.NHttpServerConnection)">requestReceived</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>conn</CODE> - HTTP connection that contains a new HTTP request<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpServerConnection</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="inputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentDecoder)"><!-- --></A><H3>
inputReady</H3>
<PRE>
public void <B>inputReady</B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn,
                       <A HREF="../../../../../org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio">ContentDecoder</A>&nbsp;decoder)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#inputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentDecoder)">NHttpServiceHandler</A></CODE></B></DD>
<DD>Triggered when the underlying channel is ready for reading a
 new portion of the request entity through the corresponding
 content decoder.
 <p/>
 If the content consumer is unable to process the incoming content,
 input event notifications can be temporarily suspended using
 <A HREF="../../../../../org/apache/http/nio/IOControl.html" title="interface in org.apache.http.nio"><CODE>IOControl</CODE></A> interface.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#inputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentDecoder)">inputReady</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>conn</CODE> - HTTP connection that can produce a new portion of the
 incoming request content.<DD><CODE>decoder</CODE> - The content decoder to use to read content.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpServerConnection</CODE></A>, 
<A HREF="../../../../../org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><CODE>ContentDecoder</CODE></A>, 
<A HREF="../../../../../org/apache/http/nio/IOControl.html" title="interface in org.apache.http.nio"><CODE>IOControl</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="responseReady(org.apache.http.nio.NHttpServerConnection)"><!-- --></A><H3>
responseReady</H3>
<PRE>
public void <B>responseReady</B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#responseReady(org.apache.http.nio.NHttpServerConnection)">NHttpServiceHandler</A></CODE></B></DD>
<DD>Triggered when the connection is ready to accept a new HTTP response.
 The protocol handler does not have to submit a response if it is not
 ready.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#responseReady(org.apache.http.nio.NHttpServerConnection)">responseReady</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>conn</CODE> - HTTP connection that contains an HTTP response<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpServerConnection</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="outputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)"><!-- --></A><H3>
outputReady</H3>
<PRE>
public void <B>outputReady</B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn,
                        <A HREF="../../../../../org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio">ContentEncoder</A>&nbsp;encoder)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#outputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)">NHttpServiceHandler</A></CODE></B></DD>
<DD>Triggered when the underlying channel is ready for writing a
 next portion of the response entity through the corresponding
 content encoder.
 <p/>
 If the content producer is unable to generate the outgoing content,
 output event notifications can be temporarily suspended using
 <A HREF="../../../../../org/apache/http/nio/IOControl.html" title="interface in org.apache.http.nio"><CODE>IOControl</CODE></A> interface.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#outputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)">outputReady</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>conn</CODE> - HTTP connection that can accommodate a new portion
 of the outgoing response content.<DD><CODE>encoder</CODE> - The content encoder to use to write content.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpServerConnection</CODE></A>, 
<A HREF="../../../../../org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio"><CODE>ContentEncoder</CODE></A>, 
<A HREF="../../../../../org/apache/http/nio/IOControl.html" title="interface in org.apache.http.nio"><CODE>IOControl</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="exception(org.apache.http.nio.NHttpServerConnection, org.apache.http.HttpException)"><!-- --></A><H3>
exception</H3>
<PRE>
public void <B>exception</B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn,
                      <A HREF="../../../../../org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A>&nbsp;httpex)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, org.apache.http.HttpException)">NHttpServiceHandler</A></CODE></B></DD>
<DD>Triggered when an HTTP protocol violation occurs while receiving
 an HTTP request.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, org.apache.http.HttpException)">exception</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>conn</CODE> - HTTP connection that caused an HTTP protocol violation<DD><CODE>httpex</CODE> - HTTP protocol violation exception</DL>
</DD>
</DL>
<HR>

<A NAME="exception(org.apache.http.nio.NHttpServerConnection, java.io.IOException)"><!-- --></A><H3>
exception</H3>
<PRE>
public void <B>exception</B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn,
                      <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A>&nbsp;ioex)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, java.io.IOException)">NHttpServiceHandler</A></CODE></B></DD>
<DD>Triggered when an I/O error occurs while reading from or writing
 to the underlying channel.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, java.io.IOException)">exception</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>conn</CODE> - HTTP connection that caused an I/O error<DD><CODE>ioex</CODE> - I/O exception</DL>
</DD>
</DL>
<HR>

<A NAME="timeout(org.apache.http.nio.NHttpServerConnection)"><!-- --></A><H3>
timeout</H3>
<PRE>
public void <B>timeout</B>(<A HREF="../../../../../org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>&nbsp;conn)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#timeout(org.apache.http.nio.NHttpServerConnection)">NHttpServiceHandler</A></CODE></B></DD>
<DD>Triggered when no input is detected on this connection over the
 maximum period of inactivity.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html#timeout(org.apache.http.nio.NHttpServerConnection)">timeout</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>conn</CODE> - HTTP connection that caused timeout condition.</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/BufferingHttpServiceHandler.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/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/http/nio/protocol/EventListener.html" title="interface in org.apache.http.nio.protocol"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="BufferingHttpServiceHandler.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>
