<!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:16 GMT+01:00 2012 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
Index (HttpComponents Core 4.2.2 API)
</TITLE>


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

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="Index (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">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-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="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&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;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-all.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>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <HR>
<A NAME="_A_"><!-- --></A><H2>
<B>A</B></H2>
<DL>
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol"><B>AbstractAsyncRequestConsumer</B></A>&lt;<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="type parameter in AbstractAsyncRequestConsumer">T</A>&gt; - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD>Abstract <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestConsumer</CODE></A> implementation that relieves its
 subclasses form having to synchronize access to internal instance variables
 and provides a number of protected methods that they need to implement.<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#AbstractAsyncRequestConsumer()"><B>AbstractAsyncRequestConsumer()</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol"><B>AbstractAsyncResponseConsumer</B></A>&lt;<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="type parameter in AbstractAsyncResponseConsumer">T</A>&gt; - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD>Abstract <A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncResponseConsumer</CODE></A> implementation that relieves its
 subclasses form having to synchronize access to internal instance variables
 and provides a number of protected methods that they need to implement.<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#AbstractAsyncResponseConsumer()"><B>AbstractAsyncResponseConsumer()</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool"><B>AbstractConnPool</B></A>&lt;<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="type parameter in AbstractConnPool">T</A>,<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="type parameter in AbstractConnPool">C</A>,<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="type parameter in AbstractConnPool">E</A> extends <A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>&lt;<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="type parameter in AbstractConnPool">T</A>,<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="type parameter in AbstractConnPool">C</A>&gt;&gt; - Class in <A HREF="./org/apache/http/pool/package-summary.html">org.apache.http.pool</A><DD>Abstract synchronous (blocking) pool of connections.<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#AbstractConnPool(org.apache.http.pool.ConnFactory, int, int)"><B>AbstractConnPool(ConnFactory&lt;T, C&gt;, int, int)</B></A> - 
Constructor for class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html" title="class in org.apache.http.impl.nio.codecs"><B>AbstractContentDecoder</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Abstract <A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><CODE>ContentDecoder</CODE></A> that serves as a base for all content
 decoder implementations.<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html#AbstractContentDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl)"><B>AbstractContentDecoder(ReadableByteChannel, SessionInputBuffer, HttpTransportMetricsImpl)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentDecoder</A>
<DD>Creates an instance of this class.
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html" title="class in org.apache.http.impl.nio.codecs"><B>AbstractContentEncoder</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Abstract <A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio"><CODE>ContentEncoder</CODE></A> that serves as a base for all content
 encoder implementations.<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html#AbstractContentEncoder(java.nio.channels.WritableByteChannel, org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl)"><B>AbstractContentEncoder(WritableByteChannel, SessionOutputBuffer, HttpTransportMetricsImpl)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentEncoder</A>
<DD>Creates an instance of this class.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl"><B>AbstractHttpClientConnection</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>Abstract client-side HTTP connection capable of transmitting and receiving
 data using arbitrary <A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionInputBuffer</CODE></A> and
 <A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionOutputBuffer</CODE></A> implementations.<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#AbstractHttpClientConnection()"><B>AbstractHttpClientConnection()</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>Creates an instance of this class.
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity"><B>AbstractHttpEntity</B></A> - Class in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>Abstract base class for entities.<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#AbstractHttpEntity()"><B>AbstractHttpEntity()</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>Protected default constructor.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message"><B>AbstractHttpMessage</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A>.<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#AbstractHttpMessage(org.apache.http.params.HttpParams)"><B>AbstractHttpMessage(HttpParams)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#AbstractHttpMessage()"><B>AbstractHttpMessage()</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params"><B>AbstractHttpParams</B></A> - Class in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>Abstract base class for parameter collections.<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#AbstractHttpParams()"><B>AbstractHttpParams()</B></A> - 
Constructor for class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>Instantiates parameters.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl"><B>AbstractHttpServerConnection</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>Abstract server-side HTTP connection capable of transmitting and receiving
 data using arbitrary <A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionInputBuffer</CODE></A> and
 <A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionOutputBuffer</CODE></A> implementations.<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#AbstractHttpServerConnection()"><B>AbstractHttpServerConnection()</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>Creates an instance of this class.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor"><B>AbstractIODispatch</B></A>&lt;<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="type parameter in AbstractIODispatch">T</A>&gt; - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Abstract <A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html" title="interface in org.apache.http.nio.reactor"><CODE>IOEventDispatch</CODE></A> implementation that supports both plain (non-encrypted)
 and SSL encrypted HTTP connections.<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#AbstractIODispatch()"><B>AbstractIODispatch()</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor"><B>AbstractIOReactor</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>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.<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#AbstractIOReactor(long)"><B>AbstractIOReactor(long)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Creates new AbstractIOReactor instance.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#AbstractIOReactor(long, boolean)"><B>AbstractIOReactor(long, boolean)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Creates new AbstractIOReactor instance.
<DT><A HREF="./org/apache/http/impl/io/AbstractMessageParser.html" title="class in org.apache.http.impl.io"><B>AbstractMessageParser</B></A>&lt;<A HREF="./org/apache/http/impl/io/AbstractMessageParser.html" title="type parameter in AbstractMessageParser">T</A> extends <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>&gt; - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>Abstract base class for HTTP message parsers that obtain input from
 an instance of <A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionInputBuffer</CODE></A>.<DT><A HREF="./org/apache/http/impl/io/AbstractMessageParser.html#AbstractMessageParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.params.HttpParams)"><B>AbstractMessageParser(SessionInputBuffer, LineParser, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageParser.html" title="class in org.apache.http.impl.io">AbstractMessageParser</A>
<DD>Creates an instance of this class.
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html" title="class in org.apache.http.impl.nio.codecs"><B>AbstractMessageParser</B></A>&lt;<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html" title="type parameter in AbstractMessageParser">T</A> extends <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>&gt; - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Abstract <A HREF="./org/apache/http/nio/NHttpMessageParser.html" title="interface in org.apache.http.nio"><CODE>NHttpMessageParser</CODE></A> that serves as a base for all message
 parser implementations.<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html#AbstractMessageParser(org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.params.HttpParams)"><B>AbstractMessageParser(SessionInputBuffer, LineParser, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageParser</A>
<DD>Creates an instance of this class.
<DT><A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html" title="class in org.apache.http.impl.io"><B>AbstractMessageWriter</B></A>&lt;<A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html" title="type parameter in AbstractMessageWriter">T</A> extends <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>&gt; - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>Abstract base class for HTTP message writers that serialize output to
 an instance of <A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionOutputBuffer</CODE></A>.<DT><A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html#AbstractMessageWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams)"><B>AbstractMessageWriter(SessionOutputBuffer, LineFormatter, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html" title="class in org.apache.http.impl.io">AbstractMessageWriter</A>
<DD>Creates an instance of AbstractMessageWriter.
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html" title="class in org.apache.http.impl.nio.codecs"><B>AbstractMessageWriter</B></A>&lt;<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html" title="type parameter in AbstractMessageWriter">T</A> extends <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>&gt; - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Abstract <A HREF="./org/apache/http/nio/NHttpMessageWriter.html" title="interface in org.apache.http.nio"><CODE>NHttpMessageWriter</CODE></A> that serves as a base for all message
 writer implementations.<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html#AbstractMessageWriter(org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams)"><B>AbstractMessageWriter(SessionOutputBuffer, LineFormatter, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageWriter</A>
<DD>Creates an instance of this class.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor"><B>AbstractMultiworkerIOReactor</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>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 run multiple
 <A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor"><CODE>BaseIOReactor</CODE></A> instance in separate worker threads and distribute
 newly created I/O session equally across those I/O reactors for a more
 optimal resource utilization and a better I/O performance.<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#AbstractMultiworkerIOReactor(org.apache.http.impl.nio.reactor.IOReactorConfig, java.util.concurrent.ThreadFactory)"><B>AbstractMultiworkerIOReactor(IOReactorConfig, ThreadFactory)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Creates an instance of AbstractMultiworkerIOReactor with the given configuration.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#AbstractMultiworkerIOReactor()"><B>AbstractMultiworkerIOReactor()</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Creates an instance of AbstractMultiworkerIOReactor with default configuration.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#AbstractMultiworkerIOReactor(int, java.util.concurrent.ThreadFactory, org.apache.http.params.HttpParams)"><B>AbstractMultiworkerIOReactor(int, ThreadFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#AbstractMultiworkerIOReactor(org.apache.http.impl.nio.reactor.IOReactorConfig, java.util.concurrent.ThreadFactory)"><CODE>AbstractMultiworkerIOReactor.AbstractMultiworkerIOReactor(IOReactorConfig, ThreadFactory)</CODE></A></I>
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool"><B>AbstractNIOConnPool</B></A>&lt;<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="type parameter in AbstractNIOConnPool">T</A>,<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="type parameter in AbstractNIOConnPool">C</A>,<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="type parameter in AbstractNIOConnPool">E</A> extends <A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>&lt;<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="type parameter in AbstractNIOConnPool">T</A>,<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="type parameter in AbstractNIOConnPool">C</A>&gt;&gt; - Class in <A HREF="./org/apache/http/nio/pool/package-summary.html">org.apache.http.nio.pool</A><DD>Abstract non-blocking connection pool.<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#AbstractNIOConnPool(org.apache.http.nio.reactor.ConnectingIOReactor, org.apache.http.nio.pool.NIOConnFactory, int, int)"><B>AbstractNIOConnPool(ConnectingIOReactor, NIOConnFactory&lt;T, C&gt;, int, int)</B></A> - 
Constructor for class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io"><B>AbstractSessionInputBuffer</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>Abstract base class for session input buffers that stream data from
 an arbitrary <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>.<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#AbstractSessionInputBuffer()"><B>AbstractSessionInputBuffer()</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io"><B>AbstractSessionOutputBuffer</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>Abstract base class for session output buffers that stream data to
 an arbitrary <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>.<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#AbstractSessionOutputBuffer()"><B>AbstractSessionOutputBuffer()</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#ACCEPT"><B>ACCEPT</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.1
<DT><A HREF="./org/apache/http/HttpHeaders.html#ACCEPT_CHARSET"><B>ACCEPT_CHARSET</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.2
<DT><A HREF="./org/apache/http/HttpHeaders.html#ACCEPT_ENCODING"><B>ACCEPT_ENCODING</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.3
<DT><A HREF="./org/apache/http/HttpHeaders.html#ACCEPT_LANGUAGE"><B>ACCEPT_LANGUAGE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.4
<DT><A HREF="./org/apache/http/HttpHeaders.html#ACCEPT_RANGES"><B>ACCEPT_RANGES</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.5
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#acceptable(java.nio.channels.SelectionKey)"><B>acceptable(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<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.
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#acceptable(java.nio.channels.SelectionKey)"><B>acceptable(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>This I/O reactor implementation does not react to the
 <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> event.
<DT><A HREF="./org/apache/http/nio/NHttpConnection.html#ACTIVE"><B>ACTIVE</B></A> - 
Static variable in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpConnection.html" title="interface in org.apache.http.nio">NHttpConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#ACTIVE"><B>ACTIVE</B></A> - 
Static variable in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#addChannel(org.apache.http.impl.nio.reactor.ChannelEntry)"><B>addChannel(ChannelEntry)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Adds new channel entry.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#addChannel(org.apache.http.impl.nio.reactor.ChannelEntry)"><B>addChannel(ChannelEntry)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Assigns the given channel entry to one of the worker I/O reactors.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#addExceptionEvent(java.lang.Throwable, java.util.Date)"><B>addExceptionEvent(Throwable, Date)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Adds the given <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang"><CODE>Throwable</CODE></A> object with the given time stamp
 to the audit log.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#addExceptionEvent(java.lang.Throwable)"><B>addExceptionEvent(Throwable)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Adds the given <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang"><CODE>Throwable</CODE></A> object to the audit log.
<DT><A HREF="./org/apache/http/HttpMessage.html#addHeader(org.apache.http.Header)"><B>addHeader(Header)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Adds a header to this message.
<DT><A HREF="./org/apache/http/HttpMessage.html#addHeader(java.lang.String, java.lang.String)"><B>addHeader(String, String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Adds a header to this message.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#addHeader(org.apache.http.Header)"><B>addHeader(Header)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#addHeader(java.lang.String, java.lang.String)"><B>addHeader(String, String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#addHeader(org.apache.http.Header)"><B>addHeader(Header)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Adds the given header to the group.
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#addInterceptor(org.apache.http.HttpRequestInterceptor)"><B>addInterceptor(HttpRequestInterceptor)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#addInterceptor(org.apache.http.HttpRequestInterceptor, int)"><B>addInterceptor(HttpRequestInterceptor, int)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#addInterceptor(org.apache.http.HttpResponseInterceptor)"><B>addInterceptor(HttpResponseInterceptor)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#addInterceptor(org.apache.http.HttpResponseInterceptor, int)"><B>addInterceptor(HttpResponseInterceptor, int)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#addRequestInterceptor(org.apache.http.HttpRequestInterceptor)"><B>addRequestInterceptor(HttpRequestInterceptor)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int)"><B>addRequestInterceptor(HttpRequestInterceptor, int)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html#addRequestInterceptor(org.apache.http.HttpRequestInterceptor)"><B>addRequestInterceptor(HttpRequestInterceptor)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html" title="interface in org.apache.http.protocol">HttpRequestInterceptorList</A>
<DD>Appends a request interceptor to this list.
<DT><A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html#addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int)"><B>addRequestInterceptor(HttpRequestInterceptor, int)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html" title="interface in org.apache.http.protocol">HttpRequestInterceptorList</A>
<DD>Inserts a request interceptor at the specified index.
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int)"><B>addResponseInterceptor(HttpResponseInterceptor, int)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#addResponseInterceptor(org.apache.http.HttpResponseInterceptor)"><B>addResponseInterceptor(HttpResponseInterceptor)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html#addResponseInterceptor(org.apache.http.HttpResponseInterceptor)"><B>addResponseInterceptor(HttpResponseInterceptor)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html" title="interface in org.apache.http.protocol">HttpResponseInterceptorList</A>
<DD>Appends a response interceptor to this list.
<DT><A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html#addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int)"><B>addResponseInterceptor(HttpResponseInterceptor, int)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html" title="interface in org.apache.http.protocol">HttpResponseInterceptorList</A>
<DD>Inserts a response interceptor at the specified index.
<DT><A HREF="./org/apache/http/HttpHeaders.html#AGE"><B>AGE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.6
<DT><A HREF="./org/apache/http/message/BasicHeaderIterator.html#allHeaders"><B>allHeaders</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message">BasicHeaderIterator</A>
<DD>An array of headers to iterate over.
<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html#allHeaders"><B>allHeaders</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message">BasicListHeaderIterator</A>
<DD>A list of headers to iterate over.
<DT><A HREF="./org/apache/http/nio/util/ByteBufferAllocator.html#allocate(int)"><B>allocate(int)</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ByteBufferAllocator.html" title="interface in org.apache.http.nio.util">ByteBufferAllocator</A>
<DD>Allocates <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/ByteBuffer.html" title="class or interface in java.nio"><CODE>ByteBuffer</CODE></A> of the given size.
<DT><A HREF="./org/apache/http/nio/util/DirectByteBufferAllocator.html#allocate(int)"><B>allocate(int)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/DirectByteBufferAllocator.html" title="class in org.apache.http.nio.util">DirectByteBufferAllocator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/HeapByteBufferAllocator.html#allocate(int)"><B>allocate(int)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/HeapByteBufferAllocator.html" title="class in org.apache.http.nio.util">HeapByteBufferAllocator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#allocator"><B>allocator</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#allocator"><B>allocator</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#allocator"><B>allocator</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#ALLOW"><B>ALLOW</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.1, RFC 2616 (HTTP/1.1) Section 14.7
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#append(byte[], int, int)"><B>append(byte[], int, int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Appends <code>len</code> bytes to this buffer from the given source
 array starting at index <code>off</code>.
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#append(int)"><B>append(int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Appends <code>b</code> byte to this buffer.
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#append(char[], int, int)"><B>append(char[], int, int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Appends <code>len</code> chars to this buffer from the given source
 array starting at index <code>off</code>.
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#append(org.apache.http.util.CharArrayBuffer, int, int)"><B>append(CharArrayBuffer, int, int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Appends <code>len</code> chars to this buffer from the given source
 char array buffer starting at index <code>off</code>.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#append(char[], int, int)"><B>append(char[], int, int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Appends <code>len</code> chars to this buffer from the given source
 array starting at index <code>off</code>.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#append(java.lang.String)"><B>append(String)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Appends chars of the given string to this buffer.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#append(org.apache.http.util.CharArrayBuffer, int, int)"><B>append(CharArrayBuffer, int, int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Appends <code>len</code> chars to this buffer from the given source
 buffer starting at index <code>off</code>.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#append(org.apache.http.util.CharArrayBuffer)"><B>append(CharArrayBuffer)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Appends all chars to this buffer from the given source buffer starting
 at index <code>0</code>.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#append(char)"><B>append(char)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Appends <code>ch</code> char to this buffer.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#append(byte[], int, int)"><B>append(byte[], int, int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Appends <code>len</code> bytes to this buffer from the given source
 array starting at index <code>off</code>.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#append(org.apache.http.util.ByteArrayBuffer, int, int)"><B>append(ByteArrayBuffer, int, int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Appends <code>len</code> bytes to this buffer from the given source
 array starting at index <code>off</code>.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#append(java.lang.Object)"><B>append(Object)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Appends chars of the textual representation of the given object to this
 buffer.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#appendProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.ProtocolVersion)"><B>appendProtocolVersion(CharArrayBuffer, ProtocolVersion)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/LineFormatter.html#appendProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.ProtocolVersion)"><B>appendProtocolVersion(CharArrayBuffer, ProtocolVersion)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/LineFormatter.html" title="interface in org.apache.http.message">LineFormatter</A>
<DD>Formats a protocol version.
<DT><A HREF="./org/apache/http/entity/ContentType.html#APPLICATION_ATOM_XML"><B>APPLICATION_ATOM_XML</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#APPLICATION_FORM_URLENCODED"><B>APPLICATION_FORM_URLENCODED</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#APPLICATION_JSON"><B>APPLICATION_JSON</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#APPLICATION_OCTET_STREAM"><B>APPLICATION_OCTET_STREAM</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#APPLICATION_SVG_XML"><B>APPLICATION_SVG_XML</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#APPLICATION_XHTML_XML"><B>APPLICATION_XHTML_XML</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#APPLICATION_XML"><B>APPLICATION_XML</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/Consts.html#ASCII"><B>ASCII</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/Consts.html" title="class in org.apache.http">Consts</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#ASCII"><B>ASCII</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#assertNotClosed()"><B>assertNotClosed()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>Assets if the connection is still open.
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html#assertNotCompleted()"><B>assertNotCompleted()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#assertNotOpen()"><B>assertNotOpen()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#assertNotOpen()"><B>assertNotOpen()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#assertOpen()"><B>assertOpen()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>Asserts if the connection is open.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#assertOpen()"><B>assertOpen()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>Asserts if the connection is open.
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#assertOpen()"><B>assertOpen()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#assertOpen()"><B>assertOpen()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol"><B>AsyncNHttpClientHandler</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestExecutor</CODE></A> and <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequester</CODE></A></I><DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#AsyncNHttpClientHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.nio.protocol.NHttpRequestExecutionHandler, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>AsyncNHttpClientHandler(HttpProcessor, NHttpRequestExecutionHandler, ConnectionReuseStrategy, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#AsyncNHttpClientHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.nio.protocol.NHttpRequestExecutionHandler, org.apache.http.ConnectionReuseStrategy, org.apache.http.params.HttpParams)"><B>AsyncNHttpClientHandler(HttpProcessor, NHttpRequestExecutionHandler, ConnectionReuseStrategy, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol"><B>AsyncNHttpClientHandler.ClientConnState</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;&nbsp;<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#AsyncNHttpClientHandler.ClientConnState()"><B>AsyncNHttpClientHandler.ClientConnState()</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol"><B>AsyncNHttpServiceHandler</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><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><DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#AsyncNHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>AsyncNHttpServiceHandler(HttpProcessor, HttpResponseFactory, ConnectionReuseStrategy, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#AsyncNHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, org.apache.http.params.HttpParams)"><B>AsyncNHttpServiceHandler(HttpProcessor, HttpResponseFactory, ConnectionReuseStrategy, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol"><B>AsyncNHttpServiceHandler.ServerConnState</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;&nbsp;<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#AsyncNHttpServiceHandler.ServerConnState()"><B>AsyncNHttpServiceHandler.ServerConnState()</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/message/ParserCursor.html#atEnd()"><B>atEnd()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/ParserCursor.html" title="class in org.apache.http.message">ParserCursor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#ATTACHMENT_KEY"><B>ATTACHMENT_KEY</B></A> - 
Static variable in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Name of the context attribute key, which can be used to obtain the
 session attachment object.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#auditLog"><B>auditLog</B></A> - 
Variable in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#AUTHORIZATION"><B>AUTHORIZATION</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.2, RFC 2616 (HTTP/1.1) Section 14.8
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#available()"><B>available()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#available()"><B>available()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ChunkedInputStream.html#available()"><B>available()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedInputStream.html" title="class in org.apache.http.impl.io">ChunkedInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html#available()"><B>available()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html" title="class in org.apache.http.impl.io">ContentLengthInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/IdentityInputStream.html#available()"><B>available()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/IdentityInputStream.html" title="class in org.apache.http.impl.io">IdentityInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/BufferInfo.html#available()"><B>available()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/BufferInfo.html" title="interface in org.apache.http.io">BufferInfo</A>
<DD>Returns available space in the buffer.
<DT><A HREF="./org/apache/http/nio/entity/ContentInputStream.html#available()"><B>available()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentInputStream.html" title="class in org.apache.http.nio.entity">ContentInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/BufferInfo.html#available()"><B>available()</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/BufferInfo.html" title="interface in org.apache.http.nio.util">BufferInfo</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#available()"><B>available()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>Returns available capacity of this buffer.
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#available()"><B>available()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#available()"><B>available()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#awaitShutdown(long)"><B>awaitShutdown(long)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Blocks for the given period of time in milliseconds awaiting
 the completion of the reactor shutdown.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#awaitShutdown(long)"><B>awaitShutdown(long)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Blocks for the given period of time in milliseconds awaiting
 the completion of the reactor shutdown.
</DL>
<HR>
<A NAME="_B_"><!-- --></A><H2>
<B>B</B></H2>
<DL>
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor"><B>BaseIOReactor</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Default implementation of <A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor"><CODE>AbstractIOReactor</CODE></A> that serves as a base
 for more advanced <A HREF="./org/apache/http/nio/reactor/IOReactor.html" title="interface in org.apache.http.nio.reactor"><CODE>IOReactor</CODE></A> implementations.<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#BaseIOReactor(long)"><B>BaseIOReactor(long)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>Creates new BaseIOReactor instance.
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#BaseIOReactor(long, boolean)"><B>BaseIOReactor(long, boolean)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>Creates new BaseIOReactor instance.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol"><B>BasicAsyncRequestConsumer</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD>Basic implementation of <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestConsumer</CODE></A>.<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html#BasicAsyncRequestConsumer()"><B>BasicAsyncRequestConsumer()</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol"><B>BasicAsyncRequestExecutionHandler</B></A>&lt;<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="type parameter in BasicAsyncRequestExecutionHandler">T</A>&gt; - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD>Basic implementation of <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestExecutionHandler</CODE></A> that executes
 a single HTTP request / response exchange.<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#BasicAsyncRequestExecutionHandler(org.apache.http.nio.protocol.HttpAsyncRequestProducer, org.apache.http.nio.protocol.HttpAsyncResponseConsumer, org.apache.http.concurrent.FutureCallback, org.apache.http.protocol.HttpContext, org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.params.HttpParams)"><B>BasicAsyncRequestExecutionHandler(HttpAsyncRequestProducer, HttpAsyncResponseConsumer&lt;T&gt;, FutureCallback&lt;T&gt;, HttpContext, HttpProcessor, ConnectionReuseStrategy, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#BasicAsyncRequestExecutionHandler(org.apache.http.nio.protocol.HttpAsyncRequestProducer, org.apache.http.nio.protocol.HttpAsyncResponseConsumer, org.apache.http.protocol.HttpContext, org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.params.HttpParams)"><B>BasicAsyncRequestExecutionHandler(HttpAsyncRequestProducer, HttpAsyncResponseConsumer&lt;T&gt;, HttpContext, HttpProcessor, ConnectionReuseStrategy, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestHandler.html" title="class in org.apache.http.nio.protocol"><B>BasicAsyncRequestHandler</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD>Basic implementation of <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestHandler</CODE></A> that delegates
 the process of request handling to a <A HREF="./org/apache/http/protocol/HttpRequestHandler.html" title="interface in org.apache.http.protocol"><CODE>HttpRequestHandler</CODE></A>.<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestHandler.html#BasicAsyncRequestHandler(org.apache.http.protocol.HttpRequestHandler)"><B>BasicAsyncRequestHandler(HttpRequestHandler)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol"><B>BasicAsyncRequestProducer</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD>Basic implementation of <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestProducer</CODE></A>.<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html#BasicAsyncRequestProducer(org.apache.http.HttpHost, org.apache.http.HttpEntityEnclosingRequest, org.apache.http.nio.entity.HttpAsyncContentProducer)"><B>BasicAsyncRequestProducer(HttpHost, HttpEntityEnclosingRequest, HttpAsyncContentProducer)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestProducer</A>
<DD>Creates a producer that can be used to transmit the given request
 message.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html#BasicAsyncRequestProducer(org.apache.http.HttpHost, org.apache.http.HttpRequest)"><B>BasicAsyncRequestProducer(HttpHost, HttpRequest)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestProducer</A>
<DD>Creates a producer that can be used to transmit the given request
 message.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol"><B>BasicAsyncResponseConsumer</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD>Basic implementation of <A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncResponseConsumer</CODE></A>.<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html#BasicAsyncResponseConsumer()"><B>BasicAsyncResponseConsumer()</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html" title="class in org.apache.http.nio.protocol"><B>BasicAsyncResponseProducer</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD>Basic implementation of <A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseProducer.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncResponseProducer</CODE></A>.<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html#BasicAsyncResponseProducer(org.apache.http.HttpResponse, org.apache.http.nio.entity.HttpAsyncContentProducer)"><B>BasicAsyncResponseProducer(HttpResponse, HttpAsyncContentProducer)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseProducer</A>
<DD>Creates a producer that can be used to transmit the given response
 message.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html#BasicAsyncResponseProducer(org.apache.http.HttpResponse)"><B>BasicAsyncResponseProducer(HttpResponse)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseProducer</A>
<DD>Creates a producer that can be used to transmit the given response
 message.
<DT><A HREF="./org/apache/http/impl/pool/BasicConnFactory.html" title="class in org.apache.http.impl.pool"><B>BasicConnFactory</B></A> - Class in <A HREF="./org/apache/http/impl/pool/package-summary.html">org.apache.http.impl.pool</A><DD>A very basic <A HREF="./org/apache/http/pool/ConnFactory.html" title="interface in org.apache.http.pool"><CODE>ConnFactory</CODE></A> implementation that creates
 <A HREF="./org/apache/http/HttpClientConnection.html" title="interface in org.apache.http"><CODE>HttpClientConnection</CODE></A> instances given a <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A> instance.<DT><A HREF="./org/apache/http/impl/pool/BasicConnFactory.html#BasicConnFactory(javax.net.ssl.SSLSocketFactory, org.apache.http.params.HttpParams)"><B>BasicConnFactory(SSLSocketFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.pool.<A HREF="./org/apache/http/impl/pool/BasicConnFactory.html" title="class in org.apache.http.impl.pool">BasicConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/pool/BasicConnFactory.html#BasicConnFactory(org.apache.http.params.HttpParams)"><B>BasicConnFactory(HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.pool.<A HREF="./org/apache/http/impl/pool/BasicConnFactory.html" title="class in org.apache.http.impl.pool">BasicConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/pool/BasicConnPool.html" title="class in org.apache.http.impl.pool"><B>BasicConnPool</B></A> - Class in <A HREF="./org/apache/http/impl/pool/package-summary.html">org.apache.http.impl.pool</A><DD>A very basic <A HREF="./org/apache/http/pool/ConnPool.html" title="interface in org.apache.http.pool"><CODE>ConnPool</CODE></A> implementation that represents a pool
 of blocking <A HREF="./org/apache/http/HttpClientConnection.html" title="interface in org.apache.http"><CODE>HttpClientConnection</CODE></A> connections identified by
 an <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A> instance.<DT><A HREF="./org/apache/http/impl/pool/BasicConnPool.html#BasicConnPool(org.apache.http.pool.ConnFactory)"><B>BasicConnPool(ConnFactory&lt;HttpHost, HttpClientConnection&gt;)</B></A> - 
Constructor for class org.apache.http.impl.pool.<A HREF="./org/apache/http/impl/pool/BasicConnPool.html" title="class in org.apache.http.impl.pool">BasicConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/pool/BasicConnPool.html#BasicConnPool(org.apache.http.params.HttpParams)"><B>BasicConnPool(HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.pool.<A HREF="./org/apache/http/impl/pool/BasicConnPool.html" title="class in org.apache.http.impl.pool">BasicConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/concurrent/BasicFuture.html" title="class in org.apache.http.concurrent"><B>BasicFuture</B></A>&lt;<A HREF="./org/apache/http/concurrent/BasicFuture.html" title="type parameter in BasicFuture">T</A>&gt; - Class in <A HREF="./org/apache/http/concurrent/package-summary.html">org.apache.http.concurrent</A><DD>Basic implementation of the <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Future.html" title="class or interface in java.util.concurrent"><CODE>Future</CODE></A> interface.<DT><A HREF="./org/apache/http/concurrent/BasicFuture.html#BasicFuture(org.apache.http.concurrent.FutureCallback)"><B>BasicFuture(FutureCallback&lt;T&gt;)</B></A> - 
Constructor for class org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/BasicFuture.html" title="class in org.apache.http.concurrent">BasicFuture</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeader.html" title="class in org.apache.http.message"><B>BasicHeader</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of <A HREF="./org/apache/http/Header.html" title="interface in org.apache.http"><CODE>Header</CODE></A>.<DT><A HREF="./org/apache/http/message/BasicHeader.html#BasicHeader(java.lang.String, java.lang.String)"><B>BasicHeader(String, String)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeader.html" title="class in org.apache.http.message">BasicHeader</A>
<DD>Constructor with name and value
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message"><B>BasicHeaderElement</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of <A HREF="./org/apache/http/HeaderElement.html" title="interface in org.apache.http"><CODE>HeaderElement</CODE></A><DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#BasicHeaderElement(java.lang.String, java.lang.String, org.apache.http.NameValuePair[])"><B>BasicHeaderElement(String, String, NameValuePair[])</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>Constructor with name, value and parameters.
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#BasicHeaderElement(java.lang.String, java.lang.String)"><B>BasicHeaderElement(String, String)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>Constructor with name and value.
<DT><A HREF="./org/apache/http/message/BasicHeaderElementIterator.html" title="class in org.apache.http.message"><B>BasicHeaderElementIterator</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of a <A HREF="./org/apache/http/HeaderElementIterator.html" title="interface in org.apache.http"><CODE>HeaderElementIterator</CODE></A>.<DT><A HREF="./org/apache/http/message/BasicHeaderElementIterator.html#BasicHeaderElementIterator(org.apache.http.HeaderIterator, org.apache.http.message.HeaderValueParser)"><B>BasicHeaderElementIterator(HeaderIterator, HeaderValueParser)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElementIterator.html" title="class in org.apache.http.message">BasicHeaderElementIterator</A>
<DD>Creates a new instance of BasicHeaderElementIterator
<DT><A HREF="./org/apache/http/message/BasicHeaderElementIterator.html#BasicHeaderElementIterator(org.apache.http.HeaderIterator)"><B>BasicHeaderElementIterator(HeaderIterator)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElementIterator.html" title="class in org.apache.http.message">BasicHeaderElementIterator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message"><B>BasicHeaderIterator</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of a <A HREF="./org/apache/http/HeaderIterator.html" title="interface in org.apache.http"><CODE>HeaderIterator</CODE></A>.<DT><A HREF="./org/apache/http/message/BasicHeaderIterator.html#BasicHeaderIterator(org.apache.http.Header[], java.lang.String)"><B>BasicHeaderIterator(Header[], String)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message">BasicHeaderIterator</A>
<DD>Creates a new header iterator.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message"><B>BasicHeaderValueFormatter</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation for formatting header value elements.<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#BasicHeaderValueFormatter()"><B>BasicHeaderValueFormatter()</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message"><B>BasicHeaderValueParser</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation for parsing header values into elements.<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#BasicHeaderValueParser()"><B>BasicHeaderValueParser()</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpContext.html" title="class in org.apache.http.protocol"><B>BasicHttpContext</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>Default implementation of <A HREF="./org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol"><CODE>HttpContext</CODE></A>.<DT><A HREF="./org/apache/http/protocol/BasicHttpContext.html#BasicHttpContext()"><B>BasicHttpContext()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpContext.html" title="class in org.apache.http.protocol">BasicHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpContext.html#BasicHttpContext(org.apache.http.protocol.HttpContext)"><B>BasicHttpContext(HttpContext)</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpContext.html" title="class in org.apache.http.protocol">BasicHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/BasicHttpEntity.html" title="class in org.apache.http.entity"><B>BasicHttpEntity</B></A> - Class in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>A generic streamed, non-repeatable entity that obtains its content
 from an <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>.<DT><A HREF="./org/apache/http/entity/BasicHttpEntity.html#BasicHttpEntity()"><B>BasicHttpEntity()</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/BasicHttpEntity.html" title="class in org.apache.http.entity">BasicHttpEntity</A>
<DD>Creates a new basic entity.
<DT><A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html" title="class in org.apache.http.message"><B>BasicHttpEntityEnclosingRequest</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of <A HREF="./org/apache/http/HttpEntityEnclosingRequest.html" title="interface in org.apache.http"><CODE>HttpEntityEnclosingRequest</CODE></A>.<DT><A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html#BasicHttpEntityEnclosingRequest(java.lang.String, java.lang.String)"><B>BasicHttpEntityEnclosingRequest(String, String)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html" title="class in org.apache.http.message">BasicHttpEntityEnclosingRequest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html#BasicHttpEntityEnclosingRequest(java.lang.String, java.lang.String, org.apache.http.ProtocolVersion)"><B>BasicHttpEntityEnclosingRequest(String, String, ProtocolVersion)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html" title="class in org.apache.http.message">BasicHttpEntityEnclosingRequest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html#BasicHttpEntityEnclosingRequest(org.apache.http.RequestLine)"><B>BasicHttpEntityEnclosingRequest(RequestLine)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html" title="class in org.apache.http.message">BasicHttpEntityEnclosingRequest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params"><B>BasicHttpParams</B></A> - Class in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>Default implementation of <A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params"><CODE>HttpParams</CODE></A> interface.<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#BasicHttpParams()"><B>BasicHttpParams()</B></A> - 
Constructor for class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol"><B>BasicHttpProcessor</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>Default implementation of <A HREF="./org/apache/http/protocol/HttpProcessor.html" title="interface in org.apache.http.protocol"><CODE>HttpProcessor</CODE></A>.<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#BasicHttpProcessor()"><B>BasicHttpProcessor()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHttpRequest.html" title="class in org.apache.http.message"><B>BasicHttpRequest</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A>.<DT><A HREF="./org/apache/http/message/BasicHttpRequest.html#BasicHttpRequest(java.lang.String, java.lang.String)"><B>BasicHttpRequest(String, String)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpRequest.html" title="class in org.apache.http.message">BasicHttpRequest</A>
<DD>Creates an instance of this class using the given request method
 and URI.
<DT><A HREF="./org/apache/http/message/BasicHttpRequest.html#BasicHttpRequest(java.lang.String, java.lang.String, org.apache.http.ProtocolVersion)"><B>BasicHttpRequest(String, String, ProtocolVersion)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpRequest.html" title="class in org.apache.http.message">BasicHttpRequest</A>
<DD>Creates an instance of this class using the given request method, URI
 and the HTTP protocol version.
<DT><A HREF="./org/apache/http/message/BasicHttpRequest.html#BasicHttpRequest(org.apache.http.RequestLine)"><B>BasicHttpRequest(RequestLine)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpRequest.html" title="class in org.apache.http.message">BasicHttpRequest</A>
<DD>Creates an instance of this class using the given request line.
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message"><B>BasicHttpResponse</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of <A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><CODE>HttpResponse</CODE></A>.<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#BasicHttpResponse(org.apache.http.StatusLine, org.apache.http.ReasonPhraseCatalog, java.util.Locale)"><B>BasicHttpResponse(StatusLine, ReasonPhraseCatalog, Locale)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>Creates a new response.
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#BasicHttpResponse(org.apache.http.StatusLine)"><B>BasicHttpResponse(StatusLine)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>Creates a response from a status line.
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#BasicHttpResponse(org.apache.http.ProtocolVersion, int, java.lang.String)"><B>BasicHttpResponse(ProtocolVersion, int, String)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>Creates a response from elements of a status line.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message"><B>BasicLineFormatter</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Interface for formatting elements of the HEAD section of an HTTP message.<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#BasicLineFormatter()"><B>BasicLineFormatter()</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message"><B>BasicLineParser</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic parser for lines in the head section of an HTTP message.<DT><A HREF="./org/apache/http/message/BasicLineParser.html#BasicLineParser(org.apache.http.ProtocolVersion)"><B>BasicLineParser(ProtocolVersion)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>Creates a new line parser for the given HTTP-like protocol.
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#BasicLineParser()"><B>BasicLineParser()</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>Creates a new line parser for HTTP.
<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message"><B>BasicListHeaderIterator</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Implementation of a <A HREF="./org/apache/http/HeaderIterator.html" title="interface in org.apache.http"><CODE>HeaderIterator</CODE></A> based on a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html" title="class or interface in java.util"><CODE>List</CODE></A>.<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html#BasicListHeaderIterator(java.util.List, java.lang.String)"><B>BasicListHeaderIterator(List&lt;Header&gt;, String)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message">BasicListHeaderIterator</A>
<DD>Creates a new header iterator.
<DT><A HREF="./org/apache/http/message/BasicNameValuePair.html" title="class in org.apache.http.message"><B>BasicNameValuePair</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of <A HREF="./org/apache/http/NameValuePair.html" title="interface in org.apache.http"><CODE>NameValuePair</CODE></A>.<DT><A HREF="./org/apache/http/message/BasicNameValuePair.html#BasicNameValuePair(java.lang.String, java.lang.String)"><B>BasicNameValuePair(String, String)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicNameValuePair.html" title="class in org.apache.http.message">BasicNameValuePair</A>
<DD>Default Constructor taking a name and a value.
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html" title="class in org.apache.http.impl.nio.pool"><B>BasicNIOConnFactory</B></A> - Class in <A HREF="./org/apache/http/impl/nio/pool/package-summary.html">org.apache.http.impl.nio.pool</A><DD>A basic <A HREF="./org/apache/http/nio/pool/NIOConnFactory.html" title="interface in org.apache.http.nio.pool"><CODE>NIOConnFactory</CODE></A> implementation that creates
 <A HREF="./org/apache/http/nio/NHttpClientConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpClientConnection</CODE></A> instances given a <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A> instance.<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html#BasicNIOConnFactory(org.apache.http.nio.NHttpConnectionFactory, org.apache.http.nio.NHttpConnectionFactory)"><B>BasicNIOConnFactory(NHttpConnectionFactory&lt;? extends NHttpClientConnection&gt;, NHttpConnectionFactory&lt;? extends NHttpClientConnection&gt;)</B></A> - 
Constructor for class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html#BasicNIOConnFactory(org.apache.http.nio.NHttpConnectionFactory)"><B>BasicNIOConnFactory(NHttpConnectionFactory&lt;? extends NHttpClientConnection&gt;)</B></A> - 
Constructor for class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html#BasicNIOConnFactory(javax.net.ssl.SSLContext, org.apache.http.nio.reactor.ssl.SSLSetupHandler, org.apache.http.HttpResponseFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>BasicNIOConnFactory(SSLContext, SSLSetupHandler, HttpResponseFactory, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html#BasicNIOConnFactory(javax.net.ssl.SSLContext, org.apache.http.nio.reactor.ssl.SSLSetupHandler, org.apache.http.params.HttpParams)"><B>BasicNIOConnFactory(SSLContext, SSLSetupHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html#BasicNIOConnFactory(org.apache.http.params.HttpParams)"><B>BasicNIOConnFactory(HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html" title="class in org.apache.http.impl.nio.pool"><B>BasicNIOConnPool</B></A> - Class in <A HREF="./org/apache/http/impl/nio/pool/package-summary.html">org.apache.http.impl.nio.pool</A><DD>A very basic <A HREF="./org/apache/http/pool/ConnPool.html" title="interface in org.apache.http.pool"><CODE>ConnPool</CODE></A> implementation that represents a pool
 of non-blocking <A HREF="./org/apache/http/nio/NHttpClientConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpClientConnection</CODE></A> connections identified by
 an <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A> instance.<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html#BasicNIOConnPool(org.apache.http.nio.reactor.ConnectingIOReactor, org.apache.http.nio.pool.NIOConnFactory, org.apache.http.params.HttpParams)"><B>BasicNIOConnPool(ConnectingIOReactor, NIOConnFactory&lt;HttpHost, NHttpClientConnection&gt;, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html#BasicNIOConnPool(org.apache.http.nio.reactor.ConnectingIOReactor, org.apache.http.params.HttpParams)"><B>BasicNIOConnPool(ConnectingIOReactor, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOPoolEntry.html" title="class in org.apache.http.impl.nio.pool"><B>BasicNIOPoolEntry</B></A> - Class in <A HREF="./org/apache/http/impl/nio/pool/package-summary.html">org.apache.http.impl.nio.pool</A><DD>A basic <A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool"><CODE>PoolEntry</CODE></A> implementation that represents an entry
 in a pool of non-blocking <A HREF="./org/apache/http/nio/NHttpClientConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpClientConnection</CODE></A>s identified by
 an <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A> instance.<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOPoolEntry.html#BasicNIOPoolEntry(java.lang.String, org.apache.http.HttpHost, org.apache.http.nio.NHttpClientConnection)"><B>BasicNIOPoolEntry(String, HttpHost, NHttpClientConnection)</B></A> - 
Constructor for class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOPoolEntry.html" title="class in org.apache.http.impl.nio.pool">BasicNIOPoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/pool/BasicPoolEntry.html" title="class in org.apache.http.impl.pool"><B>BasicPoolEntry</B></A> - Class in <A HREF="./org/apache/http/impl/pool/package-summary.html">org.apache.http.impl.pool</A><DD>A very basic <A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool"><CODE>PoolEntry</CODE></A> implementation that represents an entry
 in a pool of blocking <A HREF="./org/apache/http/HttpClientConnection.html" title="interface in org.apache.http"><CODE>HttpClientConnection</CODE></A>s identified by
 an <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A> instance.<DT><A HREF="./org/apache/http/impl/pool/BasicPoolEntry.html#BasicPoolEntry(java.lang.String, org.apache.http.HttpHost, org.apache.http.HttpClientConnection)"><B>BasicPoolEntry(String, HttpHost, HttpClientConnection)</B></A> - 
Constructor for class org.apache.http.impl.pool.<A HREF="./org/apache/http/impl/pool/BasicPoolEntry.html" title="class in org.apache.http.impl.pool">BasicPoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicRequestLine.html" title="class in org.apache.http.message"><B>BasicRequestLine</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of <A HREF="./org/apache/http/RequestLine.html" title="interface in org.apache.http"><CODE>RequestLine</CODE></A>.<DT><A HREF="./org/apache/http/message/BasicRequestLine.html#BasicRequestLine(java.lang.String, java.lang.String, org.apache.http.ProtocolVersion)"><B>BasicRequestLine(String, String, ProtocolVersion)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicRequestLine.html" title="class in org.apache.http.message">BasicRequestLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicStatusLine.html" title="class in org.apache.http.message"><B>BasicStatusLine</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of <A HREF="./org/apache/http/StatusLine.html" title="interface in org.apache.http"><CODE>StatusLine</CODE></A><DT><A HREF="./org/apache/http/message/BasicStatusLine.html#BasicStatusLine(org.apache.http.ProtocolVersion, int, java.lang.String)"><B>BasicStatusLine(ProtocolVersion, int, String)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicStatusLine.html" title="class in org.apache.http.message">BasicStatusLine</A>
<DD>Creates a new status line with the given version, status, and reason.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message"><B>BasicTokenIterator</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Basic implementation of a <A HREF="./org/apache/http/TokenIterator.html" title="interface in org.apache.http"><CODE>TokenIterator</CODE></A>.<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#BasicTokenIterator(org.apache.http.HeaderIterator)"><B>BasicTokenIterator(HeaderIterator)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Creates a new instance of <A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message"><CODE>BasicTokenIterator</CODE></A>.
<DT><A HREF="./org/apache/http/impl/DefaultHttpClientConnection.html#bind(java.net.Socket, org.apache.http.params.HttpParams)"><B>bind(Socket, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpClientConnection.html" title="class in org.apache.http.impl">DefaultHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/DefaultHttpServerConnection.html#bind(java.net.Socket, org.apache.http.params.HttpParams)"><B>bind(Socket, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpServerConnection.html" title="class in org.apache.http.impl">DefaultHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#bind(org.apache.http.nio.reactor.IOSession)"><B>bind(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>Binds the connection to a different <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SSLIOSession.html#bind(org.apache.http.impl.nio.reactor.SSLMode, org.apache.http.params.HttpParams)"><B>bind(SSLMode, HttpParams)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SSLIOSession.html" title="class in org.apache.http.impl.nio.reactor">SSLIOSession</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#bind(java.net.Socket, org.apache.http.params.HttpParams)"><B>bind(Socket, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>Binds this connection to the given <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A>.
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#bind(java.net.Socket, org.apache.http.params.HttpParams)"><B>bind(Socket, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>Binds this connection to the given <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html#buffer"><B>buffer</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html#buffer"><B>buffer</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#buffer"><B>buffer</B></A> - 
Variable in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#buffer"><B>buffer</B></A> - 
Variable in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#buffer"><B>buffer</B></A> - 
Variable in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#buffer()"><B>buffer()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Returns reference to the underlying byte array.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#buffer()"><B>buffer()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Returns reference to the underlying char array.
<DT><A HREF="./org/apache/http/message/BufferedHeader.html" title="class in org.apache.http.message"><B>BufferedHeader</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>This class represents a raw HTTP header whose content is parsed 'on demand'
 only when the header value needs to be consumed.<DT><A HREF="./org/apache/http/message/BufferedHeader.html#BufferedHeader(org.apache.http.util.CharArrayBuffer)"><B>BufferedHeader(CharArrayBuffer)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/BufferedHeader.html" title="class in org.apache.http.message">BufferedHeader</A>
<DD>Creates a new header from a buffer.
<DT><A HREF="./org/apache/http/entity/BufferedHttpEntity.html" title="class in org.apache.http.entity"><B>BufferedHttpEntity</B></A> - Class in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>A wrapping entity that buffers it content if necessary.<DT><A HREF="./org/apache/http/entity/BufferedHttpEntity.html#BufferedHttpEntity(org.apache.http.HttpEntity)"><B>BufferedHttpEntity(HttpEntity)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/BufferedHttpEntity.html" title="class in org.apache.http.entity">BufferedHttpEntity</A>
<DD>Creates a new buffered entity wrapper.
<DT><A HREF="./org/apache/http/io/BufferInfo.html" title="interface in org.apache.http.io"><B>BufferInfo</B></A> - Interface in <A HREF="./org/apache/http/io/package-summary.html">org.apache.http.io</A><DD>Basic buffer properties.<DT><A HREF="./org/apache/http/nio/util/BufferInfo.html" title="interface in org.apache.http.nio.util"><B>BufferInfo</B></A> - Interface in <A HREF="./org/apache/http/nio/util/package-summary.html">org.apache.http.nio.util</A><DD><B>Deprecated.</B>&nbsp;<I>(4.1) Use <A HREF="./org/apache/http/io/BufferInfo.html" title="interface in org.apache.http.io"><CODE>BufferInfo</CODE></A></I><DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol"><B>BufferingHttpClientHandler</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestExecutor</CODE></A> and <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequester</CODE></A></I><DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#BufferingHttpClientHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.nio.protocol.HttpRequestExecutionHandler, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>BufferingHttpClientHandler(HttpProcessor, HttpRequestExecutionHandler, ConnectionReuseStrategy, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#BufferingHttpClientHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.nio.protocol.HttpRequestExecutionHandler, org.apache.http.ConnectionReuseStrategy, org.apache.http.params.HttpParams)"><B>BufferingHttpClientHandler(HttpProcessor, HttpRequestExecutionHandler, ConnectionReuseStrategy, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol"><B>BufferingHttpServiceHandler</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><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><DT><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)"><B>BufferingHttpServiceHandler(HttpProcessor, HttpResponseFactory, ConnectionReuseStrategy, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><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)"><B>BufferingHttpServiceHandler(HttpProcessor, HttpResponseFactory, ConnectionReuseStrategy, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html" title="class in org.apache.http.nio.entity"><B>BufferingNHttpEntity</B></A> - Class in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol"><CODE>BasicAsyncRequestConsumer</CODE></A> or <A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol"><CODE>BasicAsyncResponseConsumer</CODE></A></I><DT><A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html#BufferingNHttpEntity(org.apache.http.HttpEntity, org.apache.http.nio.util.ByteBufferAllocator)"><B>BufferingNHttpEntity(HttpEntity, ByteBufferAllocator)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html" title="class in org.apache.http.nio.entity">BufferingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#buildResult(org.apache.http.protocol.HttpContext)"><B>buildResult(HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>Invoked to generate a result object from the received HTTP request
 message.
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#buildResult(org.apache.http.protocol.HttpContext)"><B>buildResult(HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>Invoked to generate a result object from the received HTTP response
 message.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html#buildResult(org.apache.http.protocol.HttpContext)"><B>buildResult(HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html#buildResult(org.apache.http.protocol.HttpContext)"><B>buildResult(HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util"><B>ByteArrayBuffer</B></A> - Class in <A HREF="./org/apache/http/util/package-summary.html">org.apache.http.util</A><DD>A resizable byte array.<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#ByteArrayBuffer(int)"><B>ByteArrayBuffer(int)</B></A> - 
Constructor for class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Creates an instance of <A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util"><CODE>ByteArrayBuffer</CODE></A> with the given initial
 capacity.
<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity"><B>ByteArrayEntity</B></A> - Class in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>A self contained, repeatable entity that obtains its content from a byte array.<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html#ByteArrayEntity(byte[], org.apache.http.entity.ContentType)"><B>ByteArrayEntity(byte[], ContentType)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity">ByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html#ByteArrayEntity(byte[], int, int, org.apache.http.entity.ContentType)"><B>ByteArrayEntity(byte[], int, int, ContentType)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity">ByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html#ByteArrayEntity(byte[])"><B>ByteArrayEntity(byte[])</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity">ByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html#ByteArrayEntity(byte[], int, int)"><B>ByteArrayEntity(byte[], int, int)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity">ByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#byteAt(int)"><B>byteAt(int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Returns the <code>byte</code> value in this buffer at the specified
 index.
<DT><A HREF="./org/apache/http/nio/util/ByteBufferAllocator.html" title="interface in org.apache.http.nio.util"><B>ByteBufferAllocator</B></A> - Interface in <A HREF="./org/apache/http/nio/util/package-summary.html">org.apache.http.nio.util</A><DD>Abstract interface to allocate <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/ByteBuffer.html" title="class or interface in java.nio"><CODE>ByteBuffer</CODE></A> instances.</DL>
<HR>
<A NAME="_C_"><!-- --></A><H2>
<B>C</B></H2>
<DL>
<DT><A HREF="./org/apache/http/HttpHeaders.html#CACHE_CONTROL"><B>CACHE_CONTROL</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.9
<DT><A HREF="./org/apache/http/concurrent/BasicFuture.html#cancel(boolean)"><B>cancel(boolean)</B></A> - 
Method in class org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/BasicFuture.html" title="class in org.apache.http.concurrent">BasicFuture</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/concurrent/BasicFuture.html#cancel()"><B>cancel()</B></A> - 
Method in class org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/BasicFuture.html" title="class in org.apache.http.concurrent">BasicFuture</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/concurrent/Cancellable.html#cancel()"><B>cancel()</B></A> - 
Method in interface org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/Cancellable.html" title="interface in org.apache.http.concurrent">Cancellable</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html#cancel()"><B>cancel()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor">ListenerEndpointImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#cancel()"><B>cancel()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#cancel()"><B>cancel()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#cancel()"><B>cancel()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequest.html#cancel()"><B>cancel()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor">SessionRequest</A>
<DD>Cancels the request.
<DT><A HREF="./org/apache/http/concurrent/Cancellable.html" title="interface in org.apache.http.concurrent"><B>Cancellable</B></A> - Interface in <A HREF="./org/apache/http/concurrent/package-summary.html">org.apache.http.concurrent</A><DD>A <tt>Cancellable</tt> represents a process or an operation that can be
 canceled.<DT><A HREF="./org/apache/http/concurrent/FutureCallback.html#cancelled()"><B>cancelled()</B></A> - 
Method in interface org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/FutureCallback.html" title="interface in org.apache.http.concurrent">FutureCallback</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequestCallback.html#cancelled(org.apache.http.nio.reactor.SessionRequest)"><B>cancelled(SessionRequest)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequestCallback.html" title="interface in org.apache.http.nio.reactor">SessionRequestCallback</A>
<DD>Triggered on cancellation of a <A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor"><CODE>SessionRequest</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#cancelRequests()"><B>cancelRequests()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Triggered to cancel pending session requests.
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html#cancelRequests()"><B>cancelRequests()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultConnectingIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#cancelRequests()"><B>cancelRequests()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultListeningIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#canResponseHaveBody(org.apache.http.HttpRequest, org.apache.http.HttpResponse)"><B>canResponseHaveBody(HttpRequest, HttpResponse)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpRequestExecutor.html#canResponseHaveBody(org.apache.http.HttpRequest, org.apache.http.HttpResponse)"><B>canResponseHaveBody(HttpRequest, HttpResponse)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestExecutor.html" title="class in org.apache.http.protocol">HttpRequestExecutor</A>
<DD>Decide whether a response comes with an entity.
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#capacity()"><B>capacity()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#capacity()"><B>capacity()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/BufferInfo.html#capacity()"><B>capacity()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/BufferInfo.html" title="interface in org.apache.http.io">BufferInfo</A>
<DD>Returns total capacity of the buffer
<DT><A HREF="./org/apache/http/nio/util/BufferInfo.html#capacity()"><B>capacity()</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/BufferInfo.html" title="interface in org.apache.http.nio.util">BufferInfo</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#capacity()"><B>capacity()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>Returns the total capacity of this buffer.
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#capacity()"><B>capacity()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#capacity()"><B>capacity()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#capacity()"><B>capacity()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Returns the current capacity.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#capacity()"><B>capacity()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Returns the current capacity.
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html#channel"><B>channel</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html#channel"><B>channel</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#channel()"><B>channel()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#channel()"><B>channel()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Returns the underlying I/O channel associated with this session.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#channel()"><B>channel()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ChannelEntry.html" title="class in org.apache.http.impl.nio.reactor"><B>ChannelEntry</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD><A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/SocketChannel.html" title="class or interface in java.nio.channels"><CODE>SocketChannel</CODE></A> entry maintained by the I/O reactor.<DT><A HREF="./org/apache/http/impl/nio/reactor/ChannelEntry.html#ChannelEntry(java.nio.channels.SocketChannel, org.apache.http.impl.nio.reactor.SessionRequestImpl)"><B>ChannelEntry(SocketChannel, SessionRequestImpl)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ChannelEntry.html" title="class in org.apache.http.impl.nio.reactor">ChannelEntry</A>
<DD>Creates new ChannelEntry.
<DT><A HREF="./org/apache/http/impl/nio/reactor/ChannelEntry.html#ChannelEntry(java.nio.channels.SocketChannel)"><B>ChannelEntry(SocketChannel)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ChannelEntry.html" title="class in org.apache.http.impl.nio.reactor">ChannelEntry</A>
<DD>Creates new ChannelEntry.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util"><B>CharArrayBuffer</B></A> - Class in <A HREF="./org/apache/http/util/package-summary.html">org.apache.http.util</A><DD>A resizable char array.<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#CharArrayBuffer(int)"><B>CharArrayBuffer(int)</B></A> - 
Constructor for class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Creates an instance of <A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util"><CODE>CharArrayBuffer</CODE></A> with the given initial
 capacity.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#charAt(int)"><B>charAt(int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Returns the <code>char</code> value in this buffer at the specified
 index.
<DT><A HREF="./org/apache/http/protocol/HTTP.html#CHARSET_PARAM"><B>CHARSET_PARAM</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/protocol/HTTP.html#CHUNK_CODING"><B>CHUNK_CODING</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>Transfer encoding definitions
<DT><A HREF="./org/apache/http/impl/nio/codecs/ChunkDecoder.html" title="class in org.apache.http.impl.nio.codecs"><B>ChunkDecoder</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Implements chunked transfer coding.<DT><A HREF="./org/apache/http/impl/nio/codecs/ChunkDecoder.html#ChunkDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl)"><B>ChunkDecoder(ReadableByteChannel, SessionInputBuffer, HttpTransportMetricsImpl)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/ChunkDecoder.html" title="class in org.apache.http.impl.nio.codecs">ChunkDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#chunked"><B>chunked</B></A> - 
Variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentLengthStrategy.html#CHUNKED"><B>CHUNKED</B></A> - 
Static variable in interface org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentLengthStrategy.html" title="interface in org.apache.http.entity">ContentLengthStrategy</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ChunkedInputStream.html" title="class in org.apache.http.impl.io"><B>ChunkedInputStream</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>Implements chunked transfer coding.<DT><A HREF="./org/apache/http/impl/io/ChunkedInputStream.html#ChunkedInputStream(org.apache.http.io.SessionInputBuffer)"><B>ChunkedInputStream(SessionInputBuffer)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedInputStream.html" title="class in org.apache.http.impl.io">ChunkedInputStream</A>
<DD>Wraps session input stream and reads chunk coded input.
<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io"><B>ChunkedOutputStream</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>Implements chunked transfer coding.<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html#ChunkedOutputStream(org.apache.http.io.SessionOutputBuffer, int)"><B>ChunkedOutputStream(SessionOutputBuffer, int)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io">ChunkedOutputStream</A>
<DD>Wraps a session output buffer and chunk-encodes the output.
<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html#ChunkedOutputStream(org.apache.http.io.SessionOutputBuffer)"><B>ChunkedOutputStream(SessionOutputBuffer)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io">ChunkedOutputStream</A>
<DD>Wraps a session output buffer and chunks the output.
<DT><A HREF="./org/apache/http/impl/nio/codecs/ChunkEncoder.html" title="class in org.apache.http.impl.nio.codecs"><B>ChunkEncoder</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Implements chunked transfer coding.<DT><A HREF="./org/apache/http/impl/nio/codecs/ChunkEncoder.html#ChunkEncoder(java.nio.channels.WritableByteChannel, org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl)"><B>ChunkEncoder(WritableByteChannel, SessionOutputBuffer, HttpTransportMetricsImpl)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/ChunkEncoder.html" title="class in org.apache.http.impl.nio.codecs">ChunkEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#clear()"><B>clear()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Removes any contained headers.
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#clear()"><B>clear()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>Clears buffer.
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#clear()"><B>clear()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD>Removes all parameters from this collection.
<DT><A HREF="./org/apache/http/params/SyncBasicHttpParams.html#clear()"><B>clear()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/SyncBasicHttpParams.html" title="class in org.apache.http.params">SyncBasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpContext.html#clear()"><B>clear()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpContext.html" title="class in org.apache.http.protocol">BasicHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html#clear()"><B>clear()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html" title="class in org.apache.http.protocol">SyncBasicHttpContext</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#clear()"><B>clear()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Clears content of the buffer.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#clear()"><B>clear()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Clears content of the buffer.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#clearEvent(int)"><B>clearEvent(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#clearEvent(int)"><B>clearEvent(int)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Clears interest in a particular I/O event type by updating the event
 mask associated with the session.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#clearEvent(int)"><B>clearEvent(int)</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#clearInterceptors()"><B>clearInterceptors()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>Clears both interceptor lists maintained by this processor.
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#clearRequestInterceptors()"><B>clearRequestInterceptors()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html#clearRequestInterceptors()"><B>clearRequestInterceptors()</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html" title="interface in org.apache.http.protocol">HttpRequestInterceptorList</A>
<DD>Removes all request interceptors from this list.
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#clearResponseInterceptors()"><B>clearResponseInterceptors()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html#clearResponseInterceptors()"><B>clearResponseInterceptors()</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html" title="interface in org.apache.http.protocol">HttpResponseInterceptorList</A>
<DD>Removes all response interceptors from this list.
<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity">ByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/FileEntity.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/FileEntity.html" title="class in org.apache.http.entity">FileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/StringEntity.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHost.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeader.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeader.html" title="class in org.apache.http.message">BasicHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicNameValuePair.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicNameValuePair.html" title="class in org.apache.http.message">BasicNameValuePair</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicRequestLine.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicRequestLine.html" title="class in org.apache.http.message">BasicRequestLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicStatusLine.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicStatusLine.html" title="class in org.apache.http.message">BasicStatusLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BufferedHeader.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BufferedHeader.html" title="class in org.apache.http.message">BufferedHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD>Clones the instance.
<DT><A HREF="./org/apache/http/params/SyncBasicHttpParams.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/SyncBasicHttpParams.html" title="class in org.apache.http.params">SyncBasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/ProtocolVersion.html#clone()"><B>clone()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpConnection.html#close()"><B>close()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http">HttpConnection</A>
<DD>Closes this connection gracefully.
<DT><A HREF="./org/apache/http/impl/io/ChunkedInputStream.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedInputStream.html" title="class in org.apache.http.impl.io">ChunkedInputStream</A>
<DD>Upon close, this reads the remainder of the chunked message,
 leaving the underlying socket at a position to start reading the
 next response without scanning.
<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io">ChunkedOutputStream</A>
<DD>Finishes writing to the underlying stream, but does NOT close the underlying stream.
<DT><A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html" title="class in org.apache.http.impl.io">ContentLengthInputStream</A>
<DD>Reads until the end of the known length of content.
<DT><A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html" title="class in org.apache.http.impl.io">ContentLengthOutputStream</A>
<DD>Does not close the underlying socket output.
<DT><A HREF="./org/apache/http/impl/io/IdentityInputStream.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/IdentityInputStream.html" title="class in org.apache.http.impl.io">IdentityInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/IdentityOutputStream.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/IdentityOutputStream.html" title="class in org.apache.http.impl.io">IdentityOutputStream</A>
<DD>Does not close the underlying socket output.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOPoolEntry.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOPoolEntry.html" title="class in org.apache.http.impl.nio.pool">BasicNIOPoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor">ListenerEndpointImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/pool/BasicPoolEntry.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.pool.<A HREF="./org/apache/http/impl/pool/BasicPoolEntry.html" title="class in org.apache.http.impl.pool">BasicPoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/ContentDecoderChannel.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentDecoderChannel.html" title="class in org.apache.http.nio">ContentDecoderChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/ContentEncoderChannel.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentEncoderChannel.html" title="class in org.apache.http.nio">ContentEncoderChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ContentInputStream.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentInputStream.html" title="class in org.apache.http.nio.entity">ContentInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ContentOutputStream.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentOutputStream.html" title="class in org.apache.http.nio.entity">ContentOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/EntityAsyncContentProducer.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/EntityAsyncContentProducer.html" title="class in org.apache.http.nio.entity">EntityAsyncContentProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD>
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD>
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD>
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#close()"><B>close()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Terminates the session gracefully and closes the underlying I/O channel.
<DT><A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html#close()"><B>close()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html" title="interface in org.apache.http.nio.reactor">ListenerEndpoint</A>
<DD>Closes this endpoint.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#close()"><B>close()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>Invalidates the pool entry and closes the pooled connection associated
 with it.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#closeActiveChannels()"><B>closeActiveChannels()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Closes out all active channels registered with the selector of
 this I/O reactor.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#closeConnection(org.apache.http.nio.NHttpConnection, java.lang.Throwable)"><B>closeConnection(NHttpConnection, Throwable)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientEventHandler.html#closed(org.apache.http.nio.NHttpClientConnection)"><B>closed(NHttpClientConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientEventHandler.html" title="interface in org.apache.http.nio">NHttpClientEventHandler</A>
<DD>Triggered when the connection is closed.
<DT><A HREF="./org/apache/http/nio/NHttpClientHandler.html#closed(org.apache.http.nio.NHttpClientConnection)"><B>closed(NHttpClientConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientHandler.html" title="interface in org.apache.http.nio">NHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the connection is closed.
<DT><A HREF="./org/apache/http/nio/NHttpConnection.html#CLOSED"><B>CLOSED</B></A> - 
Static variable in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpConnection.html" title="interface in org.apache.http.nio">NHttpConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpServerEventHandler.html#closed(org.apache.http.nio.NHttpServerConnection)"><B>closed(NHttpServerConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerEventHandler.html" title="interface in org.apache.http.nio">NHttpServerEventHandler</A>
<DD>Triggered when the connection is closed.
<DT><A HREF="./org/apache/http/nio/NHttpServiceHandler.html#closed(org.apache.http.nio.NHttpServerConnection)"><B>closed(NHttpServerConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the connection is closed.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#closed(org.apache.http.nio.NHttpClientConnection)"><B>closed(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#closed(org.apache.http.nio.NHttpServerConnection)"><B>closed(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#closed(org.apache.http.nio.NHttpClientConnection)"><B>closed(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#closed(org.apache.http.nio.NHttpServerConnection)"><B>closed(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#closed(org.apache.http.nio.NHttpClientConnection)"><B>closed(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#closed(org.apache.http.nio.NHttpServerConnection)"><B>closed(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#closed(org.apache.http.nio.NHttpClientConnection)"><B>closed(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#closed(org.apache.http.nio.NHttpServerConnection)"><B>closed(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#CLOSED"><B>CLOSED</B></A> - 
Static variable in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#closeExpired()"><B>closeExpired()</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#closeExpired()"><B>closeExpired()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>Closes expired connections and evicts them from the pool.
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#closeIdle(long, java.util.concurrent.TimeUnit)"><B>closeIdle(long, TimeUnit)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#closeIdle(long, java.util.concurrent.TimeUnit)"><B>closeIdle(long, TimeUnit)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>Closes connections that have been idle longer than the given period
 of time and evicts them from the pool.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#closeNewChannels()"><B>closeNewChannels()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Closes out all new channels pending registration with the selector of
 this I/O reactor.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#closeSessions()"><B>closeSessions()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Closes out all I/O sessions maintained by this I/O reactor.
<DT><A HREF="./org/apache/http/nio/NHttpConnection.html#CLOSING"><B>CLOSING</B></A> - 
Static variable in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpConnection.html" title="interface in org.apache.http.nio">NHttpConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#CLOSING"><B>CLOSING</B></A> - 
Static variable in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/CommandLineUtils.html" title="class in org.apache.http.benchmark"><B>CommandLineUtils</B></A> - Class in <A HREF="./org/apache/http/benchmark/package-summary.html">org.apache.http.benchmark</A><DD>&nbsp;<DT><A HREF="./org/apache/http/benchmark/CommandLineUtils.html#CommandLineUtils()"><B>CommandLineUtils()</B></A> - 
Constructor for class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/CommandLineUtils.html" title="class in org.apache.http.benchmark">CommandLineUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/ProtocolVersion.html#compareToVersion(org.apache.http.ProtocolVersion)"><B>compareToVersion(ProtocolVersion)</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Compares this protocol version with another one.
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html#complete()"><B>complete()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/ChunkEncoder.html#complete()"><B>complete()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/ChunkEncoder.html" title="class in org.apache.http.impl.nio.codecs">ChunkEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/ContentEncoder.html#complete()"><B>complete()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio">ContentEncoder</A>
<DD>Terminates the content stream.
<DT><A HREF="./org/apache/http/concurrent/BasicFuture.html#completed(T)"><B>completed(T)</B></A> - 
Method in class org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/BasicFuture.html" title="class in org.apache.http.concurrent">BasicFuture</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/concurrent/FutureCallback.html#completed(T)"><B>completed(T)</B></A> - 
Method in interface org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/FutureCallback.html" title="interface in org.apache.http.concurrent">FutureCallback</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html#completed"><B>completed</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html#completed"><B>completed</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html#completed(java.net.SocketAddress)"><B>completed(SocketAddress)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor">ListenerEndpointImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#completed(org.apache.http.nio.reactor.IOSession)"><B>completed(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequestCallback.html#completed(org.apache.http.nio.reactor.SessionRequest)"><B>completed(SessionRequest)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequestCallback.html" title="interface in org.apache.http.nio.reactor">SessionRequestCallback</A>
<DD>Triggered on successful completion of a <A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor"><CODE>SessionRequest</CODE></A>.
<DT><A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark"><B>Config</B></A> - Class in <A HREF="./org/apache/http/benchmark/package-summary.html">org.apache.http.benchmark</A><DD>&nbsp;<DT><A HREF="./org/apache/http/benchmark/Config.html#Config()"><B>Config()</B></A> - 
Constructor for class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#config"><B>config</B></A> - 
Variable in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#CONN_CLOSE"><B>CONN_CLOSE</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>HTTP connection control
<DT><A HREF="./org/apache/http/protocol/HTTP.html#CONN_DIRECTIVE"><B>CONN_DIRECTIVE</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#CONN_KEEP_ALIVE"><B>CONN_KEEP_ALIVE</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#CONN_STATE"><B>CONN_STATE</B></A> - 
Static variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html#connect(java.net.SocketAddress, java.net.SocketAddress, java.lang.Object, org.apache.http.nio.reactor.SessionRequestCallback)"><B>connect(SocketAddress, SocketAddress, Object, SessionRequestCallback)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultConnectingIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ConnectingIOReactor.html#connect(java.net.SocketAddress, java.net.SocketAddress, java.lang.Object, org.apache.http.nio.reactor.SessionRequestCallback)"><B>connect(SocketAddress, SocketAddress, Object, SessionRequestCallback)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/ConnectingIOReactor.html" title="interface in org.apache.http.nio.reactor">ConnectingIOReactor</A>
<DD>Requests a connection to a remote host.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#connectable(java.nio.channels.SelectionKey)"><B>connectable(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<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.
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#connectable(java.nio.channels.SelectionKey)"><B>connectable(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>This I/O reactor implementation does not react to the
 <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> event.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#connected(org.apache.http.nio.reactor.IOSession)"><B>connected(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#connected(org.apache.http.nio.reactor.IOSession)"><B>connected(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#connected(org.apache.http.nio.reactor.IOSession)"><B>connected(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientEventHandler.html#connected(org.apache.http.nio.NHttpClientConnection, java.lang.Object)"><B>connected(NHttpClientConnection, Object)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientEventHandler.html" title="interface in org.apache.http.nio">NHttpClientEventHandler</A>
<DD>Triggered when a new outgoing connection is created.
<DT><A HREF="./org/apache/http/nio/NHttpClientHandler.html#connected(org.apache.http.nio.NHttpClientConnection, java.lang.Object)"><B>connected(NHttpClientConnection, Object)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientHandler.html" title="interface in org.apache.http.nio">NHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when a new outgoing connection is created.
<DT><A HREF="./org/apache/http/nio/NHttpServerEventHandler.html#connected(org.apache.http.nio.NHttpServerConnection)"><B>connected(NHttpServerConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerEventHandler.html" title="interface in org.apache.http.nio">NHttpServerEventHandler</A>
<DD>Triggered when a new incoming connection is created.
<DT><A HREF="./org/apache/http/nio/NHttpServiceHandler.html#connected(org.apache.http.nio.NHttpServerConnection)"><B>connected(NHttpServerConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when a new incoming connection is created.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#connected(org.apache.http.nio.NHttpClientConnection, java.lang.Object)"><B>connected(NHttpClientConnection, Object)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#connected(org.apache.http.nio.NHttpServerConnection)"><B>connected(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#connected(org.apache.http.nio.NHttpClientConnection, java.lang.Object)"><B>connected(NHttpClientConnection, Object)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#connected(org.apache.http.nio.NHttpServerConnection)"><B>connected(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#connected(org.apache.http.nio.NHttpClientConnection, java.lang.Object)"><B>connected(NHttpClientConnection, Object)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#connected(org.apache.http.nio.NHttpServerConnection)"><B>connected(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#connected(org.apache.http.nio.NHttpClientConnection, java.lang.Object)"><B>connected(NHttpClientConnection, Object)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#connected(org.apache.http.nio.NHttpServerConnection)"><B>connected(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html#connected(org.apache.http.nio.reactor.IOSession)"><B>connected(IOSession)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html" title="interface in org.apache.http.nio.reactor">IOEventDispatch</A>
<DD>Triggered after the given session has been just created.
<DT><A HREF="./org/apache/http/nio/reactor/ConnectingIOReactor.html" title="interface in org.apache.http.nio.reactor"><B>ConnectingIOReactor</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>ConnectingIOReactor represents an I/O reactor capable of establishing
 connections to remote hosts.<DT><A HREF="./org/apache/http/HttpHeaders.html#CONNECTION"><B>CONNECTION</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.10
<DT><A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html#CONNECTION_KEY"><B>CONNECTION_KEY</B></A> - 
Static variable in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html" title="interface in org.apache.http.nio.reactor">IOEventDispatch</A>
<DD>Attribute name of an object that represents a non-blocking connection.
<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html#CONNECTION_TIMEOUT"><B>CONNECTION_TIMEOUT</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params">CoreConnectionPNames</A>
<DD>Determines the timeout in milliseconds until a connection is established.
<DT><A HREF="./org/apache/http/nio/protocol/EventListener.html#connectionClosed(org.apache.http.nio.NHttpConnection)"><B>connectionClosed(NHttpConnection)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/EventListener.html" title="interface in org.apache.http.nio.protocol">EventListener</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when a connection has been terminated.
<DT><A HREF="./org/apache/http/ConnectionClosedException.html" title="class in org.apache.http"><B>ConnectionClosedException</B></A> - Exception in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Signals that the connection has been closed unexpectedly.<DT><A HREF="./org/apache/http/ConnectionClosedException.html#ConnectionClosedException(java.lang.String)"><B>ConnectionClosedException(String)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/ConnectionClosedException.html" title="class in org.apache.http">ConnectionClosedException</A>
<DD>Creates a new ConnectionClosedException with the specified detail message.
<DT><A HREF="./org/apache/http/nio/protocol/EventListener.html#connectionOpen(org.apache.http.nio.NHttpConnection)"><B>connectionOpen(NHttpConnection)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/EventListener.html" title="interface in org.apache.http.nio.protocol">EventListener</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when a new connection has been established.
<DT><A HREF="./org/apache/http/ConnectionReuseStrategy.html" title="interface in org.apache.http"><B>ConnectionReuseStrategy</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Interface for deciding whether a connection can be re-used for
 subsequent requests and should be kept alive.<DT><A HREF="./org/apache/http/nio/protocol/EventListener.html#connectionTimeout(org.apache.http.nio.NHttpConnection)"><B>connectionTimeout(NHttpConnection)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/EventListener.html" title="interface in org.apache.http.nio.protocol">EventListener</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when a connection has timed out.
<DT><A HREF="./org/apache/http/pool/ConnFactory.html" title="interface in org.apache.http.pool"><B>ConnFactory</B></A>&lt;<A HREF="./org/apache/http/pool/ConnFactory.html" title="type parameter in ConnFactory">T</A>,<A HREF="./org/apache/http/pool/ConnFactory.html" title="type parameter in ConnFactory">C</A>&gt; - Interface in <A HREF="./org/apache/http/pool/package-summary.html">org.apache.http.pool</A><DD>Factory for poolable blocking connections.<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#connMetrics"><B>connMetrics</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/ConnPool.html" title="interface in org.apache.http.pool"><B>ConnPool</B></A>&lt;<A HREF="./org/apache/http/pool/ConnPool.html" title="type parameter in ConnPool">T</A>,<A HREF="./org/apache/http/pool/ConnPool.html" title="type parameter in ConnPool">E</A>&gt; - Interface in <A HREF="./org/apache/http/pool/package-summary.html">org.apache.http.pool</A><DD><tt>ConnPool</tt> represents a shared pool connections can be leased from
 and released back to.<DT><A HREF="./org/apache/http/pool/ConnPoolControl.html" title="interface in org.apache.http.pool"><B>ConnPoolControl</B></A>&lt;<A HREF="./org/apache/http/pool/ConnPoolControl.html" title="type parameter in ConnPoolControl">T</A>&gt; - Interface in <A HREF="./org/apache/http/pool/package-summary.html">org.apache.http.pool</A><DD>Interface to control runtime properties of a <A HREF="./org/apache/http/pool/ConnPool.html" title="interface in org.apache.http.pool"><CODE>ConnPool</CODE></A> such as
 maximum total number of connections or maximum connections per route
 allowed.<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#connStrategy"><B>connStrategy</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/Consts.html" title="class in org.apache.http"><B>Consts</B></A> - Class in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Commons constants.<DT><A HREF="./org/apache/http/util/EntityUtils.html#consume(org.apache.http.HttpEntity)"><B>consume(HttpEntity)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EntityUtils.html" title="class in org.apache.http.util">EntityUtils</A>
<DD>Ensures that the entity content is fully consumed and the content stream, if exists,
 is closed.
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#consumeContent()"><B>consumeContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) Either use <A HREF="./org/apache/http/HttpEntity.html#getContent()"><CODE>HttpEntity.getContent()</CODE></A> and call <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html#close()" title="class or interface in java.io"><CODE>InputStream.close()</CODE></A> on that;
 otherwise call <A HREF="./org/apache/http/HttpEntity.html#writeTo(java.io.OutputStream)"><CODE>HttpEntity.writeTo(OutputStream)</CODE></A> which is required to free the resources.</I>
<DT><A HREF="./org/apache/http/entity/BasicHttpEntity.html#consumeContent()"><B>consumeContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BasicHttpEntity.html" title="class in org.apache.http.entity">BasicHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) Either use <A HREF="./org/apache/http/entity/BasicHttpEntity.html#getContent()"><CODE>BasicHttpEntity.getContent()</CODE></A> and call <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html#close()" title="class or interface in java.io"><CODE>InputStream.close()</CODE></A> on that;
 otherwise call <A HREF="./org/apache/http/entity/BasicHttpEntity.html#writeTo(java.io.OutputStream)"><CODE>BasicHttpEntity.writeTo(OutputStream)</CODE></A> which is required to free the resources.</I>
<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html#consumeContent()"><B>consumeContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity">HttpEntityWrapper</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) Either use <A HREF="./org/apache/http/entity/HttpEntityWrapper.html#getContent()"><CODE>HttpEntityWrapper.getContent()</CODE></A> and call <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html#close()" title="class or interface in java.io"><CODE>InputStream.close()</CODE></A> on that;
 otherwise call <A HREF="./org/apache/http/entity/HttpEntityWrapper.html#writeTo(java.io.OutputStream)"><CODE>HttpEntityWrapper.writeTo(OutputStream)</CODE></A> which is required to free the resources.</I>
<DT><A HREF="./org/apache/http/entity/InputStreamEntity.html#consumeContent()"><B>consumeContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/InputStreamEntity.html" title="class in org.apache.http.entity">InputStreamEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) Either use <A HREF="./org/apache/http/entity/InputStreamEntity.html#getContent()"><CODE>InputStreamEntity.getContent()</CODE></A> and call <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html#close()" title="class or interface in java.io"><CODE>InputStream.close()</CODE></A> on that;
 otherwise call <A HREF="./org/apache/http/entity/InputStreamEntity.html#writeTo(java.io.OutputStream)"><CODE>InputStreamEntity.writeTo(OutputStream)</CODE></A> which is required to free the resources.</I>
<DT><A HREF="./org/apache/http/HttpEntity.html#consumeContent()"><B>consumeContent()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http">HttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) Use <A HREF="./org/apache/http/util/EntityUtils.html#consume(org.apache.http.HttpEntity)"><CODE>EntityUtils.consume(HttpEntity)</CODE></A></I>
<DT><A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html#consumeContent(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>consumeContent(ContentDecoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html" title="class in org.apache.http.nio.entity">BufferingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html#consumeContent()"><B>consumeContent()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html" title="class in org.apache.http.nio.entity">BufferingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntity.html#consumeContent(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>consumeContent(ContentDecoder, IOControl)</B></A> - 
Method in interface org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntity.html" title="interface in org.apache.http.nio.entity">ConsumingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;Notification that content is available to be read from the decoder.
<DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html#consumeContent()"><B>consumeContent()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html" title="class in org.apache.http.nio.entity">ConsumingNHttpEntityTemplate</A>
<DD><B>Deprecated.</B>&nbsp;This method is equivalent to the <A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html#finish()"><CODE>ConsumingNHttpEntityTemplate.finish()</CODE></A> method.
<DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html#consumeContent(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>consumeContent(ContentDecoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html" title="class in org.apache.http.nio.entity">ConsumingNHttpEntityTemplate</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html#consumeContent()"><B>consumeContent()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html" title="class in org.apache.http.nio.entity">NHttpEntityWrapper</A>
<DD><B>Deprecated.</B>&nbsp;This method is equivalent to the <A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html#finish()"><CODE>NHttpEntityWrapper.finish()</CODE></A> method.
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#consumeContent(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>consumeContent(ContentDecoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>Use <A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#onContentReceived(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><CODE>AbstractAsyncRequestConsumer.onContentReceived(ContentDecoder, IOControl)</CODE></A> instead.
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#consumeContent(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>consumeContent(ContentDecoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>Use <A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#onContentReceived(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><CODE>AbstractAsyncResponseConsumer.onContentReceived(ContentDecoder, IOControl)</CODE></A> instead.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#consumeContent(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>consumeContent(ContentDecoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html#consumeContent(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>consumeContent(ContentDecoder, IOControl)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestConsumer</A>
<DD>Invoked to process a chunk of content from the <A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><CODE>ContentDecoder</CODE></A>.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html#consumeContent(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>consumeContent(ContentDecoder, IOControl)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncResponseConsumer</A>
<DD>Invoked to process a chunk of content from the <A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><CODE>ContentDecoder</CODE></A>.
<DT><A HREF="./org/apache/http/nio/util/ContentInputBuffer.html#consumeContent(org.apache.http.nio.ContentDecoder)"><B>consumeContent(ContentDecoder)</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ContentInputBuffer.html" title="interface in org.apache.http.nio.util">ContentInputBuffer</A>
<DD>Reads content from the given <A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><CODE>ContentDecoder</CODE></A> and stores it in
 this buffer.
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#consumeContent(org.apache.http.nio.ContentDecoder)"><B>consumeContent(ContentDecoder)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html#consumeContent(org.apache.http.nio.ContentDecoder)"><B>consumeContent(ContentDecoder)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html" title="class in org.apache.http.nio.util">SimpleInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#consumeInput(org.apache.http.nio.NHttpClientEventHandler)"><B>consumeInput(NHttpClientEventHandler)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#consumeInput(org.apache.http.nio.NHttpClientHandler)"><B>consumeInput(NHttpClientHandler)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#consumeInput(org.apache.http.nio.NHttpServerEventHandler)"><B>consumeInput(NHttpServerEventHandler)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#consumeInput(org.apache.http.nio.NHttpServiceHandler)"><B>consumeInput(NHttpServiceHandler)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientIOTarget.html#consumeInput(org.apache.http.nio.NHttpClientHandler)"><B>consumeInput(NHttpClientHandler)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientIOTarget.html" title="interface in org.apache.http.nio">NHttpClientIOTarget</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the connection is ready to consume input.
<DT><A HREF="./org/apache/http/nio/NHttpServerIOTarget.html#consumeInput(org.apache.http.nio.NHttpServiceHandler)"><B>consumeInput(NHttpServiceHandler)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerIOTarget.html" title="interface in org.apache.http.nio">NHttpServerIOTarget</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the connection is ready to consume input.
<DT><A HREF="./org/apache/http/util/EntityUtils.html#consumeQuietly(org.apache.http.HttpEntity)"><B>consumeQuietly(HttpEntity)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EntityUtils.html" title="class in org.apache.http.util">EntityUtils</A>
<DD>Ensures that the entity content is fully consumed and the content stream, if exists,
 is closed.
<DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntity.html" title="interface in org.apache.http.nio.entity"><B>ConsumingNHttpEntity</B></A> - Interface in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol"><CODE>BasicAsyncRequestConsumer</CODE></A> or <A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol"><CODE>BasicAsyncResponseConsumer</CODE></A></I><DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html" title="class in org.apache.http.nio.entity"><B>ConsumingNHttpEntityTemplate</B></A> - Class in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol"><CODE>BasicAsyncRequestConsumer</CODE></A> or <A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol"><CODE>BasicAsyncResponseConsumer</CODE></A></I><DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html#ConsumingNHttpEntityTemplate(org.apache.http.HttpEntity, org.apache.http.nio.entity.ContentListener)"><B>ConsumingNHttpEntityTemplate(HttpEntity, ContentListener)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html" title="class in org.apache.http.nio.entity">ConsumingNHttpEntityTemplate</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/HttpMessage.html#containsHeader(java.lang.String)"><B>containsHeader(String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Checks if a certain header is present in this message.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#containsHeader(java.lang.String)"><B>containsHeader(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#containsHeader(java.lang.String)"><B>containsHeader(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Tests if headers with the given name are contained within this group.
<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html#content"><B>content</B></A> - 
Variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity">ByteArrayEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/entity/StringEntity.html#content"><B>content</B></A> - 
Variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#content"><B>content</B></A> - 
Variable in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#content"><B>content</B></A> - 
Variable in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#CONTENT_BUFFER_SIZE"><B>CONTENT_BUFFER_SIZE</B></A> - 
Static variable in interface org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorPNames.html" title="interface in org.apache.http.nio.params">NIOReactorPNames</A>
<DD><B>Deprecated.</B>&nbsp;Determines the size of the content input/output buffers used
 to buffer data while receiving or transmitting HTTP messages.
<DT><A HREF="./org/apache/http/HttpHeaders.html#CONTENT_ENCODING"><B>CONTENT_ENCODING</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.3, RFC 2616 (HTTP/1.1) Section 14.11
<DT><A HREF="./org/apache/http/protocol/HTTP.html#CONTENT_ENCODING"><B>CONTENT_ENCODING</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#CONTENT_LANGUAGE"><B>CONTENT_LANGUAGE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.12
<DT><A HREF="./org/apache/http/protocol/HTTP.html#CONTENT_LEN"><B>CONTENT_LEN</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#CONTENT_LENGTH"><B>CONTENT_LENGTH</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.4, RFC 2616 (HTTP/1.1) Section 14.13
<DT><A HREF="./org/apache/http/HttpHeaders.html#CONTENT_LOCATION"><B>CONTENT_LOCATION</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.14
<DT><A HREF="./org/apache/http/HttpHeaders.html#CONTENT_MD5"><B>CONTENT_MD5</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.15
<DT><A HREF="./org/apache/http/HttpHeaders.html#CONTENT_RANGE"><B>CONTENT_RANGE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.16
<DT><A HREF="./org/apache/http/HttpHeaders.html#CONTENT_TYPE"><B>CONTENT_TYPE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.5, RFC 2616 (HTTP/1.1) Section 14.17
<DT><A HREF="./org/apache/http/protocol/HTTP.html#CONTENT_TYPE"><B>CONTENT_TYPE</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ContentListener.html#contentAvailable(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>contentAvailable(ContentDecoder, IOControl)</B></A> - 
Method in interface org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentListener.html" title="interface in org.apache.http.nio.entity">ContentListener</A>
<DD><B>Deprecated.</B>&nbsp;Notification that content is available to be read from the decoder.
<DT><A HREF="./org/apache/http/nio/entity/SkipContentListener.html#contentAvailable(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>contentAvailable(ContentDecoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/SkipContentListener.html" title="class in org.apache.http.nio.entity">SkipContentListener</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ContentBufferEntity.html" title="class in org.apache.http.nio.entity"><B>ContentBufferEntity</B></A> - Class in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD>HTTP entity wrapper whose content is provided by a
 <A HREF="./org/apache/http/nio/util/ContentInputBuffer.html" title="interface in org.apache.http.nio.util"><CODE>ContentInputBuffer</CODE></A>.<DT><A HREF="./org/apache/http/nio/entity/ContentBufferEntity.html#ContentBufferEntity(org.apache.http.HttpEntity, org.apache.http.nio.util.ContentInputBuffer)"><B>ContentBufferEntity(HttpEntity, ContentInputBuffer)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentBufferEntity.html" title="class in org.apache.http.nio.entity">ContentBufferEntity</A>
<DD>Creates new instance of ContentBufferEntity.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#contentDecoder"><B>contentDecoder</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><B>ContentDecoder</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>Abstract HTTP content decoder.<DT><A HREF="./org/apache/http/nio/ContentDecoderChannel.html" title="class in org.apache.http.nio"><B>ContentDecoderChannel</B></A> - Class in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>A <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/ReadableByteChannel.html" title="class or interface in java.nio.channels"><CODE>ReadableByteChannel</CODE></A> that delegates to a <A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><CODE>ContentDecoder</CODE></A>.<DT><A HREF="./org/apache/http/nio/ContentDecoderChannel.html#ContentDecoderChannel(org.apache.http.nio.ContentDecoder)"><B>ContentDecoderChannel(ContentDecoder)</B></A> - 
Constructor for class org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentDecoderChannel.html" title="class in org.apache.http.nio">ContentDecoderChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#contentEncoder"><B>contentEncoder</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio"><B>ContentEncoder</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>Abstract HTTP content encoder.<DT><A HREF="./org/apache/http/nio/ContentEncoderChannel.html" title="class in org.apache.http.nio"><B>ContentEncoderChannel</B></A> - Class in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>A <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/WritableByteChannel.html" title="class or interface in java.nio.channels"><CODE>WritableByteChannel</CODE></A> that delegates to a <A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio"><CODE>ContentEncoder</CODE></A>.<DT><A HREF="./org/apache/http/nio/ContentEncoderChannel.html#ContentEncoderChannel(org.apache.http.nio.ContentEncoder)"><B>ContentEncoderChannel(ContentEncoder)</B></A> - 
Constructor for class org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentEncoderChannel.html" title="class in org.apache.http.nio">ContentEncoderChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#contentEncoding"><B>contentEncoding</B></A> - 
Variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/ContentInputBuffer.html" title="interface in org.apache.http.nio.util"><B>ContentInputBuffer</B></A> - Interface in <A HREF="./org/apache/http/nio/util/package-summary.html">org.apache.http.nio.util</A><DD>Buffer for storing content streamed out from a <A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><CODE>ContentDecoder</CODE></A>.<DT><A HREF="./org/apache/http/nio/entity/ContentInputStream.html" title="class in org.apache.http.nio.entity"><B>ContentInputStream</B></A> - Class in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD><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> adaptor for <A HREF="./org/apache/http/nio/util/ContentInputBuffer.html" title="interface in org.apache.http.nio.util"><CODE>ContentInputBuffer</CODE></A>.<DT><A HREF="./org/apache/http/nio/entity/ContentInputStream.html#ContentInputStream(org.apache.http.nio.util.ContentInputBuffer)"><B>ContentInputStream(ContentInputBuffer)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentInputStream.html" title="class in org.apache.http.nio.entity">ContentInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html" title="class in org.apache.http.impl.io"><B>ContentLengthInputStream</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>Input stream that cuts off after a defined number of bytes.<DT><A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html#ContentLengthInputStream(org.apache.http.io.SessionInputBuffer, long)"><B>ContentLengthInputStream(SessionInputBuffer, long)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html" title="class in org.apache.http.impl.io">ContentLengthInputStream</A>
<DD>Wraps a session input buffer and cuts off output after a defined number
 of bytes.
<DT><A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html" title="class in org.apache.http.impl.io"><B>ContentLengthOutputStream</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>Output stream that cuts off after a defined number of bytes.<DT><A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html#ContentLengthOutputStream(org.apache.http.io.SessionOutputBuffer, long)"><B>ContentLengthOutputStream(SessionOutputBuffer, long)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html" title="class in org.apache.http.impl.io">ContentLengthOutputStream</A>
<DD>Wraps a session output buffer and cuts off output after a defined number
 of bytes.
<DT><A HREF="./org/apache/http/entity/ContentLengthStrategy.html" title="interface in org.apache.http.entity"><B>ContentLengthStrategy</B></A> - Interface in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>Represents a strategy to determine length of the enclosed content entity
 based on properties of the HTTP message.<DT><A HREF="./org/apache/http/nio/entity/ContentListener.html" title="interface in org.apache.http.nio.entity"><B>ContentListener</B></A> - Interface in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I><DT><A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html" title="interface in org.apache.http.nio.util"><B>ContentOutputBuffer</B></A> - Interface in <A HREF="./org/apache/http/nio/util/package-summary.html">org.apache.http.nio.util</A><DD>Buffer for storing content to be streamed out to a <A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio"><CODE>ContentEncoder</CODE></A>.<DT><A HREF="./org/apache/http/nio/entity/ContentOutputStream.html" title="class in org.apache.http.nio.entity"><B>ContentOutputStream</B></A> - Class in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD><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> adaptor for <A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html" title="interface in org.apache.http.nio.util"><CODE>ContentOutputBuffer</CODE></A>.<DT><A HREF="./org/apache/http/nio/entity/ContentOutputStream.html#ContentOutputStream(org.apache.http.nio.util.ContentOutputBuffer)"><B>ContentOutputStream(ContentOutputBuffer)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentOutputStream.html" title="class in org.apache.http.nio.entity">ContentOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentProducer.html" title="interface in org.apache.http.entity"><B>ContentProducer</B></A> - Interface in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>An abstract entity content producer.<DT><A HREF="./org/apache/http/ContentTooLongException.html" title="class in org.apache.http"><B>ContentTooLongException</B></A> - Exception in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Signals that HTTP entity content is too long.<DT><A HREF="./org/apache/http/ContentTooLongException.html#ContentTooLongException(java.lang.String)"><B>ContentTooLongException(String)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/ContentTooLongException.html" title="class in org.apache.http">ContentTooLongException</A>
<DD>Creates a new ContentTooLongException with the specified detail message.
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#contentType"><B>contentType</B></A> - 
Variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity"><B>ContentType</B></A> - Class in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>Content type information consisting of a MIME type and an optional charset.<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#context"><B>context</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#copy()"><B>copy()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Returns a copy of this object
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#copy()"><B>copy()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1)</I>
<DT><A HREF="./org/apache/http/params/DefaultedHttpParams.html#copy()"><B>copy()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/DefaultedHttpParams.html" title="class in org.apache.http.params">DefaultedHttpParams</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1)</I>
<DT><A HREF="./org/apache/http/params/HttpParams.html#copy()"><B>copy()</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1)</I>
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#copy()"><B>copy()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>Creates a copy of this instance
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#copyInterceptors(org.apache.http.protocol.BasicHttpProcessor)"><B>copyInterceptors(BasicHttpProcessor)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>Sets up the target to have the same list of interceptors
 as the current instance.
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#copyParams(org.apache.http.params.HttpParams)"><B>copyParams(HttpParams)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD>Copies the locally defined parameters to the argument parameters.
<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params"><B>CoreConnectionPNames</B></A> - Interface in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>Defines parameter names for connections in HttpCore.<DT><A HREF="./org/apache/http/params/CoreProtocolPNames.html" title="interface in org.apache.http.params"><B>CoreProtocolPNames</B></A> - Interface in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>Defines parameter names for protocol execution in HttpCore.<DT><A HREF="./org/apache/http/Consts.html#CR"><B>CR</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/Consts.html" title="class in org.apache.http">Consts</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#CR"><B>CR</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#create(java.lang.String, java.nio.charset.Charset)"><B>create(String, Charset)</B></A> - 
Static method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>Creates a new instance of <A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity"><CODE>ContentType</CODE></A>.
<DT><A HREF="./org/apache/http/entity/ContentType.html#create(java.lang.String)"><B>create(String)</B></A> - 
Static method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>Creates a new instance of <A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity"><CODE>ContentType</CODE></A> without a charset.
<DT><A HREF="./org/apache/http/entity/ContentType.html#create(java.lang.String, java.lang.String)"><B>create(String, String)</B></A> - 
Static method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>Creates a new instance of <A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity"><CODE>ContentType</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html#create(org.apache.http.HttpHost, org.apache.http.nio.reactor.IOSession)"><B>create(HttpHost, IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnFactory.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/pool/BasicConnFactory.html#create(java.net.Socket, org.apache.http.params.HttpParams)"><B>create(Socket, HttpParams)</B></A> - 
Method in class org.apache.http.impl.pool.<A HREF="./org/apache/http/impl/pool/BasicConnFactory.html" title="class in org.apache.http.impl.pool">BasicConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/pool/BasicConnFactory.html#create(org.apache.http.HttpHost)"><B>create(HttpHost)</B></A> - 
Method in class org.apache.http.impl.pool.<A HREF="./org/apache/http/impl/pool/BasicConnFactory.html" title="class in org.apache.http.impl.pool">BasicConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/NIOConnFactory.html#create(T, org.apache.http.nio.reactor.IOSession)"><B>create(T, IOSession)</B></A> - 
Method in interface org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/NIOConnFactory.html" title="interface in org.apache.http.nio.pool">NIOConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/ConnFactory.html#create(T)"><B>create(T)</B></A> - 
Method in interface org.apache.http.pool.<A HREF="./org/apache/http/pool/ConnFactory.html" title="interface in org.apache.http.pool">ConnFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#createByteBufferAllocator()"><B>createByteBufferAllocator()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/nio/util/HeapByteBufferAllocator.html" title="class in org.apache.http.nio.util"><CODE>HeapByteBufferAllocator</CODE></A> to be used
 by HTTP connections for allocating <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/ByteBuffer.html" title="class or interface in java.nio"><CODE>ByteBuffer</CODE></A> objects.
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#createByteBufferAllocator()"><B>createByteBufferAllocator()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/nio/util/HeapByteBufferAllocator.html" title="class in org.apache.http.nio.util"><CODE>HeapByteBufferAllocator</CODE></A> to be used
 by HTTP connections for allocating <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/ByteBuffer.html" title="class or interface in java.nio"><CODE>ByteBuffer</CODE></A> objects.
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#createByteBufferAllocator()"><B>createByteBufferAllocator()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/nio/util/HeapByteBufferAllocator.html" title="class in org.apache.http.nio.util"><CODE>HeapByteBufferAllocator</CODE></A> to be used
 by HTTP connections for allocating <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/ByteBuffer.html" title="class or interface in java.nio"><CODE>ByteBuffer</CODE></A> objects.
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#createByteBufferAllocator()"><B>createByteBufferAllocator()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/nio/util/HeapByteBufferAllocator.html" title="class in org.apache.http.nio.util"><CODE>HeapByteBufferAllocator</CODE></A> to be used
 by HTTP connections for allocating <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/ByteBuffer.html" title="class or interface in java.nio"><CODE>ByteBuffer</CODE></A> objects.
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio"><CODE>DefaultNHttpClientConnection</CODE></A> based on the
 given <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpClientIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpServerIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.html#createConnection(org.apache.http.nio.reactor.IOSession, org.apache.http.HttpResponseFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>createConnection(IOSession, HttpResponseFactory, ByteBufferAllocator, HttpParams)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.html#createConnection(org.apache.http.nio.reactor.IOSession, org.apache.http.HttpRequestFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>createConnection(IOSession, HttpRequestFactory, ByteBufferAllocator, HttpParams)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio"><CODE>DefaultNHttpServerConnection</CODE></A> based on the
 given <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio"><CODE>DefaultNHttpClientConnection</CODE></A> based on the
 given SSL <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.html#createConnection(org.apache.http.nio.reactor.IOSession, org.apache.http.HttpResponseFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>createConnection(IOSession, HttpResponseFactory, ByteBufferAllocator, HttpParams)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.html" title="class in org.apache.http.impl.nio">SSLNHttpClientConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.html" title="class in org.apache.http.impl.nio">SSLNHttpClientConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.html#createConnection(org.apache.http.nio.reactor.IOSession, org.apache.http.HttpRequestFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>createConnection(IOSession, HttpRequestFactory, ByteBufferAllocator, HttpParams)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.html" title="class in org.apache.http.impl.nio">SSLNHttpServerConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.html" title="class in org.apache.http.impl.nio">SSLNHttpServerConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio"><CODE>DefaultNHttpServerConnection</CODE></A> based on the
 given <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A>.
<DT><A HREF="./org/apache/http/nio/NHttpConnectionFactory.html#createConnection(org.apache.http.nio.reactor.IOSession)"><B>createConnection(IOSession)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpConnectionFactory.html" title="interface in org.apache.http.nio">NHttpConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#createConnectionMetrics(org.apache.http.io.HttpTransportMetrics, org.apache.http.io.HttpTransportMetrics)"><B>createConnectionMetrics(HttpTransportMetrics, HttpTransportMetrics)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#createConnectionMetrics(org.apache.http.io.HttpTransportMetrics, org.apache.http.io.HttpTransportMetrics)"><B>createConnectionMetrics(HttpTransportMetrics, HttpTransportMetrics)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#createConnectionMetrics(org.apache.http.io.HttpTransportMetrics, org.apache.http.io.HttpTransportMetrics)"><B>createConnectionMetrics(HttpTransportMetrics, HttpTransportMetrics)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#createContentDecoder(long, java.nio.channels.ReadableByteChannel, org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl)"><B>createContentDecoder(long, ReadableByteChannel, SessionInputBuffer, HttpTransportMetricsImpl)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>Factory method for <A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><CODE>ContentDecoder</CODE></A> instances.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#createContentEncoder(long, java.nio.channels.WritableByteChannel, org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl)"><B>createContentEncoder(long, WritableByteChannel, SessionOutputBuffer, HttpTransportMetricsImpl)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>Factory method for <A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio"><CODE>ContentEncoder</CODE></A> instances.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#createEntityDeserializer()"><B>createEntityDeserializer()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/impl/entity/EntityDeserializer.html" title="class in org.apache.http.impl.entity"><CODE>EntityDeserializer</CODE></A> with the
 <A HREF="./org/apache/http/impl/entity/LaxContentLengthStrategy.html" title="class in org.apache.http.impl.entity"><CODE>LaxContentLengthStrategy</CODE></A> implementation to be used for
 de-serializing entities received over this connection.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#createEntityDeserializer()"><B>createEntityDeserializer()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/impl/entity/EntityDeserializer.html" title="class in org.apache.http.impl.entity"><CODE>EntityDeserializer</CODE></A> with the
 <A HREF="./org/apache/http/impl/entity/LaxContentLengthStrategy.html" title="class in org.apache.http.impl.entity"><CODE>LaxContentLengthStrategy</CODE></A> implementation to be used for
 de-serializing entities received over this connection.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#createEntitySerializer()"><B>createEntitySerializer()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/impl/entity/EntitySerializer.html" title="class in org.apache.http.impl.entity"><CODE>EntitySerializer</CODE></A> with the
 <A HREF="./org/apache/http/impl/entity/StrictContentLengthStrategy.html" title="class in org.apache.http.impl.entity"><CODE>StrictContentLengthStrategy</CODE></A> implementation to be used for
 serializing HTTP entities sent over this connection.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#createEntitySerializer()"><B>createEntitySerializer()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/impl/entity/EntitySerializer.html" title="class in org.apache.http.impl.entity"><CODE>EntitySerializer</CODE></A> with the
 <A HREF="./org/apache/http/impl/entity/StrictContentLengthStrategy.html" title="class in org.apache.http.impl.entity"><CODE>StrictContentLengthStrategy</CODE></A> implementation to be used for
 serializing HTTP entities sent over this connection.
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html#createEntry(org.apache.http.HttpHost, org.apache.http.nio.NHttpClientConnection)"><B>createEntry(HttpHost, NHttpClientConnection)</B></A> - 
Method in class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/pool/BasicConnPool.html#createEntry(org.apache.http.HttpHost, org.apache.http.HttpClientConnection)"><B>createEntry(HttpHost, HttpClientConnection)</B></A> - 
Method in class org.apache.http.impl.pool.<A HREF="./org/apache/http/impl/pool/BasicConnPool.html" title="class in org.apache.http.impl.pool">BasicConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#createEntry(T, C)"><B>createEntry(T, C)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#createEntry(T, C)"><B>createEntry(T, C)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>Creates a new entry for the given connection with the given route.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#createHeaderElement(java.lang.String, java.lang.String, org.apache.http.NameValuePair[])"><B>createHeaderElement(String, String, NameValuePair[])</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>Creates a header element.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#createHttpRequestFactory()"><B>createHttpRequestFactory()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/impl/DefaultHttpRequestFactory.html" title="class in org.apache.http.impl"><CODE>DefaultHttpRequestFactory</CODE></A> to be used
 for creating <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A> objects received by over this
 connection.
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#createHttpRequestFactory()"><B>createHttpRequestFactory()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/DefaultHttpRequestFactory.html" title="class in org.apache.http.impl"><CODE>DefaultHttpRequestFactory</CODE></A> to be used
 by HTTP connections for creating <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A> objects.
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#createHttpRequestFactory()"><B>createHttpRequestFactory()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/DefaultHttpRequestFactory.html" title="class in org.apache.http.impl"><CODE>DefaultHttpRequestFactory</CODE></A> to be used
 by HTTP connections for creating <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A> objects.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#createHttpResponseFactory()"><B>createHttpResponseFactory()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html" title="class in org.apache.http.impl"><CODE>DefaultHttpResponseFactory</CODE></A> to be used
 for creating <A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><CODE>HttpResponse</CODE></A> objects received by over this
 connection.
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#createHttpResponseFactory()"><B>createHttpResponseFactory()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html" title="class in org.apache.http.impl"><CODE>DefaultHttpResponseFactory</CODE></A> to be used
 by HTTP connections for creating <A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><CODE>HttpResponse</CODE></A> objects.
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#createHttpResponseFactory()"><B>createHttpResponseFactory()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html" title="class in org.apache.http.impl"><CODE>DefaultHttpResponseFactory</CODE></A> to be used
 by HTTP connections for creating <A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><CODE>HttpResponse</CODE></A> objects.
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#createIncomingContentStrategy()"><B>createIncomingContentStrategy()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#createIncomingContentStrategy()"><B>createIncomingContentStrategy()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html#createMessage(org.apache.http.util.CharArrayBuffer)"><B>createMessage(CharArrayBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageParser</A>
<DD>Creates <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A> instance based on the content of the input
  buffer containing the first line of the incoming HTTP message.
<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.html#createMessage(org.apache.http.util.CharArrayBuffer)"><B>createMessage(CharArrayBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.html" title="class in org.apache.http.impl.nio.codecs">DefaultHttpRequestParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.html#createMessage(org.apache.http.util.CharArrayBuffer)"><B>createMessage(CharArrayBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.html" title="class in org.apache.http.impl.nio.codecs">DefaultHttpResponseParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/HttpRequestParser.html#createMessage(org.apache.http.util.CharArrayBuffer)"><B>createMessage(CharArrayBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/HttpRequestParser.html" title="class in org.apache.http.impl.nio.codecs">HttpRequestParser</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/HttpResponseParser.html#createMessage(org.apache.http.util.CharArrayBuffer)"><B>createMessage(CharArrayBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/HttpResponseParser.html" title="class in org.apache.http.impl.nio.codecs">HttpResponseParser</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#createNameValuePair(java.lang.String, java.lang.String)"><B>createNameValuePair(String, String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>Creates a name-value pair.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#createOutgoingContentStrategy()"><B>createOutgoingContentStrategy()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#createProtocolVersion(int, int)"><B>createProtocolVersion(int, int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>Creates a protocol version.
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#createRequestLine(java.lang.String, java.lang.String, org.apache.http.ProtocolVersion)"><B>createRequestLine(String, String, ProtocolVersion)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>Instantiates a new request line.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#createRequestParser(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams)"><B>createRequestParser(SessionInputBuffer, HttpRequestFactory, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/io/HttpMessageParser.html" title="interface in org.apache.http.io"><CODE>HttpMessageParser</CODE></A> to be used for parsing
 HTTP requests received over this connection.
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#createRequestParser(org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams)"><B>createRequestParser(SessionInputBuffer, HttpRequestFactory, HttpParams)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/nio/NHttpMessageParser.html" title="interface in org.apache.http.nio"><CODE>NHttpMessageParser</CODE></A> to be used
 by this connection for parsing incoming <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A> messages.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#createRequestWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams)"><B>createRequestWriter(SessionOutputBuffer, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/io/HttpMessageWriter.html" title="interface in org.apache.http.io"><CODE>HttpMessageWriter</CODE></A> to be used for
 writing out HTTP requests sent over this connection.
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#createRequestWriter(org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.params.HttpParams)"><B>createRequestWriter(SessionOutputBuffer, HttpParams)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/nio/NHttpMessageWriter.html" title="interface in org.apache.http.nio"><CODE>NHttpMessageWriter</CODE></A> to be used
 by this connection for writing out outgoing <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A> messages.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#createResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams)"><B>createResponseParser(SessionInputBuffer, HttpResponseFactory, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/io/HttpMessageParser.html" title="interface in org.apache.http.io"><CODE>HttpMessageParser</CODE></A> to be used for parsing
 HTTP responses received over this connection.
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#createResponseParser(org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams)"><B>createResponseParser(SessionInputBuffer, HttpResponseFactory, HttpParams)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/nio/NHttpMessageParser.html" title="interface in org.apache.http.nio"><CODE>NHttpMessageParser</CODE></A> to be used
 by this connection for parsing incoming <A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><CODE>HttpResponse</CODE></A> messages.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#createResponseWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams)"><B>createResponseWriter(SessionOutputBuffer, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/io/HttpMessageWriter.html" title="interface in org.apache.http.io"><CODE>HttpMessageWriter</CODE></A> to be used for
 writing out HTTP responses sent over this connection.
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#createResponseWriter(org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.params.HttpParams)"><B>createResponseWriter(SessionOutputBuffer, HttpParams)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/nio/NHttpMessageWriter.html" title="interface in org.apache.http.nio"><CODE>NHttpMessageWriter</CODE></A> to be used
 by this connection for writing out outgoing <A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><CODE>HttpResponse</CODE></A>
 messages.
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#createSessionInputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams)"><B>createSessionInputBuffer(Socket, int, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/impl/io/SocketInputBuffer.html" title="class in org.apache.http.impl.io"><CODE>SocketInputBuffer</CODE></A> to be used for
 receiving data from the given <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A>.
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#createSessionInputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams)"><B>createSessionInputBuffer(Socket, int, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/impl/io/SocketInputBuffer.html" title="class in org.apache.http.impl.io"><CODE>SocketInputBuffer</CODE></A> to be used for
 receiving data from the given <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A>.
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#createSessionOutputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams)"><B>createSessionOutputBuffer(Socket, int, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionOutputBuffer</CODE></A> to be used for
 sending data to the given <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A>.
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#createSessionOutputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams)"><B>createSessionOutputBuffer(Socket, int, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>Creates an instance of <A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionOutputBuffer</CODE></A> to be used for
 sending data to the given <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html#createSSLConnection(org.apache.http.impl.nio.reactor.SSLIOSession)"><B>createSSLConnection(SSLIOSession)</B></A> - 
Method in class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html#createSSLConnection(org.apache.http.impl.nio.reactor.SSLIOSession)"><B>createSSLConnection(SSLIOSession)</B></A> - 
Method in class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html#createSSLIOSession(org.apache.http.nio.reactor.IOSession, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLSetupHandler)"><B>createSSLIOSession(IOSession, SSLContext, SSLSetupHandler)</B></A> - 
Method in class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/nio/reactor/SSLIOSession.html" title="class in org.apache.http.impl.nio.reactor"><CODE>SSLIOSession</CODE></A> decorating the given
 <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html#createSSLIOSession(org.apache.http.nio.reactor.IOSession, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLSetupHandler)"><B>createSSLIOSession(IOSession, SSLContext, SSLSetupHandler)</B></A> - 
Method in class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/nio/reactor/SSLIOSession.html" title="class in org.apache.http.impl.nio.reactor"><CODE>SSLIOSession</CODE></A> decorating the given
 <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#createSSLIOSession(org.apache.http.nio.reactor.IOSession, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLIOSessionHandler)"><B>createSSLIOSession(IOSession, SSLContext, SSLIOSessionHandler)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/nio/reactor/SSLIOSession.html" title="class in org.apache.http.impl.nio.reactor"><CODE>SSLIOSession</CODE></A> decorating the given
 <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#createSSLIOSession(org.apache.http.nio.reactor.IOSession, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLIOSessionHandler)"><B>createSSLIOSession(IOSession, SSLContext, SSLIOSessionHandler)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of <A HREF="./org/apache/http/impl/nio/reactor/SSLIOSession.html" title="class in org.apache.http.impl.nio.reactor"><CODE>SSLIOSession</CODE></A> decorating the given
 <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A>.
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#createStatusLine(org.apache.http.ProtocolVersion, int, java.lang.String)"><B>createStatusLine(ProtocolVersion, int, String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>Instantiates a new status line.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#createToken(java.lang.String, int, int)"><B>createToken(String, int, int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Creates a new token to be returned.
<DT><A HREF="./org/apache/http/impl/DefaultConnectionReuseStrategy.html#createTokenIterator(org.apache.http.HeaderIterator)"><B>createTokenIterator(HeaderIterator)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultConnectionReuseStrategy.html" title="class in org.apache.http.impl">DefaultConnectionReuseStrategy</A>
<DD>Creates a token iterator from a header iterator.
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#createTransportMetrics()"><B>createTransportMetrics()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#createTransportMetrics()"><B>createTransportMetrics()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#createTransportMetrics()"><B>createTransportMetrics()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#currentHeader"><B>currentHeader</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>The value of the current header.
<DT><A HREF="./org/apache/http/message/BasicHeaderIterator.html#currentIndex"><B>currentIndex</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message">BasicHeaderIterator</A>
<DD>The position of the next header in <A HREF="./org/apache/http/message/BasicHeaderIterator.html#allHeaders"><CODE>allHeaders</CODE></A>.
<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html#currentIndex"><B>currentIndex</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message">BasicListHeaderIterator</A>
<DD>The position of the next header in <A HREF="./org/apache/http/message/BasicListHeaderIterator.html#allHeaders"><CODE>allHeaders</CODE></A>.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#currentToken"><B>currentToken</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>The token to be returned by the next call to <A HREF="./org/apache/http/message/BasicTokenIterator.html#currentToken"><CODE>BasicTokenIterator.currentToken</CODE></A>.
</DL>
<HR>
<A NAME="_D_"><!-- --></A><H2>
<B>D</B></H2>
<DL>
<DT><A HREF="./org/apache/http/HttpHeaders.html#DATE"><B>DATE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.6, RFC 2616 (HTTP/1.1) Section 14.18
<DT><A HREF="./org/apache/http/protocol/HTTP.html#DATE_HEADER"><B>DATE_HEADER</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#DAV"><B>DAV</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2518 (WevDAV) Section 9.1
<DT><A HREF="./org/apache/http/protocol/HTTP.html#DEF_CONTENT_CHARSET"><B>DEF_CONTENT_CHARSET</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#DEF_PROTOCOL_CHARSET"><B>DEF_PROTOCOL_CHARSET</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#DEFAULT"><B>DEFAULT</B></A> - 
Static variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>A default instance of this class, for use as default or fallback.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#DEFAULT"><B>DEFAULT</B></A> - 
Static variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>A default instance of this class, for use as default or fallback.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#DEFAULT"><B>DEFAULT</B></A> - 
Static variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>A default instance of this class, for use as default or fallback.
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#DEFAULT"><B>DEFAULT</B></A> - 
Static variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>A default instance of this class, for use as default or fallback.
<DT><A HREF="./org/apache/http/entity/ContentType.html#DEFAULT_BINARY"><B>DEFAULT_BINARY</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#DEFAULT_CONTENT_CHARSET"><B>DEFAULT_CONTENT_CHARSET</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/protocol/HTTP.html#DEFAULT_CONTENT_TYPE"><B>DEFAULT_CONTENT_TYPE</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/protocol/HTTP.html#DEFAULT_PROTOCOL_CHARSET"><B>DEFAULT_PROTOCOL_CHARSET</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/HttpHost.html#DEFAULT_SCHEME_NAME"><B>DEFAULT_SCHEME_NAME</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>The default scheme is "http".
<DT><A HREF="./org/apache/http/entity/ContentType.html#DEFAULT_TEXT"><B>DEFAULT_TEXT</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio"><B>DefaultClientIOEventDispatch</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio"><CODE>DefaultHttpClientIODispatch</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#DefaultClientIOEventDispatch(org.apache.http.nio.NHttpClientHandler, org.apache.http.params.HttpParams)"><B>DefaultClientIOEventDispatch(NHttpClientHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates a new instance of this class to be used for dispatching I/O event
 notifications to the given protocol handler.
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html" title="class in org.apache.http.impl.nio.reactor"><B>DefaultConnectingIOReactor</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Default implementation of <A HREF="./org/apache/http/nio/reactor/ConnectingIOReactor.html" title="interface in org.apache.http.nio.reactor"><CODE>ConnectingIOReactor</CODE></A>.<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html#DefaultConnectingIOReactor(org.apache.http.impl.nio.reactor.IOReactorConfig, java.util.concurrent.ThreadFactory)"><B>DefaultConnectingIOReactor(IOReactorConfig, ThreadFactory)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultConnectingIOReactor</A>
<DD>Creates an instance of DefaultConnectingIOReactor with the given configuration.
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html#DefaultConnectingIOReactor(org.apache.http.impl.nio.reactor.IOReactorConfig)"><B>DefaultConnectingIOReactor(IOReactorConfig)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultConnectingIOReactor</A>
<DD>Creates an instance of DefaultConnectingIOReactor with the given configuration.
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html#DefaultConnectingIOReactor()"><B>DefaultConnectingIOReactor()</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultConnectingIOReactor</A>
<DD>Creates an instance of DefaultConnectingIOReactor with default configuration.
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html#DefaultConnectingIOReactor(int, java.util.concurrent.ThreadFactory, org.apache.http.params.HttpParams)"><B>DefaultConnectingIOReactor(int, ThreadFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultConnectingIOReactor</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html#DefaultConnectingIOReactor(org.apache.http.impl.nio.reactor.IOReactorConfig, java.util.concurrent.ThreadFactory)"><CODE>DefaultConnectingIOReactor.DefaultConnectingIOReactor(IOReactorConfig, ThreadFactory)</CODE></A></I>
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html#DefaultConnectingIOReactor(int, org.apache.http.params.HttpParams)"><B>DefaultConnectingIOReactor(int, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultConnectingIOReactor</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html#DefaultConnectingIOReactor(org.apache.http.impl.nio.reactor.IOReactorConfig)"><CODE>DefaultConnectingIOReactor.DefaultConnectingIOReactor(IOReactorConfig)</CODE></A></I>
<DT><A HREF="./org/apache/http/impl/DefaultConnectionReuseStrategy.html" title="class in org.apache.http.impl"><B>DefaultConnectionReuseStrategy</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>Default implementation of a strategy deciding about connection re-use.<DT><A HREF="./org/apache/http/impl/DefaultConnectionReuseStrategy.html#DefaultConnectionReuseStrategy()"><B>DefaultConnectionReuseStrategy()</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultConnectionReuseStrategy.html" title="class in org.apache.http.impl">DefaultConnectionReuseStrategy</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/DefaultedHttpContext.html" title="class in org.apache.http.protocol"><B>DefaultedHttpContext</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD><A HREF="./org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol"><CODE>HttpContext</CODE></A> implementation that delegates resolution of an attribute
 to the given default <A HREF="./org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol"><CODE>HttpContext</CODE></A> instance if the attribute is not
 present in the local one.<DT><A HREF="./org/apache/http/protocol/DefaultedHttpContext.html#DefaultedHttpContext(org.apache.http.protocol.HttpContext, org.apache.http.protocol.HttpContext)"><B>DefaultedHttpContext(HttpContext, HttpContext)</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/DefaultedHttpContext.html" title="class in org.apache.http.protocol">DefaultedHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/DefaultedHttpParams.html" title="class in org.apache.http.params"><B>DefaultedHttpParams</B></A> - Class in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD><A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params"><CODE>HttpParams</CODE></A> implementation that delegates resolution of a parameter
 to the given default <A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params"><CODE>HttpParams</CODE></A> instance if the parameter is not
 present in the local one.<DT><A HREF="./org/apache/http/params/DefaultedHttpParams.html#DefaultedHttpParams(org.apache.http.params.HttpParams, org.apache.http.params.HttpParams)"><B>DefaultedHttpParams(HttpParams, HttpParams)</B></A> - 
Constructor for class org.apache.http.params.<A HREF="./org/apache/http/params/DefaultedHttpParams.html" title="class in org.apache.http.params">DefaultedHttpParams</A>
<DD>Create the defaulted set of HttpParams.
<DT><A HREF="./org/apache/http/impl/DefaultHttpClientConnection.html" title="class in org.apache.http.impl"><B>DefaultHttpClientConnection</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>Default implementation of a client-side HTTP connection.<DT><A HREF="./org/apache/http/impl/DefaultHttpClientConnection.html#DefaultHttpClientConnection()"><B>DefaultHttpClientConnection()</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpClientConnection.html" title="class in org.apache.http.impl">DefaultHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio"><B>DefaultHttpClientIODispatch</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD>Default <A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html" title="interface in org.apache.http.nio.reactor"><CODE>IOEventDispatch</CODE></A> implementation that supports both plain (non-encrypted)
 and SSL encrypted client side HTTP connections.<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html#DefaultHttpClientIODispatch(org.apache.http.nio.NHttpClientEventHandler, org.apache.http.nio.NHttpConnectionFactory)"><B>DefaultHttpClientIODispatch(NHttpClientEventHandler, NHttpConnectionFactory&lt;DefaultNHttpClientConnection&gt;)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpClientIODispatch</A>
<DD>Creates a new instance of this class to be used for dispatching I/O event
 notifications to the given protocol handler.
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html#DefaultHttpClientIODispatch(org.apache.http.nio.NHttpClientEventHandler, org.apache.http.params.HttpParams)"><B>DefaultHttpClientIODispatch(NHttpClientEventHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpClientIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html#DefaultHttpClientIODispatch(org.apache.http.nio.NHttpClientEventHandler, javax.net.ssl.SSLContext, org.apache.http.nio.reactor.ssl.SSLSetupHandler, org.apache.http.params.HttpParams)"><B>DefaultHttpClientIODispatch(NHttpClientEventHandler, SSLContext, SSLSetupHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpClientIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html#DefaultHttpClientIODispatch(org.apache.http.nio.NHttpClientEventHandler, javax.net.ssl.SSLContext, org.apache.http.params.HttpParams)"><B>DefaultHttpClientIODispatch(NHttpClientEventHandler, SSLContext, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpClientIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/DefaultHttpRequestFactory.html" title="class in org.apache.http.impl"><B>DefaultHttpRequestFactory</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>Default factory for creating <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A> objects.<DT><A HREF="./org/apache/http/impl/DefaultHttpRequestFactory.html#DefaultHttpRequestFactory()"><B>DefaultHttpRequestFactory()</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpRequestFactory.html" title="class in org.apache.http.impl">DefaultHttpRequestFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/DefaultHttpRequestParser.html" title="class in org.apache.http.impl.io"><B>DefaultHttpRequestParser</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>HTTP request parser that obtain its input from an instance
 of <A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionInputBuffer</CODE></A>.<DT><A HREF="./org/apache/http/impl/io/DefaultHttpRequestParser.html#DefaultHttpRequestParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams)"><B>DefaultHttpRequestParser(SessionInputBuffer, LineParser, HttpRequestFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/DefaultHttpRequestParser.html" title="class in org.apache.http.impl.io">DefaultHttpRequestParser</A>
<DD>Creates an instance of this class.
<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.html" title="class in org.apache.http.impl.nio.codecs"><B>DefaultHttpRequestParser</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Default <A HREF="./org/apache/http/nio/NHttpMessageParser.html" title="interface in org.apache.http.nio"><CODE>NHttpMessageParser</CODE></A> implementation for <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A>s.<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.html#DefaultHttpRequestParser(org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams)"><B>DefaultHttpRequestParser(SessionInputBuffer, LineParser, HttpRequestFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.html" title="class in org.apache.http.impl.nio.codecs">DefaultHttpRequestParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.html" title="class in org.apache.http.impl.nio.codecs"><B>DefaultHttpRequestWriter</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Default <A HREF="./org/apache/http/nio/NHttpMessageWriter.html" title="interface in org.apache.http.nio"><CODE>NHttpMessageWriter</CODE></A> implementation for <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A>s.<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.html#DefaultHttpRequestWriter(org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams)"><B>DefaultHttpRequestWriter(SessionOutputBuffer, LineFormatter, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.html" title="class in org.apache.http.impl.nio.codecs">DefaultHttpRequestWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html" title="class in org.apache.http.impl"><B>DefaultHttpResponseFactory</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>Default factory for creating <A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><CODE>HttpResponse</CODE></A> objects.<DT><A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html#DefaultHttpResponseFactory(org.apache.http.ReasonPhraseCatalog)"><B>DefaultHttpResponseFactory(ReasonPhraseCatalog)</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html" title="class in org.apache.http.impl">DefaultHttpResponseFactory</A>
<DD>Creates a new response factory with the given catalog.
<DT><A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html#DefaultHttpResponseFactory()"><B>DefaultHttpResponseFactory()</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html" title="class in org.apache.http.impl">DefaultHttpResponseFactory</A>
<DD>Creates a new response factory with the default catalog.
<DT><A HREF="./org/apache/http/impl/io/DefaultHttpResponseParser.html" title="class in org.apache.http.impl.io"><B>DefaultHttpResponseParser</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>HTTP response parser that obtain its input from an instance
 of <A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionInputBuffer</CODE></A>.<DT><A HREF="./org/apache/http/impl/io/DefaultHttpResponseParser.html#DefaultHttpResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams)"><B>DefaultHttpResponseParser(SessionInputBuffer, LineParser, HttpResponseFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/DefaultHttpResponseParser.html" title="class in org.apache.http.impl.io">DefaultHttpResponseParser</A>
<DD>Creates an instance of this class.
<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.html" title="class in org.apache.http.impl.nio.codecs"><B>DefaultHttpResponseParser</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Default <A HREF="./org/apache/http/nio/NHttpMessageParser.html" title="interface in org.apache.http.nio"><CODE>NHttpMessageParser</CODE></A> implementation for <A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><CODE>HttpResponse</CODE></A>s.<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.html#DefaultHttpResponseParser(org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams)"><B>DefaultHttpResponseParser(SessionInputBuffer, LineParser, HttpResponseFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.html" title="class in org.apache.http.impl.nio.codecs">DefaultHttpResponseParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.html" title="class in org.apache.http.impl.nio.codecs"><B>DefaultHttpResponseWriter</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Default <A HREF="./org/apache/http/nio/NHttpMessageWriter.html" title="interface in org.apache.http.nio"><CODE>NHttpMessageWriter</CODE></A> implementation for <A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><CODE>HttpResponse</CODE></A>s.<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.html#DefaultHttpResponseWriter(org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams)"><B>DefaultHttpResponseWriter(SessionOutputBuffer, LineFormatter, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.html" title="class in org.apache.http.impl.nio.codecs">DefaultHttpResponseWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/DefaultHttpServerConnection.html" title="class in org.apache.http.impl"><B>DefaultHttpServerConnection</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>Default implementation of a server-side HTTP connection.<DT><A HREF="./org/apache/http/impl/DefaultHttpServerConnection.html#DefaultHttpServerConnection()"><B>DefaultHttpServerConnection()</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpServerConnection.html" title="class in org.apache.http.impl">DefaultHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio"><B>DefaultHttpServerIODispatch</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD>Default <A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html" title="interface in org.apache.http.nio.reactor"><CODE>IOEventDispatch</CODE></A> implementation that supports both plain (non-encrypted)
 and SSL encrypted server side HTTP connections.<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html#DefaultHttpServerIODispatch(org.apache.http.nio.NHttpServerEventHandler, org.apache.http.nio.NHttpConnectionFactory)"><B>DefaultHttpServerIODispatch(NHttpServerEventHandler, NHttpConnectionFactory&lt;DefaultNHttpServerConnection&gt;)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpServerIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html#DefaultHttpServerIODispatch(org.apache.http.nio.NHttpServerEventHandler, org.apache.http.params.HttpParams)"><B>DefaultHttpServerIODispatch(NHttpServerEventHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpServerIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html#DefaultHttpServerIODispatch(org.apache.http.nio.NHttpServerEventHandler, javax.net.ssl.SSLContext, org.apache.http.nio.reactor.ssl.SSLSetupHandler, org.apache.http.params.HttpParams)"><B>DefaultHttpServerIODispatch(NHttpServerEventHandler, SSLContext, SSLSetupHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpServerIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html#DefaultHttpServerIODispatch(org.apache.http.nio.NHttpServerEventHandler, javax.net.ssl.SSLContext, org.apache.http.params.HttpParams)"><B>DefaultHttpServerIODispatch(NHttpServerEventHandler, SSLContext, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpServerIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor"><B>DefaultListeningIOReactor</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Default implementation of <A HREF="./org/apache/http/nio/reactor/ListeningIOReactor.html" title="interface in org.apache.http.nio.reactor"><CODE>ListeningIOReactor</CODE></A>.<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#DefaultListeningIOReactor(org.apache.http.impl.nio.reactor.IOReactorConfig, java.util.concurrent.ThreadFactory)"><B>DefaultListeningIOReactor(IOReactorConfig, ThreadFactory)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultListeningIOReactor</A>
<DD>Creates an instance of DefaultListeningIOReactor with the given configuration.
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#DefaultListeningIOReactor(org.apache.http.impl.nio.reactor.IOReactorConfig)"><B>DefaultListeningIOReactor(IOReactorConfig)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultListeningIOReactor</A>
<DD>Creates an instance of DefaultListeningIOReactor with the given configuration.
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#DefaultListeningIOReactor()"><B>DefaultListeningIOReactor()</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultListeningIOReactor</A>
<DD>Creates an instance of DefaultListeningIOReactor with default configuration.
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#DefaultListeningIOReactor(int, java.util.concurrent.ThreadFactory, org.apache.http.params.HttpParams)"><B>DefaultListeningIOReactor(int, ThreadFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultListeningIOReactor</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#DefaultListeningIOReactor(org.apache.http.impl.nio.reactor.IOReactorConfig, java.util.concurrent.ThreadFactory)"><CODE>DefaultListeningIOReactor.DefaultListeningIOReactor(IOReactorConfig, ThreadFactory)</CODE></A></I>
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#DefaultListeningIOReactor(int, org.apache.http.params.HttpParams)"><B>DefaultListeningIOReactor(int, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultListeningIOReactor</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#DefaultListeningIOReactor(org.apache.http.impl.nio.reactor.IOReactorConfig)"><CODE>DefaultListeningIOReactor.DefaultListeningIOReactor(IOReactorConfig)</CODE></A></I>
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio"><B>DefaultNHttpClientConnection</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD>Default implementation of the <A HREF="./org/apache/http/nio/NHttpClientConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpClientConnection</CODE></A> interface.<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#DefaultNHttpClientConnection(org.apache.http.nio.reactor.IOSession, org.apache.http.HttpResponseFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>DefaultNHttpClientConnection(IOSession, HttpResponseFactory, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>Creates a new instance of this class given the underlying I/O session.
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.html" title="class in org.apache.http.impl.nio"><B>DefaultNHttpClientConnectionFactory</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD>Factory for plain (non-encrypted), non-blocking <A HREF="./org/apache/http/nio/NHttpClientConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpClientConnection</CODE></A>s.<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.html#DefaultNHttpClientConnectionFactory(org.apache.http.HttpResponseFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>DefaultNHttpClientConnectionFactory(HttpResponseFactory, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.html#DefaultNHttpClientConnectionFactory(org.apache.http.params.HttpParams)"><B>DefaultNHttpClientConnectionFactory(HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnectionFactory.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio"><B>DefaultNHttpServerConnection</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD>Default implementation of the <A HREF="./org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpServerConnection</CODE></A> interface.<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#DefaultNHttpServerConnection(org.apache.http.nio.reactor.IOSession, org.apache.http.HttpRequestFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>DefaultNHttpServerConnection(IOSession, HttpRequestFactory, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>Creates a new instance of this class given the underlying I/O session.
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.html" title="class in org.apache.http.impl.nio"><B>DefaultNHttpServerConnectionFactory</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD>Factory for plain (non-encrypted), non-blocking <A HREF="./org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpServerConnection</CODE></A>s.<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.html#DefaultNHttpServerConnectionFactory(org.apache.http.HttpRequestFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>DefaultNHttpServerConnectionFactory(HttpRequestFactory, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.html#DefaultNHttpServerConnectionFactory(org.apache.http.params.HttpParams)"><B>DefaultNHttpServerConnectionFactory(HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnectionFactory.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio"><B>DefaultServerIOEventDispatch</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio"><CODE>DefaultHttpServerIODispatch</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#DefaultServerIOEventDispatch(org.apache.http.nio.NHttpServiceHandler, org.apache.http.params.HttpParams)"><B>DefaultServerIOEventDispatch(NHttpServiceHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates a new instance of this class to be used for dispatching I/O event
 notifications to the given protocol handler.
<DT><A HREF="./org/apache/http/HttpHeaders.html#DEPTH"><B>DEPTH</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2518 (WevDAV) Section 9.2
<DT><A HREF="./org/apache/http/impl/entity/EntityDeserializer.html#deserialize(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpMessage)"><B>deserialize(SessionInputBuffer, HttpMessage)</B></A> - 
Method in class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/EntityDeserializer.html" title="class in org.apache.http.impl.entity">EntityDeserializer</A>
<DD>Creates an <A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http"><CODE>HttpEntity</CODE></A> based on properties of the given message.
<DT><A HREF="./org/apache/http/HttpHeaders.html#DESTINATION"><B>DESTINATION</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2518 (WevDAV) Section 9.3
<DT><A HREF="./org/apache/http/entity/ContentLengthStrategy.html#determineLength(org.apache.http.HttpMessage)"><B>determineLength(HttpMessage)</B></A> - 
Method in interface org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentLengthStrategy.html" title="interface in org.apache.http.entity">ContentLengthStrategy</A>
<DD>Returns length of the given message in bytes.
<DT><A HREF="./org/apache/http/impl/entity/DisallowIdentityContentLengthStrategy.html#determineLength(org.apache.http.HttpMessage)"><B>determineLength(HttpMessage)</B></A> - 
Method in class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/DisallowIdentityContentLengthStrategy.html" title="class in org.apache.http.impl.entity">DisallowIdentityContentLengthStrategy</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/entity/LaxContentLengthStrategy.html#determineLength(org.apache.http.HttpMessage)"><B>determineLength(HttpMessage)</B></A> - 
Method in class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/LaxContentLengthStrategy.html" title="class in org.apache.http.impl.entity">LaxContentLengthStrategy</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/entity/StrictContentLengthStrategy.html#determineLength(org.apache.http.HttpMessage)"><B>determineLength(HttpMessage)</B></A> - 
Method in class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/StrictContentLengthStrategy.html" title="class in org.apache.http.impl.entity">StrictContentLengthStrategy</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html#determineLocale(org.apache.http.protocol.HttpContext)"><B>determineLocale(HttpContext)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html" title="class in org.apache.http.impl">DefaultHttpResponseFactory</A>
<DD>Determines the locale of the response.
<DT><A HREF="./org/apache/http/nio/util/DirectByteBufferAllocator.html" title="class in org.apache.http.nio.util"><B>DirectByteBufferAllocator</B></A> - Class in <A HREF="./org/apache/http/nio/util/package-summary.html">org.apache.http.nio.util</A><DD>Allocates <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/ByteBuffer.html" title="class or interface in java.nio"><CODE>ByteBuffer</CODE></A> instances using
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/ByteBuffer.html#allocateDirect(int)" title="class or interface in java.nio"><CODE>ByteBuffer.allocateDirect(int)</CODE></A>.<DT><A HREF="./org/apache/http/nio/util/DirectByteBufferAllocator.html#DirectByteBufferAllocator()"><B>DirectByteBufferAllocator()</B></A> - 
Constructor for class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/DirectByteBufferAllocator.html" title="class in org.apache.http.nio.util">DirectByteBufferAllocator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/entity/DisallowIdentityContentLengthStrategy.html" title="class in org.apache.http.impl.entity"><B>DisallowIdentityContentLengthStrategy</B></A> - Class in <A HREF="./org/apache/http/impl/entity/package-summary.html">org.apache.http.impl.entity</A><DD>Decorator for  <A HREF="./org/apache/http/entity/ContentLengthStrategy.html" title="interface in org.apache.http.entity"><CODE>ContentLengthStrategy</CODE></A> implementations that disallows the use of 
 identity transfer encoding.<DT><A HREF="./org/apache/http/impl/entity/DisallowIdentityContentLengthStrategy.html#DisallowIdentityContentLengthStrategy(org.apache.http.entity.ContentLengthStrategy)"><B>DisallowIdentityContentLengthStrategy(ContentLengthStrategy)</B></A> - 
Constructor for class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/DisallowIdentityContentLengthStrategy.html" title="class in org.apache.http.impl.entity">DisallowIdentityContentLengthStrategy</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#disconnected(org.apache.http.nio.reactor.IOSession)"><B>disconnected(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#disconnected(org.apache.http.nio.reactor.IOSession)"><B>disconnected(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#disconnected(org.apache.http.nio.reactor.IOSession)"><B>disconnected(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html#disconnected(org.apache.http.nio.reactor.IOSession)"><B>disconnected(IOSession)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html" title="interface in org.apache.http.nio.reactor">IOEventDispatch</A>
<DD>Triggered when the given session has been terminated.
<DT><A HREF="./org/apache/http/impl/entity/EntityDeserializer.html#doDeserialize(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpMessage)"><B>doDeserialize(SessionInputBuffer, HttpMessage)</B></A> - 
Method in class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/EntityDeserializer.html" title="class in org.apache.http.impl.entity">EntityDeserializer</A>
<DD>Creates a <A HREF="./org/apache/http/entity/BasicHttpEntity.html" title="class in org.apache.http.entity"><CODE>BasicHttpEntity</CODE></A> based on properties of the given
 message.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#doFlush()"><B>doFlush()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#doFlush()"><B>doFlush()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#doFormatHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.Header)"><B>doFormatHeader(CharArrayBuffer, Header)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>Actually formats a header.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#doFormatRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.RequestLine)"><B>doFormatRequestLine(CharArrayBuffer, RequestLine)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>Actually formats a request line.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#doFormatStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.StatusLine)"><B>doFormatStatusLine(CharArrayBuffer, StatusLine)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>Actually formats a status line.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#doFormatValue(org.apache.http.util.CharArrayBuffer, java.lang.String, boolean)"><B>doFormatValue(CharArrayBuffer, String, boolean)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Actually formats the value of a name-value pair.
<DT><A HREF="./org/apache/http/protocol/HttpRequestExecutor.html#doReceiveResponse(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext)"><B>doReceiveResponse(HttpRequest, HttpClientConnection, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestExecutor.html" title="class in org.apache.http.protocol">HttpRequestExecutor</A>
<DD>Waits for and receives a response.
<DT><A HREF="./org/apache/http/protocol/HttpRequestExecutor.html#doSendRequest(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext)"><B>doSendRequest(HttpRequest, HttpClientConnection, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestExecutor.html" title="class in org.apache.http.protocol">HttpRequestExecutor</A>
<DD>Send the given request over the given connection.
<DT><A HREF="./org/apache/http/impl/entity/EntitySerializer.html#doSerialize(org.apache.http.io.SessionOutputBuffer, org.apache.http.HttpMessage)"><B>doSerialize(SessionOutputBuffer, HttpMessage)</B></A> - 
Method in class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/EntitySerializer.html" title="class in org.apache.http.impl.entity">EntitySerializer</A>
<DD>Creates a transfer codec based on properties of the given HTTP message
 and returns <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> instance that transparently encodes
 output data as it is being written out to the output stream.
<DT><A HREF="./org/apache/http/protocol/HttpService.html#doService(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>doService(HttpRequest, HttpResponse, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD>The default implementation of this method attempts to resolve an
 <A HREF="./org/apache/http/protocol/HttpRequestHandler.html" title="interface in org.apache.http.protocol"><CODE>HttpRequestHandler</CODE></A> for the request URI of the given request
 and, if found, executes its
 <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.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#doShutdown()"><B>doShutdown()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Activates the shutdown sequence for this reactor.
</DL>
<HR>
<A NAME="_E_"><!-- --></A><H2>
<B>E</B></H2>
<DL>
<DT><A HREF="./org/apache/http/util/EncodingUtils.html" title="class in org.apache.http.util"><B>EncodingUtils</B></A> - Class in <A HREF="./org/apache/http/util/package-summary.html">org.apache.http.util</A><DD>The home for utility methods that handle various encoding tasks.<DT><A HREF="./org/apache/http/nio/NHttpClientEventHandler.html#endOfInput(org.apache.http.nio.NHttpClientConnection)"><B>endOfInput(NHttpClientConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientEventHandler.html" title="interface in org.apache.http.nio">NHttpClientEventHandler</A>
<DD>Triggered when the connection is closed by the opposite end point
 (half-closed).
<DT><A HREF="./org/apache/http/nio/NHttpServerEventHandler.html#endOfInput(org.apache.http.nio.NHttpServerConnection)"><B>endOfInput(NHttpServerConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerEventHandler.html" title="interface in org.apache.http.nio">NHttpServerEventHandler</A>
<DD>Triggered when the connection is closed by the opposite end point
 (half-closed).
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#endOfInput(org.apache.http.nio.NHttpClientConnection)"><B>endOfInput(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#endOfInput(org.apache.http.nio.NHttpServerConnection)"><B>endOfInput(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointClosedCallback.html#endpointClosed(org.apache.http.nio.reactor.ListenerEndpoint)"><B>endpointClosed(ListenerEndpoint)</B></A> - 
Method in interface org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointClosedCallback.html" title="interface in org.apache.http.impl.nio.reactor">ListenerEndpointClosedCallback</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/EnglishReasonPhraseCatalog.html" title="class in org.apache.http.impl"><B>EnglishReasonPhraseCatalog</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>English reason phrases for HTTP status codes.<DT><A HREF="./org/apache/http/impl/EnglishReasonPhraseCatalog.html#EnglishReasonPhraseCatalog()"><B>EnglishReasonPhraseCatalog()</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/EnglishReasonPhraseCatalog.html" title="class in org.apache.http.impl">EnglishReasonPhraseCatalog</A>
<DD>Restricted default constructor, for derived classes.
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#ensureCapacity(int)"><B>ensureCapacity(int)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>Ensures the buffer can accommodate the required capacity.
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#ensureCapacity(int)"><B>ensureCapacity(int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Ensures that the capacity is at least equal to the specified minimum.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#ensureCapacity(int)"><B>ensureCapacity(int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Ensures that the capacity is at least equal to the specified minimum.
<DT><A HREF="./org/apache/http/nio/entity/EntityAsyncContentProducer.html" title="class in org.apache.http.nio.entity"><B>EntityAsyncContentProducer</B></A> - Class in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD>Basic implementation of <A HREF="./org/apache/http/nio/entity/HttpAsyncContentProducer.html" title="interface in org.apache.http.nio.entity"><CODE>HttpAsyncContentProducer</CODE></A> that relies on
 inefficient and potentially blocking I/O operation redirection through
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/Channels.html#newChannel(java.io.InputStream)" title="class or interface in java.nio.channels"><CODE>Channels.newChannel(java.io.InputStream)</CODE></A>.<DT><A HREF="./org/apache/http/nio/entity/EntityAsyncContentProducer.html#EntityAsyncContentProducer(org.apache.http.HttpEntity)"><B>EntityAsyncContentProducer(HttpEntity)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/EntityAsyncContentProducer.html" title="class in org.apache.http.nio.entity">EntityAsyncContentProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/entity/EntityDeserializer.html" title="class in org.apache.http.impl.entity"><B>EntityDeserializer</B></A> - Class in <A HREF="./org/apache/http/impl/entity/package-summary.html">org.apache.http.impl.entity</A><DD>HTTP entity deserializer.<DT><A HREF="./org/apache/http/impl/entity/EntityDeserializer.html#EntityDeserializer(org.apache.http.entity.ContentLengthStrategy)"><B>EntityDeserializer(ContentLengthStrategy)</B></A> - 
Constructor for class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/EntityDeserializer.html" title="class in org.apache.http.impl.entity">EntityDeserializer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandler.html#entityRequest(org.apache.http.HttpEntityEnclosingRequest, org.apache.http.protocol.HttpContext)"><B>entityRequest(HttpEntityEnclosingRequest, HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestHandler.html" title="interface in org.apache.http.nio.protocol">NHttpRequestHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when a request is received with an entity.
<DT><A HREF="./org/apache/http/impl/entity/EntitySerializer.html" title="class in org.apache.http.impl.entity"><B>EntitySerializer</B></A> - Class in <A HREF="./org/apache/http/impl/entity/package-summary.html">org.apache.http.impl.entity</A><DD>HTTP entity serializer.<DT><A HREF="./org/apache/http/impl/entity/EntitySerializer.html#EntitySerializer(org.apache.http.entity.ContentLengthStrategy)"><B>EntitySerializer(ContentLengthStrategy)</B></A> - 
Constructor for class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/EntitySerializer.html" title="class in org.apache.http.impl.entity">EntitySerializer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/EntityTemplate.html" title="class in org.apache.http.entity"><B>EntityTemplate</B></A> - Class in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>Entity that delegates the process of content generation
 to a <A HREF="./org/apache/http/entity/ContentProducer.html" title="interface in org.apache.http.entity"><CODE>ContentProducer</CODE></A>.<DT><A HREF="./org/apache/http/entity/EntityTemplate.html#EntityTemplate(org.apache.http.entity.ContentProducer)"><B>EntityTemplate(ContentProducer)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/EntityTemplate.html" title="class in org.apache.http.entity">EntityTemplate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/EntityUtils.html" title="class in org.apache.http.util"><B>EntityUtils</B></A> - Class in <A HREF="./org/apache/http/util/package-summary.html">org.apache.http.util</A><DD>Static helpers for dealing with <A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http"><CODE>HttpEntity</CODE></A>s.<DT><A HREF="./org/apache/http/io/EofSensor.html" title="interface in org.apache.http.io"><B>EofSensor</B></A> - Interface in <A HREF="./org/apache/http/io/package-summary.html">org.apache.http.io</A><DD>EOF sensor.<DT><A HREF="./org/apache/http/HttpHost.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicNameValuePair.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicNameValuePair.html" title="class in org.apache.http.message">BasicNameValuePair</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/ProtocolVersion.html#equals(java.lang.Object)"><B>equals(Object)</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Checks equality of this protocol version with an object.
<DT><A HREF="./org/apache/http/util/LangUtils.html#equals(java.lang.Object, java.lang.Object)"><B>equals(Object, Object)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/LangUtils.html" title="class in org.apache.http.util">LangUtils</A>
<DD>Check if two objects are equal.
<DT><A HREF="./org/apache/http/util/LangUtils.html#equals(java.lang.Object[], java.lang.Object[])"><B>equals(Object[], Object[])</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/LangUtils.html" title="class in org.apache.http.util">LangUtils</A>
<DD>Check if two object arrays are equal.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#estimateElementsLen(org.apache.http.HeaderElement[])"><B>estimateElementsLen(HeaderElement[])</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Estimates the length of formatted header elements.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#estimateHeaderElementLen(org.apache.http.HeaderElement)"><B>estimateHeaderElementLen(HeaderElement)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Estimates the length of a formatted header element.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#estimateNameValuePairLen(org.apache.http.NameValuePair)"><B>estimateNameValuePairLen(NameValuePair)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Estimates the length of a formatted name-value pair.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#estimateParametersLen(org.apache.http.NameValuePair[])"><B>estimateParametersLen(NameValuePair[])</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Estimates the length of formatted parameters.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#estimateProtocolVersionLen(org.apache.http.ProtocolVersion)"><B>estimateProtocolVersionLen(ProtocolVersion)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>Guesses the length of a formatted protocol version.
<DT><A HREF="./org/apache/http/HttpHeaders.html#ETAG"><B>ETAG</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.19
<DT><A HREF="./org/apache/http/nio/protocol/EventListener.html" title="interface in org.apache.http.nio.protocol"><B>EventListener</B></A> - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) do not use</I><DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#eventListener"><B>eventListener</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/EventMask.html" title="interface in org.apache.http.nio.reactor"><B>EventMask</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>Type of I/O event notifications I/O sessions can declare interest in.<DT><A HREF="./org/apache/http/nio/NHttpClientEventHandler.html#exception(org.apache.http.nio.NHttpClientConnection, java.lang.Exception)"><B>exception(NHttpClientConnection, Exception)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientEventHandler.html" title="interface in org.apache.http.nio">NHttpClientEventHandler</A>
<DD>Triggered if an error occurs during the HTTP exchange.
<DT><A HREF="./org/apache/http/nio/NHttpClientHandler.html#exception(org.apache.http.nio.NHttpClientConnection, java.io.IOException)"><B>exception(NHttpClientConnection, IOException)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientHandler.html" title="interface in org.apache.http.nio">NHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when an I/O error occurs while reading from or writing
 to the underlying channel.
<DT><A HREF="./org/apache/http/nio/NHttpClientHandler.html#exception(org.apache.http.nio.NHttpClientConnection, org.apache.http.HttpException)"><B>exception(NHttpClientConnection, HttpException)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientHandler.html" title="interface in org.apache.http.nio">NHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when an HTTP protocol violation occurs while receiving
 an HTTP response.
<DT><A HREF="./org/apache/http/nio/NHttpServerEventHandler.html#exception(org.apache.http.nio.NHttpServerConnection, java.lang.Exception)"><B>exception(NHttpServerConnection, Exception)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerEventHandler.html" title="interface in org.apache.http.nio">NHttpServerEventHandler</A>
<DD>Triggered if an error occurs during the HTTP exchange.
<DT><A HREF="./org/apache/http/nio/NHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, java.io.IOException)"><B>exception(NHttpServerConnection, IOException)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when an I/O error occurs while reading from or writing
 to the underlying channel.
<DT><A HREF="./org/apache/http/nio/NHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, org.apache.http.HttpException)"><B>exception(NHttpServerConnection, HttpException)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when an HTTP protocol violation occurs while receiving
 an HTTP request.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#exception(org.apache.http.nio.NHttpClientConnection, org.apache.http.HttpException)"><B>exception(NHttpClientConnection, HttpException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#exception(org.apache.http.nio.NHttpClientConnection, java.io.IOException)"><B>exception(NHttpClientConnection, IOException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, org.apache.http.HttpException)"><B>exception(NHttpServerConnection, HttpException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, java.io.IOException)"><B>exception(NHttpServerConnection, IOException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#exception(org.apache.http.nio.NHttpClientConnection, org.apache.http.HttpException)"><B>exception(NHttpClientConnection, HttpException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#exception(org.apache.http.nio.NHttpClientConnection, java.io.IOException)"><B>exception(NHttpClientConnection, IOException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, org.apache.http.HttpException)"><B>exception(NHttpServerConnection, HttpException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, java.io.IOException)"><B>exception(NHttpServerConnection, IOException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#exception(org.apache.http.nio.NHttpClientConnection, java.lang.Exception)"><B>exception(NHttpClientConnection, Exception)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#exception(org.apache.http.nio.NHttpServerConnection, java.lang.Exception)"><B>exception(NHttpServerConnection, Exception)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#exception(org.apache.http.nio.NHttpClientConnection, org.apache.http.HttpException)"><B>exception(NHttpClientConnection, HttpException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#exception(org.apache.http.nio.NHttpClientConnection, java.io.IOException)"><B>exception(NHttpClientConnection, IOException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, org.apache.http.HttpException)"><B>exception(NHttpServerConnection, HttpException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#exception(org.apache.http.nio.NHttpServerConnection, java.io.IOException)"><B>exception(NHttpServerConnection, IOException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ExceptionEvent.html" title="class in org.apache.http.impl.nio.reactor"><B>ExceptionEvent</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>A <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Throwable.html" title="class or interface in java.lang"><CODE>Throwable</CODE></A> instance along with a time stamp.<DT><A HREF="./org/apache/http/impl/nio/reactor/ExceptionEvent.html#ExceptionEvent(java.lang.Throwable, java.util.Date)"><B>ExceptionEvent(Throwable, Date)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ExceptionEvent.html" title="class in org.apache.http.impl.nio.reactor">ExceptionEvent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ExceptionEvent.html#ExceptionEvent(java.lang.Exception)"><B>ExceptionEvent(Exception)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ExceptionEvent.html" title="class in org.apache.http.impl.nio.reactor">ExceptionEvent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#exceptionHandler"><B>exceptionHandler</B></A> - 
Variable in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/ExceptionUtils.html" title="class in org.apache.http.util"><B>ExceptionUtils</B></A> - Class in <A HREF="./org/apache/http/util/package-summary.html">org.apache.http.util</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) no longer used</I><DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#execHandler"><B>execHandler</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#execHandler"><B>execHandler</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/benchmark/HttpBenchmark.html#execute()"><B>execute()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/HttpBenchmark.html" title="class in org.apache.http.benchmark">HttpBenchmark</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#execute()"><B>execute()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Activates the I/O reactor.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#execute(org.apache.http.nio.reactor.IOEventDispatch)"><B>execute(IOEventDispatch)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Activates the main I/O reactor as well as all worker I/O reactors.
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#execute(org.apache.http.nio.reactor.IOEventDispatch)"><B>execute(IOEventDispatch)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>Activates the I/O reactor.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html#execute(org.apache.http.nio.protocol.HttpAsyncRequestProducer, org.apache.http.nio.protocol.HttpAsyncResponseConsumer, org.apache.http.nio.NHttpClientConnection, org.apache.http.protocol.HttpContext, org.apache.http.concurrent.FutureCallback)"><B>execute(HttpAsyncRequestProducer, HttpAsyncResponseConsumer&lt;T&gt;, NHttpClientConnection, HttpContext, FutureCallback&lt;T&gt;)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequester</A>
<DD>Initiates asynchronous HTTP request execution.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html#execute(org.apache.http.nio.protocol.HttpAsyncRequestProducer, org.apache.http.nio.protocol.HttpAsyncResponseConsumer, org.apache.http.nio.NHttpClientConnection, org.apache.http.protocol.HttpContext)"><B>execute(HttpAsyncRequestProducer, HttpAsyncResponseConsumer&lt;T&gt;, NHttpClientConnection, HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequester</A>
<DD>Initiates asynchronous HTTP request execution.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html#execute(org.apache.http.nio.protocol.HttpAsyncRequestProducer, org.apache.http.nio.protocol.HttpAsyncResponseConsumer, org.apache.http.nio.NHttpClientConnection)"><B>execute(HttpAsyncRequestProducer, HttpAsyncResponseConsumer&lt;T&gt;, NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequester</A>
<DD>Initiates asynchronous HTTP request execution.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html#execute(org.apache.http.nio.protocol.HttpAsyncRequestProducer, org.apache.http.nio.protocol.HttpAsyncResponseConsumer, org.apache.http.pool.ConnPool, org.apache.http.protocol.HttpContext, org.apache.http.concurrent.FutureCallback)"><B>execute(HttpAsyncRequestProducer, HttpAsyncResponseConsumer&lt;T&gt;, ConnPool&lt;HttpHost, E&gt;, HttpContext, FutureCallback&lt;T&gt;)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequester</A>
<DD>Initiates asynchronous HTTP request execution.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html#execute(org.apache.http.nio.protocol.HttpAsyncRequestProducer, org.apache.http.nio.protocol.HttpAsyncResponseConsumer, org.apache.http.pool.ConnPool, org.apache.http.protocol.HttpContext)"><B>execute(HttpAsyncRequestProducer, HttpAsyncResponseConsumer&lt;T&gt;, ConnPool&lt;HttpHost, E&gt;, HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequester</A>
<DD>Initiates asynchronous HTTP request execution.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html#execute(org.apache.http.nio.protocol.HttpAsyncRequestProducer, org.apache.http.nio.protocol.HttpAsyncResponseConsumer, org.apache.http.pool.ConnPool)"><B>execute(HttpAsyncRequestProducer, HttpAsyncResponseConsumer&lt;T&gt;, ConnPool&lt;HttpHost, E&gt;)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequester</A>
<DD>Initiates asynchronous HTTP request execution.
<DT><A HREF="./org/apache/http/nio/reactor/IOReactor.html#execute(org.apache.http.nio.reactor.IOEventDispatch)"><B>execute(IOEventDispatch)</B></A> - 
Method in 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>
<DD>Starts the reactor and initiates the dispatch of I/O event notifications
 to the given <A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html" title="interface in org.apache.http.nio.reactor"><CODE>IOEventDispatch</CODE></A>.
<DT><A HREF="./org/apache/http/protocol/HttpRequestExecutor.html#execute(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext)"><B>execute(HttpRequest, HttpClientConnection, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestExecutor.html" title="class in org.apache.http.protocol">HttpRequestExecutor</A>
<DD>Sends the request and obtain a response.
<DT><A HREF="./org/apache/http/protocol/ExecutionContext.html" title="interface in org.apache.http.protocol"><B>ExecutionContext</B></A> - Interface in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD><A HREF="./org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol"><CODE>HttpContext</CODE></A> attribute names for protocol execution.<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#executor"><B>executor</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#executor"><B>executor</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#expand()"><B>expand()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>Expands buffer's capacity.
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util"><B>ExpandableBuffer</B></A> - Class in <A HREF="./org/apache/http/nio/util/package-summary.html">org.apache.http.nio.util</A><DD>A buffer that expand its capacity on demand using <A HREF="./org/apache/http/nio/util/ByteBufferAllocator.html" title="interface in org.apache.http.nio.util"><CODE>ByteBufferAllocator</CODE></A>
 interface.<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#ExpandableBuffer(int, org.apache.http.nio.util.ByteBufferAllocator)"><B>ExpandableBuffer(int, ByteBufferAllocator)</B></A> - 
Constructor for class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>Allocates buffer of the given size using the given allocator.
<DT><A HREF="./org/apache/http/HttpHeaders.html#EXPECT"><B>EXPECT</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.20
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#EXPECT_CONTINUE"><B>EXPECT_CONTINUE</B></A> - 
Static variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#EXPECT_CONTINUE"><B>EXPECT_CONTINUE</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>HTTP expectations
<DT><A HREF="./org/apache/http/protocol/HTTP.html#EXPECT_DIRECTIVE"><B>EXPECT_DIRECTIVE</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#expectationVerifier"><B>expectationVerifier</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#expectationVerifier"><B>expectationVerifier</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/HttpEntityEnclosingRequest.html#expectContinue()"><B>expectContinue()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntityEnclosingRequest.html" title="interface in org.apache.http">HttpEntityEnclosingRequest</A>
<DD>Tells if this request should use the expect-continue handshake.
<DT><A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html#expectContinue()"><B>expectContinue()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html" title="class in org.apache.http.message">BasicHttpEntityEnclosingRequest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#EXPIRES"><B>EXPIRES</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.7, RFC 2616 (HTTP/1.1) Section 14.21
</DL>
<HR>
<A NAME="_F_"><!-- --></A><H2>
<B>F</B></H2>
<DL>
<DT><A HREF="./org/apache/http/concurrent/BasicFuture.html#failed(java.lang.Exception)"><B>failed(Exception)</B></A> - 
Method in class org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/BasicFuture.html" title="class in org.apache.http.concurrent">BasicFuture</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/concurrent/FutureCallback.html#failed(java.lang.Exception)"><B>failed(Exception)</B></A> - 
Method in interface org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/FutureCallback.html" title="interface in org.apache.http.concurrent">FutureCallback</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html#failed(java.io.IOException)"><B>failed(IOException)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor">ListenerEndpointImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#failed(java.io.IOException)"><B>failed(IOException)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#failed(java.lang.Exception)"><B>failed(Exception)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#failed(java.lang.Exception)"><B>failed(Exception)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#failed(java.lang.Exception)"><B>failed(Exception)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html#failed(java.lang.Exception)"><B>failed(Exception)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html#failed(java.lang.Exception)"><B>failed(Exception)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html#failed(java.lang.Exception)"><B>failed(Exception)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestConsumer</A>
<DD>Invoked to signal that the request processing terminated abnormally.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html#failed(java.lang.Exception)"><B>failed(Exception)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestProducer</A>
<DD>Invoked to signal that the response processing terminated abnormally.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html#failed(java.lang.Exception)"><B>failed(Exception)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncResponseConsumer</A>
<DD>Invoked to signal that the response processing terminated abnormally.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseProducer.html#failed(java.lang.Exception)"><B>failed(Exception)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseProducer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncResponseProducer</A>
<DD>Invoked to signal that the response processing terminated abnormally.
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequestCallback.html#failed(org.apache.http.nio.reactor.SessionRequest)"><B>failed(SessionRequest)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequestCallback.html" title="interface in org.apache.http.nio.reactor">SessionRequestCallback</A>
<DD>Triggered on unsuccessful completion a <A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor"><CODE>SessionRequest</CODE></A>.
<DT><A HREF="./org/apache/http/nio/protocol/EventListener.html#fatalIOException(java.io.IOException, org.apache.http.nio.NHttpConnection)"><B>fatalIOException(IOException, NHttpConnection)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/EventListener.html" title="interface in org.apache.http.nio.protocol">EventListener</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when an I/O error caused a connection to be terminated.
<DT><A HREF="./org/apache/http/nio/protocol/EventListener.html#fatalProtocolException(org.apache.http.HttpException, org.apache.http.nio.NHttpConnection)"><B>fatalProtocolException(HttpException, NHttpConnection)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/EventListener.html" title="interface in org.apache.http.nio.protocol">EventListener</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when an HTTP protocol error caused a connection to be
 terminated.
<DT><A HREF="./org/apache/http/entity/FileEntity.html#file"><B>file</B></A> - 
Variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/FileEntity.html" title="class in org.apache.http.entity">FileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/FileContentDecoder.html" title="interface in org.apache.http.nio"><B>FileContentDecoder</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>A content decoder capable of transferring data directly to a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/FileChannel.html" title="class or interface in java.nio.channels"><CODE>FileChannel</CODE></A><DT><A HREF="./org/apache/http/nio/FileContentEncoder.html" title="interface in org.apache.http.nio"><B>FileContentEncoder</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>A content encoder capable of transferring data directly from a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/FileChannel.html" title="class or interface in java.nio.channels"><CODE>FileChannel</CODE></A><DT><A HREF="./org/apache/http/entity/FileEntity.html" title="class in org.apache.http.entity"><B>FileEntity</B></A> - Class in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>A self contained, repeatable entity that obtains its content from a file.<DT><A HREF="./org/apache/http/entity/FileEntity.html#FileEntity(java.io.File, java.lang.String)"><B>FileEntity(File, String)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/FileEntity.html" title="class in org.apache.http.entity">FileEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1.3) <A HREF="./org/apache/http/entity/FileEntity.html#FileEntity(java.io.File, org.apache.http.entity.ContentType)"><CODE>FileEntity.FileEntity(File, ContentType)</CODE></A></I>
<DT><A HREF="./org/apache/http/entity/FileEntity.html#FileEntity(java.io.File, org.apache.http.entity.ContentType)"><B>FileEntity(File, ContentType)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/FileEntity.html" title="class in org.apache.http.entity">FileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/FileEntity.html#FileEntity(java.io.File)"><B>FileEntity(File)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/FileEntity.html" title="class in org.apache.http.entity">FileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html#fill(java.nio.channels.ReadableByteChannel)"><B>fill(ReadableByteChannel)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionInputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html#fill(java.nio.channels.ReadableByteChannel)"><B>fill(ReadableByteChannel)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionInputBuffer</A>
<DD>Makes an attempt to fill the buffer with data from the given
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/ReadableByteChannel.html" title="class or interface in java.nio.channels"><CODE>ReadableByteChannel</CODE></A>.
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#fillBuffer()"><B>fillBuffer()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/SocketInputBuffer.html#fillBuffer()"><B>fillBuffer()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/SocketInputBuffer.html" title="class in org.apache.http.impl.io">SocketInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html#fillBuffer(java.nio.channels.ReadableByteChannel)"><B>fillBuffer(ReadableByteChannel)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpMessageParser.html#fillBuffer(java.nio.channels.ReadableByteChannel)"><B>fillBuffer(ReadableByteChannel)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpMessageParser.html" title="interface in org.apache.http.nio">NHttpMessageParser</A>
<DD>Fills the internal buffer of the parser with input data from the
 given <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/ReadableByteChannel.html" title="class or interface in java.nio.channels"><CODE>ReadableByteChannel</CODE></A>.
<DT><A HREF="./org/apache/http/message/BasicHeaderIterator.html#filterHeader(int)"><B>filterHeader(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message">BasicHeaderIterator</A>
<DD>Checks whether a header is part of the iteration.
<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html#filterHeader(int)"><B>filterHeader(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message">BasicListHeaderIterator</A>
<DD>Checks whether a header is part of the iteration.
<DT><A HREF="./org/apache/http/nio/protocol/HttpRequestExecutionHandler.html#finalizeContext(org.apache.http.protocol.HttpContext)"><B>finalizeContext(HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">HttpRequestExecutionHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the connection is terminated.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestExecutionHandler.html#finalizeContext(org.apache.http.protocol.HttpContext)"><B>finalizeContext(HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">NHttpRequestExecutionHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the connection is terminated.
<DT><A HREF="./org/apache/http/message/BasicHeaderIterator.html#findNext(int)"><B>findNext(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message">BasicHeaderIterator</A>
<DD>Determines the index of the next header.
<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html#findNext(int)"><B>findNext(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message">BasicListHeaderIterator</A>
<DD>Determines the index of the next header.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#findNext(int)"><B>findNext(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Determines the next token.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#findTokenEnd(int)"><B>findTokenEnd(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Determines the ending position of the current token.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#findTokenSeparator(int)"><B>findTokenSeparator(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Determines the position of the next token separator.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#findTokenStart(int)"><B>findTokenStart(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Determines the starting position of the next token.
<DT><A HREF="./org/apache/http/benchmark/Stats.html#finish()"><B>finish()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html#finish()"><B>finish()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io">ChunkedOutputStream</A>
<DD>Must be called to ensure the internal cache is flushed and the closing
 chunk is written.
<DT><A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html#finish()"><B>finish()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html" title="class in org.apache.http.nio.entity">BufferingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntity.html#finish()"><B>finish()</B></A> - 
Method in interface org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntity.html" title="interface in org.apache.http.nio.entity">ConsumingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;Notification that any resources allocated for reading can be released.
<DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html#finish()"><B>finish()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html" title="class in org.apache.http.nio.entity">ConsumingNHttpEntityTemplate</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#finish()"><B>finish()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#close()"><CODE>NByteArrayEntity.close()</CODE></A></I>
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#finish()"><B>finish()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/entity/NFileEntity.html#close()"><CODE>NFileEntity.close()</CODE></A></I>
<DT><A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html#finish()"><B>finish()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html" title="class in org.apache.http.nio.entity">NHttpEntityWrapper</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#finish()"><B>finish()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/entity/NStringEntity.html#close()"><CODE>NStringEntity.close()</CODE></A></I>
<DT><A HREF="./org/apache/http/nio/entity/ProducingNHttpEntity.html#finish()"><B>finish()</B></A> - 
Method in interface org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ProducingNHttpEntity.html" title="interface in org.apache.http.nio.entity">ProducingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;Notification that any resources allocated for writing can be released.
<DT><A HREF="./org/apache/http/nio/entity/ContentListener.html#finished()"><B>finished()</B></A> - 
Method in interface org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentListener.html" title="interface in org.apache.http.nio.entity">ContentListener</A>
<DD><B>Deprecated.</B>&nbsp;Notification that any resources allocated for reading can be released.
<DT><A HREF="./org/apache/http/nio/entity/SkipContentListener.html#finished()"><B>finished()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/SkipContentListener.html" title="class in org.apache.http.nio.entity">SkipContentListener</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#finishInput()"><B>finishInput()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#finishOutput()"><B>finishOutput()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/HttpClientConnection.html#flush()"><B>flush()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpClientConnection.html" title="interface in org.apache.http">HttpClientConnection</A>
<DD>Writes out all pending buffered data over the open connection.
<DT><A HREF="./org/apache/http/HttpServerConnection.html#flush()"><B>flush()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpServerConnection.html" title="interface in org.apache.http">HttpServerConnection</A>
<DD>Sends all pending buffered data over this connection.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#flush()"><B>flush()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#flush()"><B>flush()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#flush()"><B>flush()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html#flush()"><B>flush()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io">ChunkedOutputStream</A>
<DD>Flushes the content buffer and the underlying stream.
<DT><A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html#flush()"><B>flush()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html" title="class in org.apache.http.impl.io">ContentLengthOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/IdentityOutputStream.html#flush()"><B>flush()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/IdentityOutputStream.html" title="class in org.apache.http.impl.io">IdentityOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html#flush(java.nio.channels.WritableByteChannel)"><B>flush(WritableByteChannel)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionOutputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/SessionOutputBuffer.html#flush()"><B>flush()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io">SessionOutputBuffer</A>
<DD>Flushes this session buffer and forces any buffered output bytes
 to be written out.
<DT><A HREF="./org/apache/http/nio/entity/ContentOutputStream.html#flush()"><B>flush()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentOutputStream.html" title="class in org.apache.http.nio.entity">ContentOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html#flush(java.nio.channels.WritableByteChannel)"><B>flush(WritableByteChannel)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionOutputBuffer</A>
<DD>Makes an attempt to flush the content of this buffer to the given
 destination <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/channels/WritableByteChannel.html" title="class or interface in java.nio.channels"><CODE>WritableByteChannel</CODE></A>.
<DT><A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html#flush()"><B>flush()</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html" title="interface in org.apache.http.nio.util">ContentOutputBuffer</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2) No longer used.</I>
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#flush()"><B>flush()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html#flush()"><B>flush()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html" title="class in org.apache.http.nio.util">SimpleOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#flushBuffer()"><B>flushBuffer()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html#flushCache()"><B>flushCache()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io">ChunkedOutputStream</A>
<DD>Writes the cache out onto the underlying stream
<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html#flushCacheWithAppend(byte[], int, int)"><B>flushCacheWithAppend(byte[], int, int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io">ChunkedOutputStream</A>
<DD>Writes the cache and bufferToAppend to the underlying stream
 as one large chunk
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#formatElements(org.apache.http.HeaderElement[], boolean, org.apache.http.message.HeaderValueFormatter)"><B>formatElements(HeaderElement[], boolean, HeaderValueFormatter)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Formats an array of header elements.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#formatElements(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement[], boolean)"><B>formatElements(CharArrayBuffer, HeaderElement[], boolean)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderValueFormatter.html#formatElements(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement[], boolean)"><B>formatElements(CharArrayBuffer, HeaderElement[], boolean)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>
<DD>Formats an array of header elements.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#formatHeader(org.apache.http.Header, org.apache.http.message.LineFormatter)"><B>formatHeader(Header, LineFormatter)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>Formats a header.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#formatHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.Header)"><B>formatHeader(CharArrayBuffer, Header)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/LineFormatter.html#formatHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.Header)"><B>formatHeader(CharArrayBuffer, Header)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/LineFormatter.html" title="interface in org.apache.http.message">LineFormatter</A>
<DD>Formats a header.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#formatHeaderElement(org.apache.http.HeaderElement, boolean, org.apache.http.message.HeaderValueFormatter)"><B>formatHeaderElement(HeaderElement, boolean, HeaderValueFormatter)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Formats a header element.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#formatHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement, boolean)"><B>formatHeaderElement(CharArrayBuffer, HeaderElement, boolean)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderValueFormatter.html#formatHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement, boolean)"><B>formatHeaderElement(CharArrayBuffer, HeaderElement, boolean)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>
<DD>Formats one header element.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#formatNameValuePair(org.apache.http.NameValuePair, boolean, org.apache.http.message.HeaderValueFormatter)"><B>formatNameValuePair(NameValuePair, boolean, HeaderValueFormatter)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Formats a name-value pair.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#formatNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair, boolean)"><B>formatNameValuePair(CharArrayBuffer, NameValuePair, boolean)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderValueFormatter.html#formatNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair, boolean)"><B>formatNameValuePair(CharArrayBuffer, NameValuePair, boolean)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>
<DD>Formats one name-value pair, where the value is optional.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#formatParameters(org.apache.http.NameValuePair[], boolean, org.apache.http.message.HeaderValueFormatter)"><B>formatParameters(NameValuePair[], boolean, HeaderValueFormatter)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Formats a set of parameters.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#formatParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair[], boolean)"><B>formatParameters(CharArrayBuffer, NameValuePair[], boolean)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderValueFormatter.html#formatParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair[], boolean)"><B>formatParameters(CharArrayBuffer, NameValuePair[], boolean)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message">HeaderValueFormatter</A>
<DD>Formats the parameters of a header element.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#formatProtocolVersion(org.apache.http.ProtocolVersion, org.apache.http.message.LineFormatter)"><B>formatProtocolVersion(ProtocolVersion, LineFormatter)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>Formats a protocol version.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#formatRequestLine(org.apache.http.RequestLine, org.apache.http.message.LineFormatter)"><B>formatRequestLine(RequestLine, LineFormatter)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>Formats a request line.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#formatRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.RequestLine)"><B>formatRequestLine(CharArrayBuffer, RequestLine)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/LineFormatter.html#formatRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.RequestLine)"><B>formatRequestLine(CharArrayBuffer, RequestLine)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/LineFormatter.html" title="interface in org.apache.http.message">LineFormatter</A>
<DD>Formats a request line.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#formatStatusLine(org.apache.http.StatusLine, org.apache.http.message.LineFormatter)"><B>formatStatusLine(StatusLine, LineFormatter)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>Formats a status line.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#formatStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.StatusLine)"><B>formatStatusLine(CharArrayBuffer, StatusLine)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/LineFormatter.html#formatStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.StatusLine)"><B>formatStatusLine(CharArrayBuffer, StatusLine)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/LineFormatter.html" title="interface in org.apache.http.message">LineFormatter</A>
<DD>Formats a status line.
<DT><A HREF="./org/apache/http/FormattedHeader.html" title="interface in org.apache.http"><B>FormattedHeader</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>An HTTP header which is already formatted.<DT><A HREF="./org/apache/http/HttpVersion.html#forVersion(int, int)"><B>forVersion(int, int)</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/HttpVersion.html" title="class in org.apache.http">HttpVersion</A>
<DD>Obtains a specific HTTP version.
<DT><A HREF="./org/apache/http/ProtocolVersion.html#forVersion(int, int)"><B>forVersion(int, int)</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Obtains a specific version of this protocol.
<DT><A HREF="./org/apache/http/HttpHeaders.html#FROM"><B>FROM</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.8, RFC 2616 (HTTP/1.1) Section 14.22
<DT><A HREF="./org/apache/http/util/VersionInfo.html#fromMap(java.lang.String, java.util.Map, java.lang.ClassLoader)"><B>fromMap(String, Map&lt;?, ?&gt;, ClassLoader)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>Instantiates version information from properties.
<DT><A HREF="./org/apache/http/concurrent/FutureCallback.html" title="interface in org.apache.http.concurrent"><B>FutureCallback</B></A>&lt;<A HREF="./org/apache/http/concurrent/FutureCallback.html" title="type parameter in FutureCallback">T</A>&gt; - Interface in <A HREF="./org/apache/http/concurrent/package-summary.html">org.apache.http.concurrent</A><DD>A callback interface that gets invoked upon completion of a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Future.html" title="class or interface in java.util.concurrent"><CODE>Future</CODE></A>.</DL>
<HR>
<A NAME="_G_"><!-- --></A><H2>
<B>G</B></H2>
<DL>
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#generateRequest()"><B>generateRequest()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html#generateRequest()"><B>generateRequest()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html#generateRequest()"><B>generateRequest()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestProducer</A>
<DD>Invoked to generate a HTTP request message head.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html#generateResponse()"><B>generateResponse()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseProducer.html#generateResponse()"><B>generateResponse()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseProducer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncResponseProducer</A>
<DD>Invoked to generate a HTTP response message head.
<DT><A HREF="./org/apache/http/concurrent/BasicFuture.html#get()"><B>get()</B></A> - 
Method in class org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/BasicFuture.html" title="class in org.apache.http.concurrent">BasicFuture</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/concurrent/BasicFuture.html#get(long, java.util.concurrent.TimeUnit)"><B>get(long, TimeUnit)</B></A> - 
Method in class org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/BasicFuture.html" title="class in org.apache.http.concurrent">BasicFuture</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#get(org.apache.http.HttpEntity)"><B>get(HttpEntity)</B></A> - 
Static method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>Extracts <code>Content-Type</code> value from <A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http"><CODE>HttpEntity</CODE></A> exactly as
 specified by the <code>Content-Type</code> header of the entity.
<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html#getAddress()"><B>getAddress()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor">ListenerEndpointImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html#getAddress()"><B>getAddress()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html" title="interface in org.apache.http.nio.reactor">ListenerEndpoint</A>
<DD>Returns the socket address of this endpoint.
<DT><A HREF="./org/apache/http/HttpMessage.html#getAllHeaders()"><B>getAllHeaders()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Returns all the headers of this message.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#getAllHeaders()"><B>getAllHeaders()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#getAllHeaders()"><B>getAllHeaders()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Gets all of the headers contained within this group.
<DT><A HREF="./org/apache/http/util/EncodingUtils.html#getAsciiBytes(java.lang.String)"><B>getAsciiBytes(String)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EncodingUtils.html" title="class in org.apache.http.util">EncodingUtils</A>
<DD>Converts the specified string to byte array of ASCII characters.
<DT><A HREF="./org/apache/http/util/EncodingUtils.html#getAsciiString(byte[], int, int)"><B>getAsciiString(byte[], int, int)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EncodingUtils.html" title="class in org.apache.http.util">EncodingUtils</A>
<DD>Converts the byte array of ASCII characters to a string.
<DT><A HREF="./org/apache/http/util/EncodingUtils.html#getAsciiString(byte[])"><B>getAsciiString(byte[])</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EncodingUtils.html" title="class in org.apache.http.util">EncodingUtils</A>
<DD>Converts the byte array of ASCII characters to a string.
<DT><A HREF="./org/apache/http/impl/nio/reactor/ChannelEntry.html#getAttachment()"><B>getAttachment()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ChannelEntry.html" title="class in org.apache.http.impl.nio.reactor">ChannelEntry</A>
<DD>Returns the original session request attachment, if available.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#getAttachment()"><B>getAttachment()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequest.html#getAttachment()"><B>getAttachment()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor">SessionRequest</A>
<DD>Returns attachment object will be added to the session's context upon
 initialization.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Returns the value of the attribute with the given name.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpContext.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpContext.html" title="class in org.apache.http.protocol">BasicHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/DefaultedHttpContext.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/DefaultedHttpContext.html" title="class in org.apache.http.protocol">DefaultedHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpContext.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol">HttpContext</A>
<DD>Obtains attribute with the given name.
<DT><A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html" title="class in org.apache.http.protocol">SyncBasicHttpContext</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#getAuditLog()"><B>getAuditLog()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Returns the audit log containing exceptions thrown by the I/O reactor
 prior and in the course of the reactor shutdown.
<DT><A HREF="./org/apache/http/pool/PoolStats.html#getAvailable()"><B>getAvailable()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolStats.html" title="class in org.apache.http.pool">PoolStats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#getBooleanParameter(java.lang.String, boolean)"><B>getBooleanParameter(String, boolean)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpParams.html#getBooleanParameter(java.lang.String, boolean)"><B>getBooleanParameter(String, boolean)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Returns a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Boolean.html" title="class or interface in java.lang"><CODE>Boolean</CODE></A> parameter value with the given name.
<DT><A HREF="./org/apache/http/FormattedHeader.html#getBuffer()"><B>getBuffer()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/FormattedHeader.html" title="interface in org.apache.http">FormattedHeader</A>
<DD>Obtains the buffer with the formatted header.
<DT><A HREF="./org/apache/http/message/BufferedHeader.html#getBuffer()"><B>getBuffer()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BufferedHeader.html" title="class in org.apache.http.message">BufferedHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/EncodingUtils.html#getBytes(java.lang.String, java.lang.String)"><B>getBytes(String, String)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EncodingUtils.html" title="class in org.apache.http.util">EncodingUtils</A>
<DD>Converts the specified string to a byte array.
<DT><A HREF="./org/apache/http/impl/io/HttpTransportMetricsImpl.html#getBytesTransferred()"><B>getBytesTransferred()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpTransportMetricsImpl.html" title="class in org.apache.http.impl.io">HttpTransportMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/HttpTransportMetrics.html#getBytesTransferred()"><B>getBytesTransferred()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/HttpTransportMetrics.html" title="interface in org.apache.http.io">HttpTransportMetrics</A>
<DD>Returns the number of bytes transferred.
<DT><A HREF="./org/apache/http/impl/nio/reactor/ExceptionEvent.html#getCause()"><B>getCause()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ExceptionEvent.html" title="class in org.apache.http.impl.nio.reactor">ExceptionEvent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ChannelEntry.html#getChannel()"><B>getChannel()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ChannelEntry.html" title="class in org.apache.http.impl.nio.reactor">ChannelEntry</A>
<DD>Returns the channel.
<DT><A HREF="./org/apache/http/entity/ContentType.html#getCharset()"><B>getCharset()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/VersionInfo.html#getClassloader()"><B>getClassloader()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>Obtains the classloader used to read the version information.
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#getCondensedHeader(java.lang.String)"><B>getCondensedHeader(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Gets a header representing all of the header values with the given name.
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#getConnection()"><B>getConnection()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#getConnectionReuseStrategy()"><B>getConnectionReuseStrategy()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutionHandler.html#getConnectionReuseStrategy()"><B>getConnectionReuseStrategy()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestExecutionHandler</A>
<DD>Returns <A HREF="./org/apache/http/ConnectionReuseStrategy.html" title="interface in org.apache.http"><CODE>ConnectionReuseStrategy</CODE></A> implementation to be used
 to determine whether or not the underlying connection can be kept alive
 after a particular HTTP request / response exchange.
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#getConnectionTimeout(org.apache.http.params.HttpParams)"><B>getConnectionTimeout(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#CONNECTION_TIMEOUT"><CODE>CoreConnectionPNames.CONNECTION_TIMEOUT</CODE></A>
 parameter.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#getConnectTimeout()"><B>getConnectTimeout()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Determines the default connect timeout value for non-blocking connection requests.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#getConnectTimeout()"><B>getConnectTimeout()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequest.html#getConnectTimeout()"><B>getConnectTimeout()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor">SessionRequest</A>
<DD>Returns connect timeout value in milliseconds.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#getConsumingEntity()"><B>getConsumingEntity()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#getConsumingEntity()"><B>getConsumingEntity()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/entity/BasicHttpEntity.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BasicHttpEntity.html" title="class in org.apache.http.entity">BasicHttpEntity</A>
<DD>Obtains the content, once only.
<DT><A HREF="./org/apache/http/entity/BufferedHttpEntity.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BufferedHttpEntity.html" title="class in org.apache.http.entity">BufferedHttpEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity">ByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/EntityTemplate.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/EntityTemplate.html" title="class in org.apache.http.entity">EntityTemplate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/FileEntity.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/FileEntity.html" title="class in org.apache.http.entity">FileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity">HttpEntityWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/InputStreamEntity.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/InputStreamEntity.html" title="class in org.apache.http.entity">InputStreamEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/SerializableEntity.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/SerializableEntity.html" title="class in org.apache.http.entity">SerializableEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/StringEntity.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpEntity.html#getContent()"><B>getContent()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http">HttpEntity</A>
<DD>Returns a content stream of the entity.
<DT><A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html" title="class in org.apache.http.nio.entity">BufferingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;Obtains entity's content as <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>.
<DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html" title="class in org.apache.http.nio.entity">ConsumingNHttpEntityTemplate</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html" title="class in org.apache.http.nio.entity">NHttpEntityWrapper</A>
<DD><B>Deprecated.</B>&nbsp;This method throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang"><CODE>UnsupportedOperationException</CODE></A>.
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#getContent()"><B>getContent()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/params/NIOReactorParams.html#getContentBufferSize(org.apache.http.params.HttpParams)"><B>getContentBufferSize(HttpParams)</B></A> - 
Static method in class org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorParams.html" title="class in org.apache.http.nio.params">NIOReactorParams</A>
<DD><B>Deprecated.</B>&nbsp;Obtains the value of <A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#CONTENT_BUFFER_SIZE"><CODE>NIOReactorPNames.CONTENT_BUFFER_SIZE</CODE></A> parameter.
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#getContentCharset(org.apache.http.params.HttpParams)"><B>getContentCharset(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_CONTENT_CHARSET"><CODE>CoreProtocolPNames.HTTP_CONTENT_CHARSET</CODE></A> parameter.
<DT><A HREF="./org/apache/http/util/EntityUtils.html#getContentCharSet(org.apache.http.HttpEntity)"><B>getContentCharSet(HttpEntity)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EntityUtils.html" title="class in org.apache.http.util">EntityUtils</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1.3) use <A HREF="./org/apache/http/entity/ContentType.html#getOrDefault(org.apache.http.HttpEntity)"><CODE>ContentType.getOrDefault(HttpEntity)</CODE></A></I>
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#getContentEncoding()"><B>getContentEncoding()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>Obtains the Content-Encoding header.
<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html#getContentEncoding()"><B>getContentEncoding()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity">HttpEntityWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpEntity.html#getContentEncoding()"><B>getContentEncoding()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http">HttpEntity</A>
<DD>Obtains the Content-Encoding header, if known.
<DT><A HREF="./org/apache/http/nio/entity/ContentBufferEntity.html#getContentEncoding()"><B>getContentEncoding()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentBufferEntity.html" title="class in org.apache.http.nio.entity">ContentBufferEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/BasicHttpEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BasicHttpEntity.html" title="class in org.apache.http.entity">BasicHttpEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/BufferedHttpEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BufferedHttpEntity.html" title="class in org.apache.http.entity">BufferedHttpEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity">ByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/EntityTemplate.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/EntityTemplate.html" title="class in org.apache.http.entity">EntityTemplate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/FileEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/FileEntity.html" title="class in org.apache.http.entity">FileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity">HttpEntityWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/InputStreamEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/InputStreamEntity.html" title="class in org.apache.http.entity">InputStreamEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/SerializableEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/SerializableEntity.html" title="class in org.apache.http.entity">SerializableEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/StringEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http">HttpEntity</A>
<DD>Tells the length of the content, if known.
<DT><A HREF="./org/apache/http/nio/entity/ContentBufferEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentBufferEntity.html" title="class in org.apache.http.nio.entity">ContentBufferEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#getContentLength()"><B>getContentLength()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html#getContentListener()"><B>getContentListener()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html" title="class in org.apache.http.nio.entity">ConsumingNHttpEntityTemplate</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/util/EntityUtils.html#getContentMimeType(org.apache.http.HttpEntity)"><B>getContentMimeType(HttpEntity)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EntityUtils.html" title="class in org.apache.http.util">EntityUtils</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1.3) use <A HREF="./org/apache/http/entity/ContentType.html#getOrDefault(org.apache.http.HttpEntity)"><CODE>ContentType.getOrDefault(HttpEntity)</CODE></A></I>
<DT><A HREF="./org/apache/http/benchmark/Config.html#getContentType()"><B>getContentType()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#getContentType()"><B>getContentType()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>Obtains the Content-Type header.
<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html#getContentType()"><B>getContentType()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity">HttpEntityWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpEntity.html#getContentType()"><B>getContentType()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http">HttpEntity</A>
<DD>Obtains the Content-Type header, if known.
<DT><A HREF="./org/apache/http/nio/entity/ContentBufferEntity.html#getContentType()"><B>getContentType()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentBufferEntity.html" title="class in org.apache.http.nio.entity">ContentBufferEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#getContext()"><B>getContext()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpConnection.html#getContext()"><B>getContext()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpConnection.html" title="interface in org.apache.http.nio">NHttpConnection</A>
<DD>Returns an HTTP execution context associated with this connection.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#getContext()"><B>getContext()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutionHandler.html#getContext()"><B>getContext()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestExecutionHandler</A>
<DD>Returns shared <A HREF="./org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol"><CODE>HttpContext</CODE></A> instance.
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#getCreated()"><B>getCreated()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpDateGenerator.html#getCurrentDate()"><B>getCurrentDate()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpDateGenerator.html" title="class in org.apache.http.protocol">HttpDateGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#getDefaultMaxPerRoute()"><B>getDefaultMaxPerRoute()</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#getDefaultMaxPerRoute()"><B>getDefaultMaxPerRoute()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/ConnPoolControl.html#getDefaultMaxPerRoute()"><B>getDefaultMaxPerRoute()</B></A> - 
Method in interface org.apache.http.pool.<A HREF="./org/apache/http/pool/ConnPoolControl.html" title="interface in org.apache.http.pool">ConnPoolControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/DefaultedHttpParams.html#getDefaultNames()"><B>getDefaultNames()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/DefaultedHttpParams.html" title="class in org.apache.http.params">DefaultedHttpParams</A>
<DD>Returns the current set of defaults names.
<DT><A HREF="./org/apache/http/params/DefaultedHttpParams.html#getDefaults()"><B>getDefaults()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/DefaultedHttpParams.html" title="class in org.apache.http.params">DefaultedHttpParams</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1.1) do not use, will be removed in a later version</I>
<DT><A HREF="./org/apache/http/protocol/DefaultedHttpContext.html#getDefaults()"><B>getDefaults()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/DefaultedHttpContext.html" title="class in org.apache.http.protocol">DefaultedHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#getDoubleParameter(java.lang.String, double)"><B>getDoubleParameter(String, double)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpParams.html#getDoubleParameter(java.lang.String, double)"><B>getDoubleParameter(String, double)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Returns a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Double.html" title="class or interface in java.lang"><CODE>Double</CODE></A> parameter value with the given name.
<DT><A HREF="./org/apache/http/benchmark/Stats.html#getDuration()"><B>getDuration()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>Total execution time measured in nano seconds
<DT><A HREF="./org/apache/http/Header.html#getElements()"><B>getElements()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/Header.html" title="interface in org.apache.http">Header</A>
<DD>Parses the value.
<DT><A HREF="./org/apache/http/message/BasicHeader.html#getElements()"><B>getElements()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeader.html" title="class in org.apache.http.message">BasicHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BufferedHeader.html#getElements()"><B>getElements()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BufferedHeader.html" title="class in org.apache.http.message">BufferedHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#getEndpoints()"><B>getEndpoints()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultListeningIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ListeningIOReactor.html#getEndpoints()"><B>getEndpoints()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/ListeningIOReactor.html" title="interface in org.apache.http.nio.reactor">ListeningIOReactor</A>
<DD>Returns a set of endpoints for this I/O reactor.
<DT><A HREF="./org/apache/http/HttpEntityEnclosingRequest.html#getEntity()"><B>getEntity()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntityEnclosingRequest.html" title="interface in org.apache.http">HttpEntityEnclosingRequest</A>
<DD>Returns the entity associated with this request.
<DT><A HREF="./org/apache/http/HttpResponse.html#getEntity()"><B>getEntity()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http">HttpResponse</A>
<DD>Obtains the message entity of this response, if any.
<DT><A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html#getEntity()"><B>getEntity()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html" title="class in org.apache.http.message">BasicHttpEntityEnclosingRequest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#getEntity()"><B>getEntity()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#getEventMask()"><B>getEventMask()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#getEventMask()"><B>getEventMask()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Returns mask of I/O evens this session declared interest in.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#getEventMask()"><B>getEventMask()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html#getException()"><B>getException()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor">ListenerEndpointImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#getException()"><B>getException()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#getException()"><B>getException()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#getException()"><B>getException()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#getException()"><B>getException()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html#getException()"><B>getException()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestConsumer</A>
<DD>Returns an exception in case of an abnormal termination.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html#getException()"><B>getException()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncResponseConsumer</A>
<DD>Returns an exception in case of an abnormal termination.
<DT><A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html#getException()"><B>getException()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html" title="interface in org.apache.http.nio.reactor">ListenerEndpoint</A>
<DD>Returns an instance of <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io"><CODE>IOException</CODE></A> thrown during initialization
 of this endpoint or <code>null</code>, if initialization was successful.
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequest.html#getException()"><B>getException()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor">SessionRequest</A>
<DD>Returns <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html" title="class or interface in java.io"><CODE>IOException</CODE></A> instance if the request could not be
 successfully executed due to an I/O error or <code>null</code> if no
 error occurred to this point.
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#getExpiry()"><B>getExpiry()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#getFailureCount()"><B>getFailureCount()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#getFinishTime()"><B>getFinishTime()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpMessage.html#getFirstHeader(java.lang.String)"><B>getFirstHeader(String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Returns the first header with a specified name of this message.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#getFirstHeader(java.lang.String)"><B>getFirstHeader(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#getFirstHeader(java.lang.String)"><B>getFirstHeader(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Gets the first header with the given name.
<DT><A HREF="./org/apache/http/impl/io/ChunkedInputStream.html#getFooters()"><B>getFooters()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedInputStream.html" title="class in org.apache.http.impl.io">ChunkedInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/ChunkDecoder.html#getFooters()"><B>getFooters()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/ChunkDecoder.html" title="class in org.apache.http.impl.nio.codecs">ChunkDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#getFuture()"><B>getFuture()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/params/NIOReactorParams.html#getGracePeriod(org.apache.http.params.HttpParams)"><B>getGracePeriod(HttpParams)</B></A> - 
Static method in class org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorParams.html" title="class in org.apache.http.nio.params">NIOReactorParams</A>
<DD><B>Deprecated.</B>&nbsp;Obtains the value of <A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#GRACE_PERIOD"><CODE>NIOReactorPNames.GRACE_PERIOD</CODE></A> parameter.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html#getHandlers()"><B>getHandlers()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestHandlerRegistry</A>
<DD>Get the handler map.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html#getHandlers()"><B>getHandlers()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">NHttpRequestHandlerRegistry</A>
<DD><B>Deprecated.</B>&nbsp;Get the handler map.
<DT><A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html#getHandlers()"><B>getHandlers()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html" title="class in org.apache.http.protocol">HttpRequestHandlerRegistry</A>
<DD>Get the handler map.
<DT><A HREF="./org/apache/http/benchmark/Config.html#getHeaders()"><B>getHeaders()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpMessage.html#getHeaders(java.lang.String)"><B>getHeaders(String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Returns all the headers with a specified name of this message.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#getHeaders(java.lang.String)"><B>getHeaders(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#getHeaders(java.lang.String)"><B>getHeaders(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Gets all of the headers with the given name.
<DT><A HREF="./org/apache/http/HttpHost.html#getHostName()"><B>getHostName()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>Returns the host name.
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#getHttpElementCharset(org.apache.http.params.HttpParams)"><B>getHttpElementCharset(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_ELEMENT_CHARSET"><CODE>CoreProtocolPNames.HTTP_ELEMENT_CHARSET</CODE></A> parameter.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#getHttpException()"><B>getHttpException()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#getHttpExepction()"><B>getHttpExepction()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#getHttpProcessor()"><B>getHttpProcessor()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutionHandler.html#getHttpProcessor()"><B>getHttpProcessor()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestExecutionHandler</A>
<DD>Returns <A HREF="./org/apache/http/protocol/HttpProcessor.html" title="interface in org.apache.http.protocol"><CODE>HttpProcessor</CODE></A> implementation to be used to process
 HTTP request and response messages for protocol compliance.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#getHttpRequest()"><B>getHttpRequest()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpConnection.html#getHttpRequest()"><B>getHttpRequest()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpConnection.html" title="interface in org.apache.http.nio">NHttpConnection</A>
<DD>Returns the current HTTP request if one is being received / transmitted.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#getHttpResponse()"><B>getHttpResponse()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpConnection.html#getHttpResponse()"><B>getHttpResponse()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpConnection.html" title="interface in org.apache.http.nio">NHttpConnection</A>
<DD>Returns the current HTTP response if one is being received / transmitted.
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#getId()"><B>getId()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#getIdentityStorePassword()"><B>getIdentityStorePassword()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#getIdentityStorePath()"><B>getIdentityStorePath()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#getInterestOpsQueueing()"><B>getInterestOpsQueueing()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Returns <code>true</code> if interest Ops queueing is enabled, <code>false</code> otherwise.
<DT><A HREF="./org/apache/http/nio/params/NIOReactorParams.html#getInterestOpsQueueing(org.apache.http.params.HttpParams)"><B>getInterestOpsQueueing(HttpParams)</B></A> - 
Static method in class org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorParams.html" title="class in org.apache.http.nio.params">NIOReactorParams</A>
<DD><B>Deprecated.</B>&nbsp;Obtains the value of <A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#INTEREST_OPS_QUEUEING"><CODE>NIOReactorPNames.INTEREST_OPS_QUEUEING</CODE></A> parameter.
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#getIntParameter(java.lang.String, int)"><B>getIntParameter(String, int)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpParams.html#getIntParameter(java.lang.String, int)"><B>getIntParameter(String, int)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Returns an <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Integer.html" title="class or interface in java.lang"><CODE>Integer</CODE></A> parameter value with the given name.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#getIOException()"><B>getIOException()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#getIOExepction()"><B>getIOExepction()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#getIoThreadCount()"><B>getIoThreadCount()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Determines the number of I/O dispatch threads to be used by the I/O reactor.
<DT><A HREF="./org/apache/http/benchmark/Stats.html#getKeepAliveCount()"><B>getKeepAliveCount()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#getLastAccessTime()"><B>getLastAccessTime()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html#getLastAccessTime()"><B>getLastAccessTime()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html" title="class in org.apache.http.impl.nio.reactor">SessionHandle</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/HttpMessage.html#getLastHeader(java.lang.String)"><B>getLastHeader(String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Returns the last header with a specified name of this message.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#getLastHeader(java.lang.String)"><B>getLastHeader(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#getLastHeader(java.lang.String)"><B>getLastHeader(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Gets the last header with the given name.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#getLastReadTime()"><B>getLastReadTime()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html#getLastReadTime()"><B>getLastReadTime()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html" title="class in org.apache.http.impl.nio.reactor">SessionHandle</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#getLastWriteTime()"><B>getLastWriteTime()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html#getLastWriteTime()"><B>getLastWriteTime()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html" title="class in org.apache.http.impl.nio.reactor">SessionHandle</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/pool/PoolStats.html#getLeased()"><B>getLeased()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolStats.html" title="class in org.apache.http.pool">PoolStats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#getLinger(org.apache.http.params.HttpParams)"><B>getLinger(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_LINGER"><CODE>CoreConnectionPNames.SO_LINGER</CODE></A> parameter.
<DT><A HREF="./org/apache/http/HttpInetConnection.html#getLocalAddress()"><B>getLocalAddress()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpInetConnection.html" title="interface in org.apache.http">HttpInetConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#getLocalAddress()"><B>getLocalAddress()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#getLocalAddress()"><B>getLocalAddress()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#getLocalAddress()"><B>getLocalAddress()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#getLocalAddress()"><B>getLocalAddress()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#getLocalAddress()"><B>getLocalAddress()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#getLocalAddress()"><B>getLocalAddress()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Returns local address.
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequest.html#getLocalAddress()"><B>getLocalAddress()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor">SessionRequest</A>
<DD>Returns local socket address.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#getLocalAddress()"><B>getLocalAddress()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpResponse.html#getLocale()"><B>getLocale()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http">HttpResponse</A>
<DD>Obtains the locale of this response.
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#getLocale()"><B>getLocale()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/DefaultedHttpParams.html#getLocalNames()"><B>getLocalNames()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/DefaultedHttpParams.html" title="class in org.apache.http.params">DefaultedHttpParams</A>
<DD>Returns the current set of local names.
<DT><A HREF="./org/apache/http/HttpInetConnection.html#getLocalPort()"><B>getLocalPort()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpInetConnection.html" title="interface in org.apache.http">HttpInetConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#getLocalPort()"><B>getLocalPort()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#getLocalPort()"><B>getLocalPort()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#getLocalPort()"><B>getLocalPort()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#getLongParameter(java.lang.String, long)"><B>getLongParameter(String, long)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpParams.html#getLongParameter(java.lang.String, long)"><B>getLongParameter(String, long)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Returns a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Long.html" title="class or interface in java.lang"><CODE>Long</CODE></A> parameter value with the given name.
<DT><A HREF="./org/apache/http/message/ParserCursor.html#getLowerBound()"><B>getLowerBound()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/ParserCursor.html" title="class in org.apache.http.message">ParserCursor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/ProtocolVersion.html#getMajor()"><B>getMajor()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Returns the major version number of the protocol.
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#getMalformedInputAction(org.apache.http.params.HttpParams)"><B>getMalformedInputAction(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_MALFORMED_INPUT_ACTION"><CODE>CoreProtocolPNames.HTTP_MALFORMED_INPUT_ACTION</CODE></A> parameter.
<DT><A HREF="./org/apache/http/pool/PoolStats.html#getMax()"><B>getMax()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolStats.html" title="class in org.apache.http.pool">PoolStats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#getMaxPerRoute(T)"><B>getMaxPerRoute(T)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#getMaxPerRoute(T)"><B>getMaxPerRoute(T)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/ConnPoolControl.html#getMaxPerRoute(T)"><B>getMaxPerRoute(T)</B></A> - 
Method in interface org.apache.http.pool.<A HREF="./org/apache/http/pool/ConnPoolControl.html" title="interface in org.apache.http.pool">ConnPoolControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#getMaxTotal()"><B>getMaxTotal()</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#getMaxTotal()"><B>getMaxTotal()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/ConnPoolControl.html#getMaxTotal()"><B>getMaxTotal()</B></A> - 
Method in interface org.apache.http.pool.<A HREF="./org/apache/http/pool/ConnPoolControl.html" title="interface in org.apache.http.pool">ConnPoolControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#getMethod()"><B>getMethod()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicRequestLine.html#getMethod()"><B>getMethod()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicRequestLine.html" title="class in org.apache.http.message">BasicRequestLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/RequestLine.html#getMethod()"><B>getMethod()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/RequestLine.html" title="interface in org.apache.http">RequestLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpConnectionMetrics.html#getMetric(java.lang.String)"><B>getMetric(String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnectionMetrics.html" title="interface in org.apache.http">HttpConnectionMetrics</A>
<DD>Return the value for the specified metric.
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#getMetric(java.lang.String)"><B>getMetric(String)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpConnection.html#getMetrics()"><B>getMetrics()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http">HttpConnection</A>
<DD>Returns a collection of connection metrics.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#getMetrics()"><B>getMetrics()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#getMetrics()"><B>getMetrics()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#getMetrics()"><B>getMetrics()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#getMetrics()"><B>getMetrics()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#getMetrics()"><B>getMetrics()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/SessionInputBuffer.html#getMetrics()"><B>getMetrics()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>
<DD>Returns <A HREF="./org/apache/http/io/HttpTransportMetrics.html" title="interface in org.apache.http.io"><CODE>HttpTransportMetrics</CODE></A> for this session buffer.
<DT><A HREF="./org/apache/http/io/SessionOutputBuffer.html#getMetrics()"><B>getMetrics()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io">SessionOutputBuffer</A>
<DD>Returns <A HREF="./org/apache/http/io/HttpTransportMetrics.html" title="interface in org.apache.http.io"><CODE>HttpTransportMetrics</CODE></A> for this session buffer.
<DT><A HREF="./org/apache/http/entity/ContentType.html#getMimeType()"><B>getMimeType()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/ProtocolVersion.html#getMinor()"><B>getMinor()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Returns the minor version number of the HTTP protocol.
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#getMode()"><B>getMode()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>Returns the current mode:
<DT><A HREF="./org/apache/http/util/VersionInfo.html#getModule()"><B>getModule()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>Obtains the name of the versioned module or informal unit.
<DT><A HREF="./org/apache/http/Header.html#getName()"><B>getName()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/Header.html" title="interface in org.apache.http">Header</A>
<DD>Get the name of the Header.
<DT><A HREF="./org/apache/http/HeaderElement.html#getName()"><B>getName()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>
<DD>Returns header element name.
<DT><A HREF="./org/apache/http/message/BasicHeader.html#getName()"><B>getName()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeader.html" title="class in org.apache.http.message">BasicHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#getName()"><B>getName()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicNameValuePair.html#getName()"><B>getName()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicNameValuePair.html" title="class in org.apache.http.message">BasicNameValuePair</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BufferedHeader.html#getName()"><B>getName()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BufferedHeader.html" title="class in org.apache.http.message">BufferedHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/NameValuePair.html#getName()"><B>getName()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#getNames()"><B>getNames()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>Returns the current set of names;
 in the case of stacked parameters, returns the names
 from all the participating HttpParams instances.
 <p/>
 Dummy implementation - must be overridden by subclasses.
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#getNames()"><B>getNames()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD>Returns the current set of names.
<DT><A HREF="./org/apache/http/params/DefaultedHttpParams.html#getNames()"><B>getNames()</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/DefaultedHttpParams.html" title="class in org.apache.http.params">DefaultedHttpParams</A>
<DD>Returns the current set of names
 from both the local and default HttpParams instances.
<DT><A HREF="./org/apache/http/params/HttpParamsNames.html#getNames()"><B>getNames()</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParamsNames.html" title="interface in org.apache.http.params">HttpParamsNames</A>
<DD>Returns the current set of names;
 in the case of stacked parameters, returns the names
 from all the participating HttpParams instances.
<DT><A HREF="./org/apache/http/protocol/UriPatternMatcher.html#getObjects()"><B>getObjects()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/UriPatternMatcher.html" title="class in org.apache.http.protocol">UriPatternMatcher</A>
<DD>Returns the objects map.
<DT><A HREF="./org/apache/http/benchmark/CommandLineUtils.html#getOptions()"><B>getOptions()</B></A> - 
Static method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/CommandLineUtils.html" title="class in org.apache.http.benchmark">CommandLineUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#getOrDefault(org.apache.http.HttpEntity)"><B>getOrDefault(HttpEntity)</B></A> - 
Static method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>Extracts <code>Content-Type</code> value from <A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http"><CODE>HttpEntity</CODE></A> or returns default value
 if not explicitly specified.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#getOutputState()"><B>getOutputState()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/util/VersionInfo.html#getPackage()"><B>getPackage()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>Obtains the package name.
<DT><A HREF="./org/apache/http/HeaderElement.html#getParameter(int)"><B>getParameter(int)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>
<DD>Returns parameter with the given index.
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#getParameter(int)"><B>getParameter(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#getParameter(java.lang.String)"><B>getParameter(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/DefaultedHttpParams.html#getParameter(java.lang.String)"><B>getParameter(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/DefaultedHttpParams.html" title="class in org.apache.http.params">DefaultedHttpParams</A>
<DD>Retrieves the value of the parameter from the local collection and, if the
 parameter is not set locally, delegates its resolution to the default
 collection.
<DT><A HREF="./org/apache/http/params/HttpParams.html#getParameter(java.lang.String)"><B>getParameter(String)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Obtains the value of the given parameter.
<DT><A HREF="./org/apache/http/params/SyncBasicHttpParams.html#getParameter(java.lang.String)"><B>getParameter(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/SyncBasicHttpParams.html" title="class in org.apache.http.params">SyncBasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HeaderElement.html#getParameterByName(java.lang.String)"><B>getParameterByName(String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>
<DD>Returns the first parameter with the given name.
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#getParameterByName(java.lang.String)"><B>getParameterByName(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HeaderElement.html#getParameterCount()"><B>getParameterCount()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>
<DD>Returns the total count of parameters.
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#getParameterCount()"><B>getParameterCount()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HeaderElement.html#getParameters()"><B>getParameters()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>
<DD>Returns an array of name / value pairs.
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#getParameters()"><B>getParameters()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpMessage.html#getParams()"><B>getParams()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Returns the parameters effective for this message as set by
 <A HREF="./org/apache/http/HttpMessage.html#setParams(org.apache.http.params.HttpParams)"><CODE>HttpMessage.setParams(HttpParams)</CODE></A>.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#getParams()"><B>getParams()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#getParams()"><B>getParams()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpService.html#getParams()"><B>getParams()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#getPayloadFile()"><B>getPayloadFile()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#getPayloadText()"><B>getPayloadText()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/PoolStats.html#getPending()"><B>getPending()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolStats.html" title="class in org.apache.http.pool">PoolStats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHost.html#getPort()"><B>getPort()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>Returns the port.
<DT><A HREF="./org/apache/http/message/ParserCursor.html#getPos()"><B>getPos()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/ParserCursor.html" title="class in org.apache.http.message">ParserCursor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#getProducingEntity()"><B>getProducingEntity()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#getProducingEntity()"><B>getProducingEntity()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/ProtocolVersion.html#getProtocol()"><B>getProtocol()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Returns the name of the protocol.
<DT><A HREF="./org/apache/http/HttpMessage.html#getProtocolVersion()"><B>getProtocolVersion()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Returns the protocol version this message is compatible with.
<DT><A HREF="./org/apache/http/message/BasicHttpRequest.html#getProtocolVersion()"><B>getProtocolVersion()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpRequest.html" title="class in org.apache.http.message">BasicHttpRequest</A>
<DD>Returns the HTTP protocol version to be used for this request.
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#getProtocolVersion()"><B>getProtocolVersion()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicRequestLine.html#getProtocolVersion()"><B>getProtocolVersion()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicRequestLine.html" title="class in org.apache.http.message">BasicRequestLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicStatusLine.html#getProtocolVersion()"><B>getProtocolVersion()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicStatusLine.html" title="class in org.apache.http.message">BasicStatusLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/RequestLine.html#getProtocolVersion()"><B>getProtocolVersion()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/RequestLine.html" title="interface in org.apache.http">RequestLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/StatusLine.html#getProtocolVersion()"><B>getProtocolVersion()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/StatusLine.html" title="interface in org.apache.http">StatusLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/EnglishReasonPhraseCatalog.html#getReason(int, java.util.Locale)"><B>getReason(int, Locale)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/EnglishReasonPhraseCatalog.html" title="class in org.apache.http.impl">EnglishReasonPhraseCatalog</A>
<DD>Obtains the reason phrase for a status code.
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#getReason(int)"><B>getReason(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>Looks up a reason phrase.
<DT><A HREF="./org/apache/http/ReasonPhraseCatalog.html#getReason(int, java.util.Locale)"><B>getReason(int, Locale)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/ReasonPhraseCatalog.html" title="interface in org.apache.http">ReasonPhraseCatalog</A>
<DD>Obtains the reason phrase for a status code.
<DT><A HREF="./org/apache/http/message/BasicStatusLine.html#getReasonPhrase()"><B>getReasonPhrase()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicStatusLine.html" title="class in org.apache.http.message">BasicStatusLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/StatusLine.html#getReasonPhrase()"><B>getReasonPhrase()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/StatusLine.html" title="interface in org.apache.http">StatusLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpConnectionMetrics.html#getReceivedBytesCount()"><B>getReceivedBytesCount()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnectionMetrics.html" title="interface in org.apache.http">HttpConnectionMetrics</A>
<DD>Returns the number of bytes transferred over the connection,
 0 if not available.
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#getReceivedBytesCount()"><B>getReceivedBytesCount()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/VersionInfo.html#getRelease()"><B>getRelease()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>Obtains the release of the versioned module or informal unit.
<DT><A HREF="./org/apache/http/HttpInetConnection.html#getRemoteAddress()"><B>getRemoteAddress()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpInetConnection.html" title="interface in org.apache.http">HttpInetConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#getRemoteAddress()"><B>getRemoteAddress()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#getRemoteAddress()"><B>getRemoteAddress()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#getRemoteAddress()"><B>getRemoteAddress()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#getRemoteAddress()"><B>getRemoteAddress()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#getRemoteAddress()"><B>getRemoteAddress()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#getRemoteAddress()"><B>getRemoteAddress()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Returns address of the remote peer.
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequest.html#getRemoteAddress()"><B>getRemoteAddress()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor">SessionRequest</A>
<DD>Returns socket address of the remote host.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#getRemoteAddress()"><B>getRemoteAddress()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpInetConnection.html#getRemotePort()"><B>getRemotePort()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpInetConnection.html" title="interface in org.apache.http">HttpInetConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#getRemotePort()"><B>getRemotePort()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#getRemotePort()"><B>getRemotePort()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#getRemotePort()"><B>getRemotePort()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#getRequest()"><B>getRequest()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#getRequest()"><B>getRequest()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html#getRequest()"><B>getRequest()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol">HttpAsyncExchange</A>
<DD>Returns the received HTTP request message.
<DT><A HREF="./org/apache/http/HttpConnectionMetrics.html#getRequestCount()"><B>getRequestCount()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnectionMetrics.html" title="interface in org.apache.http">HttpConnectionMetrics</A>
<DD>Returns the number of requests transferred over the connection,
 0 if not available.
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#getRequestCount()"><B>getRequestCount()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#getRequestHandler()"><B>getRequestHandler()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#getRequestInterceptor(int)"><B>getRequestInterceptor(int)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html#getRequestInterceptor(int)"><B>getRequestInterceptor(int)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html" title="interface in org.apache.http.protocol">HttpRequestInterceptorList</A>
<DD>Obtains a request interceptor from this list.
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#getRequestInterceptorCount()"><B>getRequestInterceptorCount()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html#getRequestInterceptorCount()"><B>getRequestInterceptorCount()</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html" title="interface in org.apache.http.protocol">HttpRequestInterceptorList</A>
<DD>Obtains the current size of this list.
<DT><A HREF="./org/apache/http/HttpRequest.html#getRequestLine()"><B>getRequestLine()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http">HttpRequest</A>
<DD>Returns the request line of this request.
<DT><A HREF="./org/apache/http/message/BasicHttpRequest.html#getRequestLine()"><B>getRequestLine()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpRequest.html" title="class in org.apache.http.message">BasicHttpRequest</A>
<DD>Returns the request line of this request.
<DT><A HREF="./org/apache/http/benchmark/Config.html#getRequests()"><B>getRequests()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestHandle.html#getRequestTime()"><B>getRequestTime()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestHandle.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestHandle</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#getResponse()"><B>getResponse()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#getResponse()"><B>getResponse()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html#getResponse()"><B>getResponse()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol">HttpAsyncExchange</A>
<DD>Returns the default HTTP response message.
<DT><A HREF="./org/apache/http/HttpConnectionMetrics.html#getResponseCount()"><B>getResponseCount()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnectionMetrics.html" title="interface in org.apache.http">HttpConnectionMetrics</A>
<DD>Returns the number of responses transferred over the connection,
 0 if not available.
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#getResponseCount()"><B>getResponseCount()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#getResponseInterceptor(int)"><B>getResponseInterceptor(int)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html#getResponseInterceptor(int)"><B>getResponseInterceptor(int)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html" title="interface in org.apache.http.protocol">HttpResponseInterceptorList</A>
<DD>Obtains a response interceptor from this list.
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#getResponseInterceptorCount()"><B>getResponseInterceptorCount()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html#getResponseInterceptorCount()"><B>getResponseInterceptorCount()</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html" title="interface in org.apache.http.protocol">HttpResponseInterceptorList</A>
<DD>Obtains the current size of this list.
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#getResult()"><B>getResult()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#getResult()"><B>getResult()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#getResult()"><B>getResult()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html#getResult()"><B>getResult()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestConsumer</A>
<DD>Returns a result of the request execution, when available.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html#getResult()"><B>getResult()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncResponseConsumer</A>
<DD>Returns a result of the response processing, when available.
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#getRoute()"><B>getRoute()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHost.html#getSchemeName()"><B>getSchemeName()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>Returns the scheme name.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#getSelectInterval()"><B>getSelectInterval()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Determines time interval in milliseconds at which the I/O reactor wakes up to check for
 timed out sessions and session requests.
<DT><A HREF="./org/apache/http/nio/params/NIOReactorParams.html#getSelectInterval(org.apache.http.params.HttpParams)"><B>getSelectInterval(HttpParams)</B></A> - 
Static method in class org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorParams.html" title="class in org.apache.http.nio.params">NIOReactorParams</A>
<DD><B>Deprecated.</B>&nbsp;Obtains the value of <A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#SELECT_INTERVAL"><CODE>NIOReactorPNames.SELECT_INTERVAL</CODE></A> parameter.
<DT><A HREF="./org/apache/http/HttpConnectionMetrics.html#getSentBytesCount()"><B>getSentBytesCount()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnectionMetrics.html" title="interface in org.apache.http">HttpConnectionMetrics</A>
<DD>Returns the number of bytes transferred over the connection,
 0 if not available.
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#getSentBytesCount()"><B>getSentBytesCount()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#getServerName()"><B>getServerName()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#getSession(java.nio.channels.SelectionKey)"><B>getSession(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<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.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html#getSession()"><B>getSession()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html" title="class in org.apache.http.impl.nio.reactor">SessionHandle</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#getSession()"><B>getSession()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequest.html#getSession()"><B>getSession()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor">SessionRequest</A>
<DD>Returns <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A> instance created as a result of this request
 or <code>null</code> if the request is still pending.
<DT><A HREF="./org/apache/http/impl/nio/reactor/ChannelEntry.html#getSessionRequest()"><B>getSessionRequest()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ChannelEntry.html" title="class in org.apache.http.impl.nio.reactor">ChannelEntry</A>
<DD>Returns the original session request, if available.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestHandle.html#getSessionRequest()"><B>getSessionRequest()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestHandle.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestHandle</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#getShutdownGracePeriod()"><B>getShutdownGracePeriod()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Determines grace period in milliseconds the I/O reactors are expected to block waiting
 for individual worker threads to terminate cleanly.
<DT><A HREF="./org/apache/http/benchmark/Config.html#getSoapAction()"><B>getSoapAction()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#getSocket()"><B>getSocket()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#getSocket()"><B>getSocket()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#getSocket()"><B>getSocket()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#getSocket()"><B>getSocket()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SocketAccessor.html#getSocket()"><B>getSocket()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SocketAccessor.html" title="interface in org.apache.http.nio.reactor">SocketAccessor</A>
<DD>Return the underlying socket
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#getSocket()"><B>getSocket()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#getSocketBufferSize(org.apache.http.params.HttpParams)"><B>getSocketBufferSize(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#SOCKET_BUFFER_SIZE"><CODE>CoreConnectionPNames.SOCKET_BUFFER_SIZE</CODE></A>
 parameter.
<DT><A HREF="./org/apache/http/benchmark/Config.html#getSocketTimeout()"><B>getSocketTimeout()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpConnection.html#getSocketTimeout()"><B>getSocketTimeout()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http">HttpConnection</A>
<DD>Returns the socket timeout value.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#getSocketTimeout()"><B>getSocketTimeout()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#getSocketTimeout()"><B>getSocketTimeout()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#getSocketTimeout()"><B>getSocketTimeout()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#getSocketTimeout()"><B>getSocketTimeout()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#getSocketTimeout()"><B>getSocketTimeout()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Returns value of the socket timeout in milliseconds.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#getSocketTimeout()"><B>getSocketTimeout()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#getSoKeepalive(org.apache.http.params.HttpParams)"><B>getSoKeepalive(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_KEEPALIVE"><CODE>CoreConnectionPNames.SO_KEEPALIVE</CODE></A> parameter.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#getSoLinger()"><B>getSoLinger()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Determines the default value of the <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketOptions.html#SO_LINGER" title="class or interface in java.net"><CODE>SocketOptions.SO_LINGER</CODE></A> parameter
 for newly created sockets.
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#getSoReuseaddr(org.apache.http.params.HttpParams)"><B>getSoReuseaddr(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_REUSEADDR"><CODE>CoreConnectionPNames.SO_REUSEADDR</CODE></A> parameter.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#getSoTimeout()"><B>getSoTimeout()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Determines the default socket timeout value for non-blocking I/O operations.
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#getSoTimeout(org.apache.http.params.HttpParams)"><B>getSoTimeout(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_TIMEOUT"><CODE>CoreConnectionPNames.SO_TIMEOUT</CODE></A> parameter.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#getSSLSession()"><B>getSSLSession()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#getSSLSetupHandler()"><B>getSSLSetupHandler()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#getStartedTime()"><B>getStartedTime()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html#getStartedTime()"><B>getStartedTime()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html" title="class in org.apache.http.impl.nio.reactor">SessionHandle</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#getStartTime()"><B>getStartTime()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#getState()"><B>getState()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#getStats(T)"><B>getStats(T)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#getStats(T)"><B>getStats(T)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/ConnPoolControl.html#getStats(T)"><B>getStats(T)</B></A> - 
Method in interface org.apache.http.pool.<A HREF="./org/apache/http/pool/ConnPoolControl.html" title="interface in org.apache.http.pool">ConnPoolControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#getStatus()"><B>getStatus()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#getStatus()"><B>getStatus()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#getStatus()"><B>getStatus()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#getStatus()"><B>getStatus()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpConnection.html#getStatus()"><B>getStatus()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpConnection.html" title="interface in org.apache.http.nio">NHttpConnection</A>
<DD>Returns status of the connection:
<DT><A HREF="./org/apache/http/nio/reactor/IOReactor.html#getStatus()"><B>getStatus()</B></A> - 
Method in 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>
<DD>Returns the current status of the reactor.
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#getStatus()"><B>getStatus()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Returns status of the session:
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#getStatus()"><B>getStatus()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicStatusLine.html#getStatusCode()"><B>getStatusCode()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicStatusLine.html" title="class in org.apache.http.message">BasicStatusLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/StatusLine.html#getStatusCode()"><B>getStatusCode()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/StatusLine.html" title="interface in org.apache.http">StatusLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpResponse.html#getStatusLine()"><B>getStatusLine()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http">HttpResponse</A>
<DD>Obtains the status line of this response.
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#getStatusLine()"><B>getStatusLine()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/EncodingUtils.html#getString(byte[], int, int, java.lang.String)"><B>getString(byte[], int, int, String)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EncodingUtils.html" title="class in org.apache.http.util">EncodingUtils</A>
<DD>Converts the byte array of HTTP content characters to a string.
<DT><A HREF="./org/apache/http/util/EncodingUtils.html#getString(byte[], java.lang.String)"><B>getString(byte[], String)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EncodingUtils.html" title="class in org.apache.http.util">EncodingUtils</A>
<DD>Converts the byte array of HTTP content characters to a string.
<DT><A HREF="./org/apache/http/benchmark/Stats.html#getSuccessCount()"><B>getSuccessCount()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#getTarget()"><B>getTarget()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html#getTarget()"><B>getTarget()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html#getTarget()"><B>getTarget()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestProducer</A>
<DD>Invoked to obtain the request target host.
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#getTcpNoDelay(org.apache.http.params.HttpParams)"><B>getTcpNoDelay(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#TCP_NODELAY"><CODE>CoreConnectionPNames.TCP_NODELAY</CODE></A> parameter.
<DT><A HREF="./org/apache/http/benchmark/Config.html#getThreads()"><B>getThreads()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#getTimeout()"><B>getTimeout()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html#getTimeout()"><B>getTimeout()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol">HttpAsyncExchange</A>
<DD>Returns timeout for this message exchange.
<DT><A HREF="./org/apache/http/impl/nio/reactor/ExceptionEvent.html#getTimestamp()"><B>getTimestamp()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ExceptionEvent.html" title="class in org.apache.http.impl.nio.reactor">ExceptionEvent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/VersionInfo.html#getTimestamp()"><B>getTimestamp()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>Obtains the timestamp of the versioned module or informal unit.
<DT><A HREF="./org/apache/http/benchmark/Stats.html#getTotalBytesRecv()"><B>getTotalBytesRecv()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#getTotalBytesSent()"><B>getTotalBytesSent()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#getTotalStats()"><B>getTotalStats()</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#getTotalStats()"><B>getTotalStats()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/ConnPoolControl.html#getTotalStats()"><B>getTotalStats()</B></A> - 
Method in interface org.apache.http.pool.<A HREF="./org/apache/http/pool/ConnPoolControl.html" title="interface in org.apache.http.pool">ConnPoolControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#getTrustStorePassword()"><B>getTrustStorePassword()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#getTrustStorePath()"><B>getTrustStorePath()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#getUnmappableInputAction(org.apache.http.params.HttpParams)"><B>getUnmappableInputAction(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Obtains the value of the  <A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_UNMAPPABLE_INPUT_ACTION"><CODE>CoreProtocolPNames.HTTP_UNMAPPABLE_INPUT_ACTION</CODE></A> parameter.
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#getUpdated()"><B>getUpdated()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/ParserCursor.html#getUpperBound()"><B>getUpperBound()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/ParserCursor.html" title="class in org.apache.http.message">ParserCursor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicRequestLine.html#getUri()"><B>getUri()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicRequestLine.html" title="class in org.apache.http.message">BasicRequestLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/RequestLine.html#getUri()"><B>getUri()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/RequestLine.html" title="interface in org.apache.http">RequestLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#getUrl()"><B>getUrl()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#getUserAgent(org.apache.http.params.HttpParams)"><B>getUserAgent(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#USER_AGENT"><CODE>CoreProtocolPNames.USER_AGENT</CODE></A> parameter.
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#getValidUnit()"><B>getValidUnit()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/Header.html#getValue()"><B>getValue()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/Header.html" title="interface in org.apache.http">Header</A>
<DD>Get the value of the Header.
<DT><A HREF="./org/apache/http/HeaderElement.html#getValue()"><B>getValue()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HeaderElement.html" title="interface in org.apache.http">HeaderElement</A>
<DD>Returns header element value.
<DT><A HREF="./org/apache/http/message/BasicHeader.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeader.html" title="class in org.apache.http.message">BasicHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicNameValuePair.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicNameValuePair.html" title="class in org.apache.http.message">BasicNameValuePair</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BufferedHeader.html#getValue()"><B>getValue()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BufferedHeader.html" title="class in org.apache.http.message">BufferedHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/NameValuePair.html#getValue()"><B>getValue()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/NameValuePair.html" title="interface in org.apache.http">NameValuePair</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/FormattedHeader.html#getValuePos()"><B>getValuePos()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/FormattedHeader.html" title="interface in org.apache.http">FormattedHeader</A>
<DD>Obtains the start of the header value in the <A HREF="./org/apache/http/FormattedHeader.html#getBuffer()"><CODE>buffer</CODE></A>.
<DT><A HREF="./org/apache/http/message/BufferedHeader.html#getValuePos()"><B>getValuePos()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BufferedHeader.html" title="class in org.apache.http.message">BufferedHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#getVerbosity()"><B>getVerbosity()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#getVersion(org.apache.http.params.HttpParams)"><B>getVersion(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#PROTOCOL_VERSION"><CODE>CoreProtocolPNames.PROTOCOL_VERSION</CODE></A> parameter.
<DT><A HREF="./org/apache/http/benchmark/Stats.html#getWriteErrors()"><B>getWriteErrors()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpDateGenerator.html#GMT"><B>GMT</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpDateGenerator.html" title="class in org.apache.http.protocol">HttpDateGenerator</A>
<DD>The time zone to use in the date header.
<DT><A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#GRACE_PERIOD"><B>GRACE_PERIOD</B></A> - 
Static variable in interface org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorPNames.html" title="interface in org.apache.http.nio.params">NIOReactorPNames</A>
<DD><B>Deprecated.</B>&nbsp;Determines the grace period the I/O reactors are expected to block
 waiting for individual worker threads to terminate cleanly.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#gracefulShutdown()"><B>gracefulShutdown()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Attempts graceful shutdown of this I/O reactor.
<DT><A HREF="./org/apache/http/ProtocolVersion.html#greaterEquals(org.apache.http.ProtocolVersion)"><B>greaterEquals(ProtocolVersion)</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Tests if this protocol version is greater or equal to the given one.
<DT><A HREF="./org/apache/http/annotation/GuardedBy.html" title="annotation in org.apache.http.annotation"><B>GuardedBy</B></A> - Annotation Type in <A HREF="./org/apache/http/annotation/package-summary.html">org.apache.http.annotation</A><DD>The field or method to which this annotation is applied can only be accessed
 when holding a particular lock, which may be a built-in (synchronization) lock,
 or may be an explicit java.util.concurrent.Lock.</DL>
<HR>
<A NAME="_H_"><!-- --></A><H2>
<B>H</B></H2>
<DL>
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestHandler.html#handle(org.apache.http.HttpRequest, org.apache.http.nio.protocol.HttpAsyncExchange, org.apache.http.protocol.HttpContext)"><B>handle(HttpRequest, HttpAsyncExchange, HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandler.html#handle(T, org.apache.http.nio.protocol.HttpAsyncExchange, org.apache.http.protocol.HttpContext)"><B>handle(T, HttpAsyncExchange, HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestHandler</A>
<DD>Triggered to complete request processing and to initiate the process of
 generating a response.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandler.html#handle(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.nio.protocol.NHttpResponseTrigger, org.apache.http.protocol.HttpContext)"><B>handle(HttpRequest, HttpResponse, NHttpResponseTrigger, HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestHandler.html" title="interface in org.apache.http.nio.protocol">NHttpRequestHandler</A>
<DD><B>Deprecated.</B>&nbsp;Initiates processing of the request.
<DT><A HREF="./org/apache/http/nio/protocol/SimpleNHttpRequestHandler.html#handle(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.nio.protocol.NHttpResponseTrigger, org.apache.http.protocol.HttpContext)"><B>handle(HttpRequest, HttpResponse, NHttpResponseTrigger, HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/SimpleNHttpRequestHandler.html" title="class in org.apache.http.nio.protocol">SimpleNHttpRequestHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/SimpleNHttpRequestHandler.html#handle(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>handle(HttpRequest, HttpResponse, HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/SimpleNHttpRequestHandler.html" title="class in org.apache.http.nio.protocol">SimpleNHttpRequestHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOReactorExceptionHandler.html#handle(java.io.IOException)"><B>handle(IOException)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOReactorExceptionHandler.html" title="interface in org.apache.http.nio.reactor">IOReactorExceptionHandler</A>
<DD>This method is expected to examine the I/O exception passed as
 a parameter and decide whether it is safe to continue execution of
 the I/O reactor.
<DT><A HREF="./org/apache/http/nio/reactor/IOReactorExceptionHandler.html#handle(java.lang.RuntimeException)"><B>handle(RuntimeException)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOReactorExceptionHandler.html" title="interface in org.apache.http.nio.reactor">IOReactorExceptionHandler</A>
<DD>This method is expected to examine the runtime exception passed as
 a parameter and decide whether it is safe to continue execution of
 the I/O reactor.
<DT><A HREF="./org/apache/http/protocol/HttpRequestHandler.html#handle(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>handle(HttpRequest, HttpResponse, HttpContext)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestHandler.html" title="interface in org.apache.http.protocol">HttpRequestHandler</A>
<DD>Handles the request and produces a response to be sent back to
 the client.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#handleException(java.lang.Exception, org.apache.http.protocol.HttpContext)"><B>handleException(Exception, HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpResponseTrigger.html#handleException(org.apache.http.HttpException)"><B>handleException(HttpException)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpResponseTrigger.html" title="interface in org.apache.http.nio.protocol">NHttpResponseTrigger</A>
<DD><B>Deprecated.</B>&nbsp;Reports a protocol exception thrown while processing the request.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpResponseTrigger.html#handleException(java.io.IOException)"><B>handleException(IOException)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpResponseTrigger.html" title="interface in org.apache.http.nio.protocol">NHttpResponseTrigger</A>
<DD><B>Deprecated.</B>&nbsp;Report an IOException thrown while processing the request.
<DT><A HREF="./org/apache/http/protocol/HttpService.html#handleException(org.apache.http.HttpException, org.apache.http.HttpResponse)"><B>handleException(HttpException, HttpResponse)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD>Handles the given exception and generates an HTTP response to be sent
 back to the client to inform about the exceptional condition encountered
 in the course of the request processing.
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#handler"><B>handler</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#handler"><B>handler</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#handler"><B>handler</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#handler"><B>handler</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpService.html#handleRequest(org.apache.http.HttpServerConnection, org.apache.http.protocol.HttpContext)"><B>handleRequest(HttpServerConnection, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD>Handles receives one HTTP request over the given connection within the
 given execution context and sends a response back to the client.
<DT><A HREF="./org/apache/http/nio/protocol/HttpRequestExecutionHandler.html#handleResponse(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>handleResponse(HttpResponse, HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">HttpRequestExecutionHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when an HTTP response is ready to be processed.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestExecutionHandler.html#handleResponse(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>handleResponse(HttpResponse, HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">NHttpRequestExecutionHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when an HTTP response is ready to be processed.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#handlerResolver"><B>handlerResolver</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#handlerResolver"><B>handlerResolver</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#handleRuntimeException(java.lang.RuntimeException)"><B>handleRuntimeException(RuntimeException)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>Handles the given <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/RuntimeException.html" title="class or interface in java.lang"><CODE>RuntimeException</CODE></A>.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#handleTimeout(org.apache.http.nio.NHttpConnection)"><B>handleTimeout(NHttpConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#hardShutdown()"><B>hardShutdown()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Attempts force-shutdown of this I/O reactor.
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#hasBufferedData()"><B>hasBufferedData()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#hasBufferedInput"><B>hasBufferedInput</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#hasBufferedInput()"><B>hasBufferedInput()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#hasBufferedInput()"><B>hasBufferedInput()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#hasBufferedInput()"><B>hasBufferedInput()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Determines if the input buffer associated with the session contains data.
<DT><A HREF="./org/apache/http/nio/reactor/SessionBufferStatus.html#hasBufferedInput()"><B>hasBufferedInput()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionBufferStatus.html" title="interface in org.apache.http.nio.reactor">SessionBufferStatus</A>
<DD>Determines if the session input buffer contains data.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#hasBufferedInput()"><B>hasBufferedInput()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#hasBufferedOutput"><B>hasBufferedOutput</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#hasBufferedOutput()"><B>hasBufferedOutput()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#hasBufferedOutput()"><B>hasBufferedOutput()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#hasBufferedOutput()"><B>hasBufferedOutput()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Determines if the output buffer associated with the session contains
 data.
<DT><A HREF="./org/apache/http/nio/reactor/SessionBufferStatus.html#hasBufferedOutput()"><B>hasBufferedOutput()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionBufferStatus.html" title="interface in org.apache.http.nio.reactor">SessionBufferStatus</A>
<DD>Determines if the session output buffer contains data.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#hasBufferedOutput()"><B>hasBufferedOutput()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html#hasData()"><B>hasData()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionInputBuffer</A>
<DD>Determines if the buffer contains data.
<DT><A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html#hasData()"><B>hasData()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionOutputBuffer</A>
<DD>Determines if the buffer contains data.
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#hasData()"><B>hasData()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>Determines if the buffer contains data.
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#hasData()"><B>hasData()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#hasData()"><B>hasData()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/LangUtils.html#HASH_OFFSET"><B>HASH_OFFSET</B></A> - 
Static variable in class org.apache.http.util.<A HREF="./org/apache/http/util/LangUtils.html" title="class in org.apache.http.util">LangUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/LangUtils.html#HASH_SEED"><B>HASH_SEED</B></A> - 
Static variable in class org.apache.http.util.<A HREF="./org/apache/http/util/LangUtils.html" title="class in org.apache.http.util">LangUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHost.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicNameValuePair.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicNameValuePair.html" title="class in org.apache.http.message">BasicNameValuePair</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/ProtocolVersion.html#hashCode()"><B>hashCode()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Obtains a hash code consistent with <A HREF="./org/apache/http/ProtocolVersion.html#equals(java.lang.Object)"><CODE>ProtocolVersion.equals(java.lang.Object)</CODE></A>.
<DT><A HREF="./org/apache/http/util/LangUtils.html#hashCode(int, int)"><B>hashCode(int, int)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/LangUtils.html" title="class in org.apache.http.util">LangUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/LangUtils.html#hashCode(int, boolean)"><B>hashCode(int, boolean)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/LangUtils.html" title="class in org.apache.http.util">LangUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/LangUtils.html#hashCode(int, java.lang.Object)"><B>hashCode(int, Object)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/LangUtils.html" title="class in org.apache.http.util">LangUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HeaderElementIterator.html#hasNext()"><B>hasNext()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HeaderElementIterator.html" title="interface in org.apache.http">HeaderElementIterator</A>
<DD>Indicates whether there is another header element in this
 iteration.
<DT><A HREF="./org/apache/http/HeaderIterator.html#hasNext()"><B>hasNext()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HeaderIterator.html" title="interface in org.apache.http">HeaderIterator</A>
<DD>Indicates whether there is another header in this iteration.
<DT><A HREF="./org/apache/http/message/BasicHeaderElementIterator.html#hasNext()"><B>hasNext()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElementIterator.html" title="class in org.apache.http.message">BasicHeaderElementIterator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderIterator.html#hasNext()"><B>hasNext()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message">BasicHeaderIterator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html#hasNext()"><B>hasNext()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message">BasicListHeaderIterator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#hasNext()"><B>hasNext()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/TokenIterator.html#hasNext()"><B>hasNext()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/TokenIterator.html" title="interface in org.apache.http">TokenIterator</A>
<DD>Indicates whether there is another token in this iteration.
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#hasProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>hasProtocolVersion(CharArrayBuffer, ParserCursor)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/LineParser.html#hasProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>hasProtocolVersion(CharArrayBuffer, ParserCursor)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A>
<DD>Checks whether there likely is a protocol version in a line.
<DT><A HREF="./org/apache/http/Header.html" title="interface in org.apache.http"><B>Header</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Represents an HTTP header field.<DT><A HREF="./org/apache/http/HeaderElement.html" title="interface in org.apache.http"><B>HeaderElement</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>One element of an HTTP <A HREF="./org/apache/http/Header.html" title="interface in org.apache.http"><CODE>header</CODE></A> value consisting of
 a name / value pair and a number of optional name / value parameters.<DT><A HREF="./org/apache/http/HeaderElementIterator.html" title="interface in org.apache.http"><B>HeaderElementIterator</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>A type-safe iterator for <A HREF="./org/apache/http/HeaderElement.html" title="interface in org.apache.http"><CODE>HeaderElement</CODE></A> objects.<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#headergroup"><B>headergroup</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message"><B>HeaderGroup</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>A class for combining a set of headers.<DT><A HREF="./org/apache/http/message/HeaderGroup.html#HeaderGroup()"><B>HeaderGroup()</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Constructor for HeaderGroup.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#headerIt"><B>headerIt</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>The iterator from which to obtain the next header.
<DT><A HREF="./org/apache/http/HeaderIterator.html" title="interface in org.apache.http"><B>HeaderIterator</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>A type-safe iterator for <A HREF="./org/apache/http/Header.html" title="interface in org.apache.http"><CODE>Header</CODE></A> objects.<DT><A HREF="./org/apache/http/HttpMessage.html#headerIterator()"><B>headerIterator()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Returns an iterator of all the headers.
<DT><A HREF="./org/apache/http/HttpMessage.html#headerIterator(java.lang.String)"><B>headerIterator(String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Returns an iterator of the headers with a given name.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#headerIterator()"><B>headerIterator()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#headerIterator(java.lang.String)"><B>headerIterator(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderIterator.html#headerName"><B>headerName</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message">BasicHeaderIterator</A>
<DD>The header name to filter by.
<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html#headerName"><B>headerName</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message">BasicListHeaderIterator</A>
<DD>The header name to filter by.
<DT><A HREF="./org/apache/http/message/HeaderValueFormatter.html" title="interface in org.apache.http.message"><B>HeaderValueFormatter</B></A> - Interface in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Interface for formatting elements of a header value.<DT><A HREF="./org/apache/http/message/HeaderValueParser.html" title="interface in org.apache.http.message"><B>HeaderValueParser</B></A> - Interface in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Interface for parsing header values into elements.<DT><A HREF="./org/apache/http/nio/util/HeapByteBufferAllocator.html" title="class in org.apache.http.nio.util"><B>HeapByteBufferAllocator</B></A> - Class in <A HREF="./org/apache/http/nio/util/package-summary.html">org.apache.http.nio.util</A><DD>Allocates <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/ByteBuffer.html" title="class or interface in java.nio"><CODE>ByteBuffer</CODE></A> instances using
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/nio/ByteBuffer.html#allocate(int)" title="class or interface in java.nio"><CODE>ByteBuffer.allocate(int)</CODE></A>.<DT><A HREF="./org/apache/http/nio/util/HeapByteBufferAllocator.html#HeapByteBufferAllocator()"><B>HeapByteBufferAllocator()</B></A> - 
Constructor for class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/HeapByteBufferAllocator.html" title="class in org.apache.http.nio.util">HeapByteBufferAllocator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#HOST"><B>HOST</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.23
<DT><A HREF="./org/apache/http/HttpHost.html#hostname"><B>hostname</B></A> - 
Variable in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>The host to use.
<DT><A HREF="./org/apache/http/Consts.html#HT"><B>HT</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/Consts.html" title="class in org.apache.http">Consts</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#HT"><B>HT</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpVersion.html#HTTP"><B>HTTP</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpVersion.html" title="class in org.apache.http">HttpVersion</A>
<DD>The protocol name.
<DT><A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol"><B>HTTP</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>Constants and static helpers related to the HTTP protocol.<DT><A HREF="./org/apache/http/HttpVersion.html#HTTP_0_9"><B>HTTP_0_9</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpVersion.html" title="class in org.apache.http">HttpVersion</A>
<DD>HTTP protocol version 0.9
<DT><A HREF="./org/apache/http/HttpVersion.html#HTTP_1_0"><B>HTTP_1_0</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpVersion.html" title="class in org.apache.http">HttpVersion</A>
<DD>HTTP protocol version 1.0
<DT><A HREF="./org/apache/http/HttpVersion.html#HTTP_1_1"><B>HTTP_1_1</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpVersion.html" title="class in org.apache.http">HttpVersion</A>
<DD>HTTP protocol version 1.1
<DT><A HREF="./org/apache/http/protocol/ExecutionContext.html#HTTP_CONNECTION"><B>HTTP_CONNECTION</B></A> - 
Static variable in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ExecutionContext.html" title="interface in org.apache.http.protocol">ExecutionContext</A>
<DD>Attribute name of a <A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http"><CODE>HttpConnection</CODE></A> object that
 represents the actual HTTP connection.
<DT><A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_CONTENT_CHARSET"><B>HTTP_CONTENT_CHARSET</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreProtocolPNames.html" title="interface in org.apache.http.params">CoreProtocolPNames</A>
<DD>Defines the charset to be used per default for encoding content body.
<DT><A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_ELEMENT_CHARSET"><B>HTTP_ELEMENT_CHARSET</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreProtocolPNames.html" title="interface in org.apache.http.params">CoreProtocolPNames</A>
<DD>Defines the charset to be used for encoding HTTP protocol elements.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#HTTP_HANDLER"><B>HTTP_HANDLER</B></A> - 
Static variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_MALFORMED_INPUT_ACTION"><B>HTTP_MALFORMED_INPUT_ACTION</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreProtocolPNames.html" title="interface in org.apache.http.params">CoreProtocolPNames</A>
<DD>
 Defines the action to perform upon receiving a malformed input.
<DT><A HREF="./org/apache/http/protocol/ExecutionContext.html#HTTP_PROXY_HOST"><B>HTTP_PROXY_HOST</B></A> - 
Static variable in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ExecutionContext.html" title="interface in org.apache.http.protocol">ExecutionContext</A>
<DD>Attribute name of a <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A> object that
 represents the connection proxy.
<DT><A HREF="./org/apache/http/protocol/ExecutionContext.html#HTTP_REQ_SENT"><B>HTTP_REQ_SENT</B></A> - 
Static variable in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ExecutionContext.html" title="interface in org.apache.http.protocol">ExecutionContext</A>
<DD>Attribute name of a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Boolean.html" title="class or interface in java.lang"><CODE>Boolean</CODE></A> object that represents the
 the flag indicating whether the actual request has been fully transmitted
 to the target host.
<DT><A HREF="./org/apache/http/protocol/ExecutionContext.html#HTTP_REQUEST"><B>HTTP_REQUEST</B></A> - 
Static variable in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ExecutionContext.html" title="interface in org.apache.http.protocol">ExecutionContext</A>
<DD>Attribute name of a <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A> object that
 represents the actual HTTP request.
<DT><A HREF="./org/apache/http/protocol/ExecutionContext.html#HTTP_RESPONSE"><B>HTTP_RESPONSE</B></A> - 
Static variable in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ExecutionContext.html" title="interface in org.apache.http.protocol">ExecutionContext</A>
<DD>Attribute name of a <A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><CODE>HttpResponse</CODE></A> object that
 represents the actual HTTP response.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#HTTP_SEPARATORS"><B>HTTP_SEPARATORS</B></A> - 
Static variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>The HTTP separator characters.
<DT><A HREF="./org/apache/http/protocol/ExecutionContext.html#HTTP_TARGET_HOST"><B>HTTP_TARGET_HOST</B></A> - 
Static variable in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ExecutionContext.html" title="interface in org.apache.http.protocol">ExecutionContext</A>
<DD>Attribute name of a <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A> object that
 represents the connection target.
<DT><A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_UNMAPPABLE_INPUT_ACTION"><B>HTTP_UNMAPPABLE_INPUT_ACTION</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreProtocolPNames.html" title="interface in org.apache.http.params">CoreProtocolPNames</A>
<DD>
 Defines the action to perform upon receiving an unmappable input.
<DT><A HREF="./org/apache/http/params/HttpAbstractParamBean.html" title="class in org.apache.http.params"><B>HttpAbstractParamBean</B></A> - Class in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>&nbsp;<DT><A HREF="./org/apache/http/params/HttpAbstractParamBean.html#HttpAbstractParamBean(org.apache.http.params.HttpParams)"><B>HttpAbstractParamBean(HttpParams)</B></A> - 
Constructor for class org.apache.http.params.<A HREF="./org/apache/http/params/HttpAbstractParamBean.html" title="class in org.apache.http.params">HttpAbstractParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/HttpAsyncContentProducer.html" title="interface in org.apache.http.nio.entity"><B>HttpAsyncContentProducer</B></A> - Interface in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD><tt>HttpAsyncContentProducer</tt> is a callback interface whose methods
 get invoked to stream out message content to a non-blocking HTTP connection.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol"><B>HttpAsyncExchange</B></A> - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncExchange</tt> represents a server-side HTTP message exchange
 where an HTTP response can be deferred without blocking the I/O event thread
 and triggered asynchronously at a later point of later time.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncExpectationVerifier.html" title="interface in org.apache.http.nio.protocol"><B>HttpAsyncExpectationVerifier</B></A> - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncExpectationVerifier</tt> defines a strategy to verify whether
 or not an incoming HTTP request meets the target server's expectations.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol"><B>HttpAsyncRequestConsumer</B></A>&lt;<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="type parameter in HttpAsyncRequestConsumer">T</A>&gt; - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncRequestConsumer</tt> is a callback interface whose methods
 get invoked to process an HTTP request message and to stream message
 content from a non-blocking HTTP connection on the server side.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol"><B>HttpAsyncRequester</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncRequester</tt> is a utility class that can be used
 in conjunction with <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestExecutor</CODE></A> to initiate execution
 of asynchronous HTTP requests.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html#HttpAsyncRequester(org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.params.HttpParams)"><B>HttpAsyncRequester(HttpProcessor, ConnectionReuseStrategy, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequester</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol"><B>HttpAsyncRequestExecutionHandler</B></A>&lt;<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutionHandler.html" title="type parameter in HttpAsyncRequestExecutionHandler">T</A>&gt; - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncRequestExecutionHandler</tt> represents a callback interface
 that combines functionality of <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestProducer</CODE></A> and
 <A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncResponseConsumer</CODE></A> and is capable of handling logically
 related series of HTTP request / response exchanges.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol"><B>HttpAsyncRequestExecutor</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncRequestExecutor</tt> is a fully asynchronous HTTP client side
 protocol handler based on the NIO (non-blocking) I/O model.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#HttpAsyncRequestExecutor()"><B>HttpAsyncRequestExecutor()</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" title="interface in org.apache.http.nio.protocol"><B>HttpAsyncRequestHandler</B></A>&lt;<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" title="type parameter in HttpAsyncRequestHandler">T</A>&gt; - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncRequestHandler</tt> represents a routine for asynchronous
 processing of a specific group of non-blocking HTTP requests.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol"><B>HttpAsyncRequestHandlerRegistry</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD>Maintains a map of HTTP request handlers keyed by a request URI pattern.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html#HttpAsyncRequestHandlerRegistry()"><B>HttpAsyncRequestHandlerRegistry()</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestHandlerRegistry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerResolver.html" title="interface in org.apache.http.nio.protocol"><B>HttpAsyncRequestHandlerResolver</B></A> - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncRequestHandlerResolver</tt> can be used to resolve an instance
 of <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestHandler</CODE></A> matching a particular request URI.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html" title="interface in org.apache.http.nio.protocol"><B>HttpAsyncRequestProducer</B></A> - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncRequestProducer</tt> is a callback interface whose methods
 get invoked to generate an HTTP request message and to stream message
 content to a non-blocking HTTP connection.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="interface in org.apache.http.nio.protocol"><B>HttpAsyncResponseConsumer</B></A>&lt;<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="type parameter in HttpAsyncResponseConsumer">T</A>&gt; - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncResponseConsumer</tt> is a callback interface whose methods
 get invoked to process an HTTP response message and to stream message
 content from a non-blocking HTTP connection on the client side.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseProducer.html" title="interface in org.apache.http.nio.protocol"><B>HttpAsyncResponseProducer</B></A> - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncResponseProducer</tt> is a callback interface whose methods
 get invoked to generate an HTTP response message and to stream message
 content to a non-blocking HTTP connection on the server side.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol"><B>HttpAsyncService</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><tt>HttpAsyncService</tt> is a fully asynchronous HTTP server side protocol
 handler based on the non-blocking (NIO) I/O model.<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#HttpAsyncService(org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.HttpResponseFactory, org.apache.http.nio.protocol.HttpAsyncRequestHandlerResolver, org.apache.http.nio.protocol.HttpAsyncExpectationVerifier, org.apache.http.params.HttpParams)"><B>HttpAsyncService(HttpProcessor, ConnectionReuseStrategy, HttpResponseFactory, HttpAsyncRequestHandlerResolver, HttpAsyncExpectationVerifier, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>Creates an instance of <tt>HttpAsyncServerProtocolHandler</tt>.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#HttpAsyncService(org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.protocol.HttpAsyncRequestHandlerResolver, org.apache.http.params.HttpParams)"><B>HttpAsyncService(HttpProcessor, ConnectionReuseStrategy, HttpAsyncRequestHandlerResolver, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>Creates an instance of <tt>HttpAsyncServerProtocolHandler</tt>.
<DT><A HREF="./org/apache/http/benchmark/HttpBenchmark.html" title="class in org.apache.http.benchmark"><B>HttpBenchmark</B></A> - Class in <A HREF="./org/apache/http/benchmark/package-summary.html">org.apache.http.benchmark</A><DD>Main program of the HTTP benchmark.<DT><A HREF="./org/apache/http/benchmark/HttpBenchmark.html#HttpBenchmark(org.apache.http.benchmark.Config)"><B>HttpBenchmark(Config)</B></A> - 
Constructor for class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/HttpBenchmark.html" title="class in org.apache.http.benchmark">HttpBenchmark</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpClientConnection.html" title="interface in org.apache.http"><B>HttpClientConnection</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>A client-side HTTP connection, which can be used for sending
 requests and receiving responses.<DT><A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http"><B>HttpConnection</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>A generic HTTP connection, useful on client and server side.<DT><A HREF="./org/apache/http/HttpConnectionMetrics.html" title="interface in org.apache.http"><B>HttpConnectionMetrics</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>The point of access to the statistics of an <A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http"><CODE>HttpConnection</CODE></A>.<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl"><B>HttpConnectionMetricsImpl</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>Default implementation of the <A HREF="./org/apache/http/HttpConnectionMetrics.html" title="interface in org.apache.http"><CODE>HttpConnectionMetrics</CODE></A> interface.<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#HttpConnectionMetricsImpl(org.apache.http.io.HttpTransportMetrics, org.apache.http.io.HttpTransportMetrics)"><B>HttpConnectionMetricsImpl(HttpTransportMetrics, HttpTransportMetrics)</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParamBean.html" title="class in org.apache.http.params"><B>HttpConnectionParamBean</B></A> - Class in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>This is a Java Bean class that can be used to wrap an instance of
 <A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params"><CODE>HttpParams</CODE></A> and manipulate HTTP connection parameters using Java Beans
 conventions.<DT><A HREF="./org/apache/http/params/HttpConnectionParamBean.html#HttpConnectionParamBean(org.apache.http.params.HttpParams)"><B>HttpConnectionParamBean(HttpParams)</B></A> - 
Constructor for class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParamBean.html" title="class in org.apache.http.params">HttpConnectionParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params"><B>HttpConnectionParams</B></A> - Class in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>Utility class for accessing connection parameters in <A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params"><CODE>HttpParams</CODE></A>.<DT><A HREF="./org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol"><B>HttpContext</B></A> - Interface in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>HttpContext represents execution state of an HTTP process.<DT><A HREF="./org/apache/http/protocol/HttpDateGenerator.html" title="class in org.apache.http.protocol"><B>HttpDateGenerator</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>Generates a date in the format required by the HTTP protocol.<DT><A HREF="./org/apache/http/protocol/HttpDateGenerator.html#HttpDateGenerator()"><B>HttpDateGenerator()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpDateGenerator.html" title="class in org.apache.http.protocol">HttpDateGenerator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http"><B>HttpEntity</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>An entity that can be sent or received with an HTTP message.<DT><A HREF="./org/apache/http/HttpEntityEnclosingRequest.html" title="interface in org.apache.http"><B>HttpEntityEnclosingRequest</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>A request with an entity.<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity"><B>HttpEntityWrapper</B></A> - Class in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>Base class for wrapping entities.<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html#HttpEntityWrapper(org.apache.http.HttpEntity)"><B>HttpEntityWrapper(HttpEntity)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity">HttpEntityWrapper</A>
<DD>Creates a new entity wrapper.
<DT><A HREF="./org/apache/http/HttpException.html" title="class in org.apache.http"><B>HttpException</B></A> - Exception in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Signals that an HTTP exception has occurred.<DT><A HREF="./org/apache/http/HttpException.html#HttpException()"><B>HttpException()</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A>
<DD>Creates a new HttpException with a <tt>null</tt> detail message.
<DT><A HREF="./org/apache/http/HttpException.html#HttpException(java.lang.String)"><B>HttpException(String)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A>
<DD>Creates a new HttpException with the specified detail message.
<DT><A HREF="./org/apache/http/HttpException.html#HttpException(java.lang.String, java.lang.Throwable)"><B>HttpException(String, Throwable)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/HttpException.html" title="class in org.apache.http">HttpException</A>
<DD>Creates a new HttpException with the specified detail message and cause.
<DT><A HREF="./org/apache/http/protocol/HttpExpectationVerifier.html" title="interface in org.apache.http.protocol"><B>HttpExpectationVerifier</B></A> - Interface in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>Defines an interface to verify whether an incoming HTTP request meets
 the target server's expectations.<DT><A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http"><B>HttpHeaders</B></A> - Class in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Constants enumerating the HTTP headers.<DT><A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><B>HttpHost</B></A> - Class in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Holds all of the variables needed to describe an HTTP connection to a host.<DT><A HREF="./org/apache/http/HttpHost.html#HttpHost(java.lang.String, int, java.lang.String)"><B>HttpHost(String, int, String)</B></A> - 
Constructor for class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>Creates a new <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A>, specifying all values.
<DT><A HREF="./org/apache/http/HttpHost.html#HttpHost(java.lang.String, int)"><B>HttpHost(String, int)</B></A> - 
Constructor for class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>Creates a new <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A>, with default scheme.
<DT><A HREF="./org/apache/http/HttpHost.html#HttpHost(java.lang.String)"><B>HttpHost(String)</B></A> - 
Constructor for class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>Creates a new <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A>, with default scheme and port.
<DT><A HREF="./org/apache/http/HttpHost.html#HttpHost(org.apache.http.HttpHost)"><B>HttpHost(HttpHost)</B></A> - 
Constructor for class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>Copy constructor for <A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http"><CODE>HttpHost</CODE></A>.
<DT><A HREF="./org/apache/http/HttpInetConnection.html" title="interface in org.apache.http"><B>HttpInetConnection</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>An HTTP connection over the Internet Protocol (IP).<DT><A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http"><B>HttpMessage</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>HTTP messages consist of requests from client to server and responses
 from server to client.<DT><A HREF="./org/apache/http/io/HttpMessageParser.html" title="interface in org.apache.http.io"><B>HttpMessageParser</B></A>&lt;<A HREF="./org/apache/http/io/HttpMessageParser.html" title="type parameter in HttpMessageParser">T</A> extends <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>&gt; - Interface in <A HREF="./org/apache/http/io/package-summary.html">org.apache.http.io</A><DD>Abstract message parser intended to build HTTP messages from an arbitrary
 data source.<DT><A HREF="./org/apache/http/io/HttpMessageWriter.html" title="interface in org.apache.http.io"><B>HttpMessageWriter</B></A>&lt;<A HREF="./org/apache/http/io/HttpMessageWriter.html" title="type parameter in HttpMessageWriter">T</A> extends <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>&gt; - Interface in <A HREF="./org/apache/http/io/package-summary.html">org.apache.http.io</A><DD>Abstract message writer intended to serialize HTTP messages to an arbitrary
 data sink.<DT><A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params"><B>HttpParams</B></A> - Interface in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>HttpParams interface represents a collection of immutable values that define
 a runtime behavior of a component.<DT><A HREF="./org/apache/http/params/HttpParamsNames.html" title="interface in org.apache.http.params"><B>HttpParamsNames</B></A> - Interface in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>Gives access to the full set of parameter names.<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#httpProcessor"><B>httpProcessor</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpProcessor.html" title="interface in org.apache.http.protocol"><B>HttpProcessor</B></A> - Interface in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>HTTP protocol processor is a collection of protocol interceptors that
 implements the 'Chain of Responsibility' pattern, where each individual
 protocol interceptor is expected to work on a particular aspect of the HTTP
 protocol the interceptor is responsible for.<DT><A HREF="./org/apache/http/params/HttpProtocolParamBean.html" title="class in org.apache.http.params"><B>HttpProtocolParamBean</B></A> - Class in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>This is a Java Bean class that can be used to wrap an instance of
 <A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params"><CODE>HttpParams</CODE></A> and manipulate HTTP protocol parameters using Java Beans
 conventions.<DT><A HREF="./org/apache/http/params/HttpProtocolParamBean.html#HttpProtocolParamBean(org.apache.http.params.HttpParams)"><B>HttpProtocolParamBean(HttpParams)</B></A> - 
Constructor for class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParamBean.html" title="class in org.apache.http.params">HttpProtocolParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params"><B>HttpProtocolParams</B></A> - Class in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>Utility class for accessing protocol parameters in <A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params"><CODE>HttpParams</CODE></A>.<DT><A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><B>HttpRequest</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>A request message from a client to a server includes, within the
 first line of that message, the method to be applied to the resource,
 the identifier of the resource, and the protocol version in use.<DT><A HREF="./org/apache/http/nio/protocol/HttpRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol"><B>HttpRequestExecutionHandler</B></A> - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestExecutor</CODE></A> and <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequester</CODE></A></I><DT><A HREF="./org/apache/http/protocol/HttpRequestExecutor.html" title="class in org.apache.http.protocol"><B>HttpRequestExecutor</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD><tt>HttpRequestExecutor</tt> is a client side HTTP protocol handler based
 on the blocking (classic) I/O model.<DT><A HREF="./org/apache/http/protocol/HttpRequestExecutor.html#HttpRequestExecutor()"><B>HttpRequestExecutor()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestExecutor.html" title="class in org.apache.http.protocol">HttpRequestExecutor</A>
<DD>Create a new request executor.
<DT><A HREF="./org/apache/http/HttpRequestFactory.html" title="interface in org.apache.http"><B>HttpRequestFactory</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>A factory for <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A> objects.<DT><A HREF="./org/apache/http/protocol/HttpRequestHandler.html" title="interface in org.apache.http.protocol"><B>HttpRequestHandler</B></A> - Interface in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>HttpRequestHandler represents a routine for processing of a specific group
 of HTTP requests.<DT><A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html" title="class in org.apache.http.protocol"><B>HttpRequestHandlerRegistry</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>Maintains a map of HTTP request handlers keyed by a request URI pattern.<DT><A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html#HttpRequestHandlerRegistry()"><B>HttpRequestHandlerRegistry()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html" title="class in org.apache.http.protocol">HttpRequestHandlerRegistry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpRequestHandlerResolver.html" title="interface in org.apache.http.protocol"><B>HttpRequestHandlerResolver</B></A> - Interface in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>HttpRequestHandlerResolver can be used to resolve an instance of
 <A HREF="./org/apache/http/protocol/HttpRequestHandler.html" title="interface in org.apache.http.protocol"><CODE>HttpRequestHandler</CODE></A> matching a particular request URI.<DT><A HREF="./org/apache/http/HttpRequestInterceptor.html" title="interface in org.apache.http"><B>HttpRequestInterceptor</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>HTTP protocol interceptor is a routine that implements a specific aspect of
 the HTTP protocol.<DT><A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html" title="interface in org.apache.http.protocol"><B>HttpRequestInterceptorList</B></A> - Interface in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>Provides access to an ordered list of request interceptors.<DT><A HREF="./org/apache/http/impl/io/HttpRequestParser.html" title="class in org.apache.http.impl.io"><B>HttpRequestParser</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/io/DefaultHttpRequestParser.html" title="class in org.apache.http.impl.io"><CODE>DefaultHttpRequestParser</CODE></A></I><DT><A HREF="./org/apache/http/impl/io/HttpRequestParser.html#HttpRequestParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams)"><B>HttpRequestParser(SessionInputBuffer, LineParser, HttpRequestFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpRequestParser.html" title="class in org.apache.http.impl.io">HttpRequestParser</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of this class.
<DT><A HREF="./org/apache/http/impl/nio/codecs/HttpRequestParser.html" title="class in org.apache.http.impl.nio.codecs"><B>HttpRequestParser</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD><B>Deprecated.</B>&nbsp;<I>(4.1) use <A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestParser.html" title="class in org.apache.http.impl.nio.codecs"><CODE>DefaultHttpRequestParser</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/codecs/HttpRequestParser.html#HttpRequestParser(org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams)"><B>HttpRequestParser(SessionInputBuffer, LineParser, HttpRequestFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/HttpRequestParser.html" title="class in org.apache.http.impl.nio.codecs">HttpRequestParser</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/io/HttpRequestWriter.html" title="class in org.apache.http.impl.io"><B>HttpRequestWriter</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>HTTP request writer that serializes its output to an instance
 of <A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionOutputBuffer</CODE></A>.<DT><A HREF="./org/apache/http/impl/io/HttpRequestWriter.html#HttpRequestWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams)"><B>HttpRequestWriter(SessionOutputBuffer, LineFormatter, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpRequestWriter.html" title="class in org.apache.http.impl.io">HttpRequestWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/HttpRequestWriter.html" title="class in org.apache.http.impl.nio.codecs"><B>HttpRequestWriter</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD><B>Deprecated.</B>&nbsp;<I>(4.1) use <A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.html" title="class in org.apache.http.impl.nio.codecs"><CODE>DefaultHttpRequestWriter</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/codecs/HttpRequestWriter.html#HttpRequestWriter(org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams)"><B>HttpRequestWriter(SessionOutputBuffer, LineFormatter, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/HttpRequestWriter.html" title="class in org.apache.http.impl.nio.codecs">HttpRequestWriter</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><B>HttpResponse</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>After receiving and interpreting a request message, a server responds
 with an HTTP response message.<DT><A HREF="./org/apache/http/HttpResponseFactory.html" title="interface in org.apache.http"><B>HttpResponseFactory</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>A factory for <A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http"><CODE>HttpResponse</CODE></A> objects.<DT><A HREF="./org/apache/http/HttpResponseInterceptor.html" title="interface in org.apache.http"><B>HttpResponseInterceptor</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>HTTP protocol interceptor is a routine that implements a specific aspect of
 the HTTP protocol.<DT><A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html" title="interface in org.apache.http.protocol"><B>HttpResponseInterceptorList</B></A> - Interface in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>Provides access to an ordered list of response interceptors.<DT><A HREF="./org/apache/http/impl/io/HttpResponseParser.html" title="class in org.apache.http.impl.io"><B>HttpResponseParser</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/io/DefaultHttpResponseParser.html" title="class in org.apache.http.impl.io"><CODE>DefaultHttpResponseParser</CODE></A></I><DT><A HREF="./org/apache/http/impl/io/HttpResponseParser.html#HttpResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams)"><B>HttpResponseParser(SessionInputBuffer, LineParser, HttpResponseFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpResponseParser.html" title="class in org.apache.http.impl.io">HttpResponseParser</A>
<DD><B>Deprecated.</B>&nbsp;Creates an instance of this class.
<DT><A HREF="./org/apache/http/impl/nio/codecs/HttpResponseParser.html" title="class in org.apache.http.impl.nio.codecs"><B>HttpResponseParser</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD><B>Deprecated.</B>&nbsp;<I>(4.1) use <A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseParser.html" title="class in org.apache.http.impl.nio.codecs"><CODE>DefaultHttpResponseParser</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/codecs/HttpResponseParser.html#HttpResponseParser(org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams)"><B>HttpResponseParser(SessionInputBuffer, LineParser, HttpResponseFactory, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/HttpResponseParser.html" title="class in org.apache.http.impl.nio.codecs">HttpResponseParser</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/io/HttpResponseWriter.html" title="class in org.apache.http.impl.io"><B>HttpResponseWriter</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>HTTP response writer that serializes its output to an instance
 of <A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionOutputBuffer</CODE></A>.<DT><A HREF="./org/apache/http/impl/io/HttpResponseWriter.html#HttpResponseWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams)"><B>HttpResponseWriter(SessionOutputBuffer, LineFormatter, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpResponseWriter.html" title="class in org.apache.http.impl.io">HttpResponseWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/HttpResponseWriter.html" title="class in org.apache.http.impl.nio.codecs"><B>HttpResponseWriter</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD><B>Deprecated.</B>&nbsp;<I>(4.1) use <A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.html" title="class in org.apache.http.impl.nio.codecs"><CODE>DefaultHttpResponseWriter</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/codecs/HttpResponseWriter.html#HttpResponseWriter(org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams)"><B>HttpResponseWriter(SessionOutputBuffer, LineFormatter, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/HttpResponseWriter.html" title="class in org.apache.http.impl.nio.codecs">HttpResponseWriter</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/HttpServerConnection.html" title="interface in org.apache.http"><B>HttpServerConnection</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>A server-side HTTP connection, which can be used for receiving
 requests and sending responses.<DT><A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol"><B>HttpService</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD><tt>HttpService</tt> is a server side HTTP protocol handler based on
 the classic (blocking) I/O model.<DT><A HREF="./org/apache/http/protocol/HttpService.html#HttpService(org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.HttpResponseFactory, org.apache.http.protocol.HttpRequestHandlerResolver, org.apache.http.protocol.HttpExpectationVerifier, org.apache.http.params.HttpParams)"><B>HttpService(HttpProcessor, ConnectionReuseStrategy, HttpResponseFactory, HttpRequestHandlerResolver, HttpExpectationVerifier, HttpParams)</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD>Create a new HTTP service.
<DT><A HREF="./org/apache/http/protocol/HttpService.html#HttpService(org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.HttpResponseFactory, org.apache.http.protocol.HttpRequestHandlerResolver, org.apache.http.params.HttpParams)"><B>HttpService(HttpProcessor, ConnectionReuseStrategy, HttpResponseFactory, HttpRequestHandlerResolver, HttpParams)</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD>Create a new HTTP service.
<DT><A HREF="./org/apache/http/protocol/HttpService.html#HttpService(org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.HttpResponseFactory)"><B>HttpService(HttpProcessor, ConnectionReuseStrategy, HttpResponseFactory)</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) use <A HREF="./org/apache/http/protocol/HttpService.html#HttpService(org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.HttpResponseFactory, org.apache.http.protocol.HttpRequestHandlerResolver, org.apache.http.params.HttpParams)"><CODE>HttpService.HttpService(HttpProcessor,
  ConnectionReuseStrategy, HttpResponseFactory, HttpRequestHandlerResolver, HttpParams)</CODE></A></I>
<DT><A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http"><B>HttpStatus</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Constants enumerating the HTTP status codes.<DT><A HREF="./org/apache/http/io/HttpTransportMetrics.html" title="interface in org.apache.http.io"><B>HttpTransportMetrics</B></A> - Interface in <A HREF="./org/apache/http/io/package-summary.html">org.apache.http.io</A><DD>The point of access to the statistics of <A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionInputBuffer</CODE></A> or
 <A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionOutputBuffer</CODE></A>.<DT><A HREF="./org/apache/http/impl/io/HttpTransportMetricsImpl.html" title="class in org.apache.http.impl.io"><B>HttpTransportMetricsImpl</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>Default implementation of <A HREF="./org/apache/http/io/HttpTransportMetrics.html" title="interface in org.apache.http.io"><CODE>HttpTransportMetrics</CODE></A>.<DT><A HREF="./org/apache/http/impl/io/HttpTransportMetricsImpl.html#HttpTransportMetricsImpl()"><B>HttpTransportMetricsImpl()</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpTransportMetricsImpl.html" title="class in org.apache.http.impl.io">HttpTransportMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpVersion.html" title="class in org.apache.http"><B>HttpVersion</B></A> - Class in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Represents an HTTP version.<DT><A HREF="./org/apache/http/HttpVersion.html#HttpVersion(int, int)"><B>HttpVersion(int, int)</B></A> - 
Constructor for class org.apache.http.<A HREF="./org/apache/http/HttpVersion.html" title="class in org.apache.http">HttpVersion</A>
<DD>Create an HTTP protocol version designator.
</DL>
<HR>
<A NAME="_I_"><!-- --></A><H2>
<B>I</B></H2>
<DL>
<DT><A HREF="./org/apache/http/entity/ContentLengthStrategy.html#IDENTITY"><B>IDENTITY</B></A> - 
Static variable in interface org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentLengthStrategy.html" title="interface in org.apache.http.entity">ContentLengthStrategy</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#IDENTITY_CODING"><B>IDENTITY_CODING</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/IdentityDecoder.html" title="class in org.apache.http.impl.nio.codecs"><B>IdentityDecoder</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Content decoder that reads data without any transformation.<DT><A HREF="./org/apache/http/impl/nio/codecs/IdentityDecoder.html#IdentityDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl)"><B>IdentityDecoder(ReadableByteChannel, SessionInputBuffer, HttpTransportMetricsImpl)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/IdentityDecoder.html" title="class in org.apache.http.impl.nio.codecs">IdentityDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/IdentityEncoder.html" title="class in org.apache.http.impl.nio.codecs"><B>IdentityEncoder</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Content encoder that writes data without any transformation.<DT><A HREF="./org/apache/http/impl/nio/codecs/IdentityEncoder.html#IdentityEncoder(java.nio.channels.WritableByteChannel, org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl)"><B>IdentityEncoder(WritableByteChannel, SessionOutputBuffer, HttpTransportMetricsImpl)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/IdentityEncoder.html" title="class in org.apache.http.impl.nio.codecs">IdentityEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/IdentityInputStream.html" title="class in org.apache.http.impl.io"><B>IdentityInputStream</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>Input stream that reads data without any transformation.<DT><A HREF="./org/apache/http/impl/io/IdentityInputStream.html#IdentityInputStream(org.apache.http.io.SessionInputBuffer)"><B>IdentityInputStream(SessionInputBuffer)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/IdentityInputStream.html" title="class in org.apache.http.impl.io">IdentityInputStream</A>
<DD>Wraps session input stream and reads input until the the end of stream.
<DT><A HREF="./org/apache/http/impl/io/IdentityOutputStream.html" title="class in org.apache.http.impl.io"><B>IdentityOutputStream</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD>Output stream that writes data without any transformation.<DT><A HREF="./org/apache/http/impl/io/IdentityOutputStream.html#IdentityOutputStream(org.apache.http.io.SessionOutputBuffer)"><B>IdentityOutputStream(SessionOutputBuffer)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/IdentityOutputStream.html" title="class in org.apache.http.impl.io">IdentityOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#IF"><B>IF</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2518 (WevDAV) Section 9.4
<DT><A HREF="./org/apache/http/HttpHeaders.html#IF_MATCH"><B>IF_MATCH</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.24
<DT><A HREF="./org/apache/http/HttpHeaders.html#IF_MODIFIED_SINCE"><B>IF_MODIFIED_SINCE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.9, RFC 2616 (HTTP/1.1) Section 14.25
<DT><A HREF="./org/apache/http/HttpHeaders.html#IF_NONE_MATCH"><B>IF_NONE_MATCH</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.26
<DT><A HREF="./org/apache/http/HttpHeaders.html#IF_RANGE"><B>IF_RANGE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.27
<DT><A HREF="./org/apache/http/HttpHeaders.html#IF_UNMODIFIED_SINCE"><B>IF_UNMODIFIED_SINCE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.28
<DT><A HREF="./org/apache/http/annotation/Immutable.html" title="annotation in org.apache.http.annotation"><B>Immutable</B></A> - Annotation Type in <A HREF="./org/apache/http/annotation/package-summary.html">org.apache.http.annotation</A><DD>The class to which this annotation is applied is immutable.<DT><A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html" title="class in org.apache.http.protocol"><B>ImmutableHttpProcessor</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>Immutable <A HREF="./org/apache/http/protocol/HttpProcessor.html" title="interface in org.apache.http.protocol"><CODE>HttpProcessor</CODE></A>.<DT><A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html#ImmutableHttpProcessor(org.apache.http.HttpRequestInterceptor[], org.apache.http.HttpResponseInterceptor[])"><B>ImmutableHttpProcessor(HttpRequestInterceptor[], HttpResponseInterceptor[])</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html" title="class in org.apache.http.protocol">ImmutableHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html#ImmutableHttpProcessor(org.apache.http.protocol.HttpRequestInterceptorList, org.apache.http.protocol.HttpResponseInterceptorList)"><B>ImmutableHttpProcessor(HttpRequestInterceptorList, HttpResponseInterceptorList)</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html" title="class in org.apache.http.protocol">ImmutableHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html#ImmutableHttpProcessor(org.apache.http.HttpRequestInterceptor[])"><B>ImmutableHttpProcessor(HttpRequestInterceptor[])</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html" title="class in org.apache.http.protocol">ImmutableHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html#ImmutableHttpProcessor(org.apache.http.HttpResponseInterceptor[])"><B>ImmutableHttpProcessor(HttpResponseInterceptor[])</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html" title="class in org.apache.http.protocol">ImmutableHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#inboundTransport()"><B>inboundTransport()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>Executes inbound SSL transport operations.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#inbuf"><B>inbuf</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#incFailureCount()"><B>incFailureCount()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#incKeepAliveCount()"><B>incKeepAliveCount()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#incomingContentStrategy"><B>incomingContentStrategy</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/HttpTransportMetricsImpl.html#incrementBytesTransferred(long)"><B>incrementBytesTransferred(long)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpTransportMetricsImpl.html" title="class in org.apache.http.impl.io">HttpTransportMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#incrementRequestCount()"><B>incrementRequestCount()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#incrementResponseCount()"><B>incrementResponseCount()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#incSuccessCount()"><B>incSuccessCount()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#incTotalBytesRecv(long)"><B>incTotalBytesRecv(long)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#incTotalBytesSent(long)"><B>incTotalBytesSent(long)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html#incWriteErrors()"><B>incWriteErrors()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#indexOf(byte, int, int)"><B>indexOf(byte, int, int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Returns the index within this buffer of the first occurrence of the
 specified byte, starting the search at the specified
 <code>beginIndex</code> and finishing at <code>endIndex</code>.
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#indexOf(byte)"><B>indexOf(byte)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Returns the index within this buffer of the first occurrence of the
 specified byte, starting the search at <code>0</code> and finishing
 at <A HREF="./org/apache/http/util/ByteArrayBuffer.html#length()"><CODE>ByteArrayBuffer.length()</CODE></A>.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#indexOf(int, int, int)"><B>indexOf(int, int, int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Returns the index within this buffer of the first occurrence of the
 specified character, starting the search at the specified
 <code>beginIndex</code> and finishing at <code>endIndex</code>.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#indexOf(int)"><B>indexOf(int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Returns the index within this buffer of the first occurrence of the
 specified character, starting the search at <code>0</code> and finishing
 at <A HREF="./org/apache/http/util/CharArrayBuffer.html#length()"><CODE>CharArrayBuffer.length()</CODE></A>.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#init(org.apache.http.io.SessionInputBuffer, org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams)"><B>init(SessionInputBuffer, SessionOutputBuffer, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>Initializes this connection object with <A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionInputBuffer</CODE></A> and
 <A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionOutputBuffer</CODE></A> instances to be used for sending and
 receiving data.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#init(org.apache.http.io.SessionInputBuffer, org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams)"><B>init(SessionInputBuffer, SessionOutputBuffer, HttpParams)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>Initializes this connection object with <A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionInputBuffer</CODE></A> and
 <A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionOutputBuffer</CODE></A> instances to be used for sending and
 receiving data.
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#init(java.io.InputStream, int, org.apache.http.params.HttpParams)"><B>init(InputStream, int, HttpParams)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>Initializes this session input buffer.
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#init(java.io.OutputStream, int, org.apache.http.params.HttpParams)"><B>init(OutputStream, int, HttpParams)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>Initializes this session output buffer.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SSLIOSessionHandler.html#initalize(javax.net.ssl.SSLEngine, org.apache.http.params.HttpParams)"><B>initalize(SSLEngine, HttpParams)</B></A> - 
Method in interface org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SSLIOSessionHandler.html" title="interface in org.apache.http.impl.nio.reactor">SSLIOSessionHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the SSL connection is being initialized.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SSLSetupHandler.html#initalize(javax.net.ssl.SSLEngine, org.apache.http.params.HttpParams)"><B>initalize(SSLEngine, HttpParams)</B></A> - 
Method in interface org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SSLSetupHandler.html" title="interface in org.apache.http.impl.nio.reactor">SSLSetupHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the SSL connection is being initialized.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLSetupHandler.html#initalize(javax.net.ssl.SSLEngine)"><B>initalize(SSLEngine)</B></A> - 
Method in interface org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLSetupHandler.html" title="interface in org.apache.http.nio.reactor.ssl">SSLSetupHandler</A>
<DD>Triggered when the SSL connection is being initialized.
<DT><A HREF="./org/apache/http/nio/protocol/HttpRequestExecutionHandler.html#initalizeContext(org.apache.http.protocol.HttpContext, java.lang.Object)"><B>initalizeContext(HttpContext, Object)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">HttpRequestExecutionHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when a new connection has been established and the
 HTTP context needs to be initialized.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestExecutionHandler.html#initalizeContext(org.apache.http.protocol.HttpContext, java.lang.Object)"><B>initalizeContext(HttpContext, Object)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">NHttpRequestExecutionHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when a new connection has been established and the
 HTTP context needs to be initialized.
<DT><A HREF="./org/apache/http/message/BasicLineFormatter.html#initBuffer(org.apache.http.util.CharArrayBuffer)"><B>initBuffer(CharArrayBuffer)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineFormatter.html" title="class in org.apache.http.message">BasicLineFormatter</A>
<DD>Obtains a buffer for formatting.
<DT><A HREF="./org/apache/http/util/ExceptionUtils.html#initCause(java.lang.Throwable, java.lang.Throwable)"><B>initCause(Throwable, Throwable)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/ExceptionUtils.html" title="class in org.apache.http.util">ExceptionUtils</A>
<DD><B>Deprecated.</B>&nbsp;If we're running on JDK 1.4 or later, initialize the cause for the given throwable.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#initialize(org.apache.http.nio.reactor.ssl.SSLMode)"><B>initialize(SSLMode)</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>Initializes the session in the given <A HREF="./org/apache/http/nio/reactor/ssl/SSLMode.html" title="enum in org.apache.http.nio.reactor.ssl"><CODE>SSLMode</CODE></A>.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#initialize()"><B>initialize()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>Initializes the session in the default operation mode.
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#INPUT_MODE"><B>INPUT_MODE</B></A> - 
Static variable in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#inputReady(org.apache.http.nio.reactor.IOSession)"><B>inputReady(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#inputReady(org.apache.http.nio.reactor.IOSession)"><B>inputReady(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#inputReady(org.apache.http.nio.reactor.IOSession)"><B>inputReady(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientEventHandler.html#inputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpClientConnection, ContentDecoder)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientEventHandler.html" title="interface in org.apache.http.nio">NHttpClientEventHandler</A>
<DD>Triggered when the underlying channel is ready for reading a
 new portion of the response entity through the corresponding
 content decoder.
<DT><A HREF="./org/apache/http/nio/NHttpClientHandler.html#inputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpClientConnection, ContentDecoder)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientHandler.html" title="interface in org.apache.http.nio">NHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the underlying channel is ready for reading a
 new portion of the response entity through the corresponding
 content decoder.
<DT><A HREF="./org/apache/http/nio/NHttpServerEventHandler.html#inputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpServerConnection, ContentDecoder)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerEventHandler.html" title="interface in org.apache.http.nio">NHttpServerEventHandler</A>
<DD>Triggered when the underlying channel is ready for reading a
 new portion of the request entity through the corresponding
 content decoder.
<DT><A HREF="./org/apache/http/nio/NHttpServiceHandler.html#inputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpServerConnection, ContentDecoder)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A>
<DD><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.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#inputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpClientConnection, ContentDecoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#inputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpServerConnection, ContentDecoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#inputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpClientConnection, ContentDecoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#inputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpServerConnection, ContentDecoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#inputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpClientConnection, ContentDecoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#inputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpServerConnection, ContentDecoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#inputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpClientConnection, ContentDecoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#inputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentDecoder)"><B>inputReady(NHttpServerConnection, ContentDecoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html#inputReady(org.apache.http.nio.reactor.IOSession)"><B>inputReady(IOSession)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html" title="interface in org.apache.http.nio.reactor">IOEventDispatch</A>
<DD>Triggered when the given session has input pending.
<DT><A HREF="./org/apache/http/entity/InputStreamEntity.html" title="class in org.apache.http.entity"><B>InputStreamEntity</B></A> - Class in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>A streamed, non-repeatable entity that obtains its content from
 an <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>.<DT><A HREF="./org/apache/http/entity/InputStreamEntity.html#InputStreamEntity(java.io.InputStream, long)"><B>InputStreamEntity(InputStream, long)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/InputStreamEntity.html" title="class in org.apache.http.entity">InputStreamEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/InputStreamEntity.html#InputStreamEntity(java.io.InputStream, long, org.apache.http.entity.ContentType)"><B>InputStreamEntity(InputStream, long, ContentType)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/InputStreamEntity.html" title="class in org.apache.http.entity">InputStreamEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/EnglishReasonPhraseCatalog.html#INSTANCE"><B>INSTANCE</B></A> - 
Static variable in class org.apache.http.impl.<A HREF="./org/apache/http/impl/EnglishReasonPhraseCatalog.html" title="class in org.apache.http.impl">EnglishReasonPhraseCatalog</A>
<DD>The default instance of this catalog.
<DT><A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#INTEREST_OPS_QUEUEING"><B>INTEREST_OPS_QUEUEING</B></A> - 
Static variable in interface org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorPNames.html" title="interface in org.apache.http.nio.params">NIOReactorPNames</A>
<DD><B>Deprecated.</B>&nbsp;Determines whether interestOps() queueing is enabled for the I/O reactors.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#interestOpsQueueing"><B>interestOpsQueueing</B></A> - 
Variable in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#inTransportMetrics"><B>inTransportMetrics</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#invalidate()"><B>invalidate()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/IOControl.html" title="interface in org.apache.http.nio"><B>IOControl</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>Connection input/output control interface.<DT><A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html" title="interface in org.apache.http.nio.reactor"><B>IOEventDispatch</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>IOEventDispatch interface is used by I/O reactors to notify clients of I/O
 events pending for a particular session.<DT><A HREF="./org/apache/http/nio/reactor/IOReactor.html" title="interface in org.apache.http.nio.reactor"><B>IOReactor</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>HttpCore NIO is based on the Reactor pattern as described by Doug Lea.<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor"><B>IOReactorConfig</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>I/O reactor configuration parameters.<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#IOReactorConfig()"><B>IOReactorConfig()</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor"><B>IOReactorException</B></A> - Exception in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>I/O exception that can be thrown by an I/O reactor.<DT><A HREF="./org/apache/http/nio/reactor/IOReactorException.html#IOReactorException(java.lang.String, java.lang.Exception)"><B>IOReactorException(String, Exception)</B></A> - 
Constructor for exception org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOReactorException.html#IOReactorException(java.lang.String)"><B>IOReactorException(String)</B></A> - 
Constructor for exception org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOReactorException.html" title="class in org.apache.http.nio.reactor">IOReactorException</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOReactorExceptionHandler.html" title="interface in org.apache.http.nio.reactor"><B>IOReactorExceptionHandler</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>Abstract exception handler intended to deal with potentially recoverable
 I/O exceptions thrown by an I/O reactor.<DT><A HREF="./org/apache/http/nio/reactor/IOReactorStatus.html" title="enum in org.apache.http.nio.reactor"><B>IOReactorStatus</B></A> - Enum in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>IOReactorStatus represents an internal status of an I/O reactor.<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><B>IOSession</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>IOSession interface represents a sequence of logically related data exchanges
 between two end points.<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor"><B>IOSessionImpl</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Default implementation of <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A>.<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#IOSessionImpl(java.nio.channels.SelectionKey, org.apache.http.impl.nio.reactor.InterestOpsCallback, org.apache.http.impl.nio.reactor.SessionClosedCallback)"><B>IOSessionImpl(SelectionKey, InterestOpsCallback, SessionClosedCallback)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>Creates new instance of IOSessionImpl.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#IOSessionImpl(java.nio.channels.SelectionKey, org.apache.http.impl.nio.reactor.SessionClosedCallback)"><B>IOSessionImpl(SelectionKey, SessionClosedCallback)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>Creates new instance of IOSessionImpl.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#isAppInputReady()"><B>isAppInputReady()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>Reads encrypted data and returns whether the channel associated with
 this session has any decrypted inbound data available for reading.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#isAppOutputReady()"><B>isAppOutputReady()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>Returns whether the channel associated with this session is ready to
 accept outbound unecrypted data for writing.
<DT><A HREF="./org/apache/http/concurrent/BasicFuture.html#isCancelled()"><B>isCancelled()</B></A> - 
Method in class org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/BasicFuture.html" title="class in org.apache.http.concurrent">BasicFuture</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#isChunked()"><B>isChunked()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>Obtains the 'chunked' flag.
<DT><A HREF="./org/apache/http/entity/BufferedHttpEntity.html#isChunked()"><B>isChunked()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BufferedHttpEntity.html" title="class in org.apache.http.entity">BufferedHttpEntity</A>
<DD>Tells that this entity does not have to be chunked.
<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html#isChunked()"><B>isChunked()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity">HttpEntityWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpEntity.html#isChunked()"><B>isChunked()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http">HttpEntity</A>
<DD>Tells about chunked encoding for this entity.
<DT><A HREF="./org/apache/http/nio/entity/ContentBufferEntity.html#isChunked()"><B>isChunked()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentBufferEntity.html" title="class in org.apache.http.nio.entity">ContentBufferEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOPoolEntry.html#isClosed()"><B>isClosed()</B></A> - 
Method in class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOPoolEntry.html" title="class in org.apache.http.impl.nio.pool">BasicNIOPoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#isClosed()"><B>isClosed()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html#isClosed()"><B>isClosed()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor">ListenerEndpointImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/pool/BasicPoolEntry.html#isClosed()"><B>isClosed()</B></A> - 
Method in class org.apache.http.impl.pool.<A HREF="./org/apache/http/impl/pool/BasicPoolEntry.html" title="class in org.apache.http.impl.pool">BasicPoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#isClosed()"><B>isClosed()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Determines if the session has been terminated.
<DT><A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html#isClosed()"><B>isClosed()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html" title="interface in org.apache.http.nio.reactor">ListenerEndpoint</A>
<DD>Determines if this endpoint has been closed and is no longer listens
 for incoming connections.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#isClosed()"><B>isClosed()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#isClosed()"><B>isClosed()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>Returns <code>true</code> if the pool entry has been invalidated.
<DT><A HREF="./org/apache/http/ProtocolVersion.html#isComparable(org.apache.http.ProtocolVersion)"><B>isComparable(ProtocolVersion)</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Checks whether this protocol can be compared to another one.
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html#isCompleted()"><B>isCompleted()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html#isCompleted()"><B>isCompleted()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html#isCompleted()"><B>isCompleted()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor">ListenerEndpointImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#isCompleted()"><B>isCompleted()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/ContentDecoder.html#isCompleted()"><B>isCompleted()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio">ContentDecoder</A>
<DD>Returns <code>true</code> if the entity has been received in its
 entirety.
<DT><A HREF="./org/apache/http/nio/ContentEncoder.html#isCompleted()"><B>isCompleted()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio">ContentEncoder</A>
<DD>Returns <code>true</code> if the entity has been transferred in its
 entirety.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html#isCompleted()"><B>isCompleted()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol">HttpAsyncExchange</A>
<DD>Determines whether or not the message exchange has been completed.
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequest.html#isCompleted()"><B>isCompleted()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor">SessionRequest</A>
<DD>Determines whether the request has been completed (either successfully
 or unsuccessfully).
<DT><A HREF="./org/apache/http/impl/io/SocketInputBuffer.html#isDataAvailable(int)"><B>isDataAvailable(int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/SocketInputBuffer.html" title="class in org.apache.http.impl.io">SocketInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/SessionInputBuffer.html#isDataAvailable(int)"><B>isDataAvailable(int)</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>
<DD>Blocks until some data becomes available in the session buffer or the
 given timeout period in milliseconds elapses.
<DT><A HREF="./org/apache/http/benchmark/Config.html#isDisableSSLVerification()"><B>isDisableSSLVerification()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/concurrent/BasicFuture.html#isDone()"><B>isDone()</B></A> - 
Method in class org.apache.http.concurrent.<A HREF="./org/apache/http/concurrent/BasicFuture.html" title="class in org.apache.http.concurrent">BasicFuture</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#isDone()"><B>isDone()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#isDone()"><B>isDone()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#isDone()"><B>isDone()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html#isDone()"><B>isDone()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestConsumer</A>
<DD>Determines whether or not the request execution completed.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html#isDone()"><B>isDone()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncResponseConsumer</A>
<DD>Determines whether or not the response processing completed.
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#isEmpty()"><B>isEmpty()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Returns <code>true</code> if this buffer is empty, that is, its
 <A HREF="./org/apache/http/util/ByteArrayBuffer.html#length()"><CODE>ByteArrayBuffer.length()</CODE></A> is equal to <code>0</code>.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#isEmpty()"><B>isEmpty()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Returns <code>true</code> if this buffer is empty, that is, its
 <A HREF="./org/apache/http/util/CharArrayBuffer.html#length()"><CODE>CharArrayBuffer.length()</CODE></A> is equal to <code>0</code>.
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#isEndOfStream()"><B>isEndOfStream()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html#isEndOfStream()"><B>isEndOfStream()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html" title="class in org.apache.http.nio.util">SimpleInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#isEof()"><B>isEof()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#isEof()"><B>isEof()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/SocketInputBuffer.html#isEof()"><B>isEof()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/SocketInputBuffer.html" title="class in org.apache.http.impl.io">SocketInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/EofSensor.html#isEof()"><B>isEof()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/EofSensor.html" title="interface in org.apache.http.io">EofSensor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#isExpired(long)"><B>isExpired(long)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#isFull()"><B>isFull()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Returns <code>true</code> if this buffer is full, that is, its
 <A HREF="./org/apache/http/util/ByteArrayBuffer.html#length()"><CODE>ByteArrayBuffer.length()</CODE></A> is equal to its <A HREF="./org/apache/http/util/ByteArrayBuffer.html#capacity()"><CODE>ByteArrayBuffer.capacity()</CODE></A>.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#isFull()"><B>isFull()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Returns <code>true</code> if this buffer is full, that is, its
 <A HREF="./org/apache/http/util/CharArrayBuffer.html#length()"><CODE>CharArrayBuffer.length()</CODE></A> is equal to its <A HREF="./org/apache/http/util/CharArrayBuffer.html#capacity()"><CODE>CharArrayBuffer.capacity()</CODE></A>.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#isHandled()"><B>isHandled()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#isHeadInsteadOfGet()"><B>isHeadInsteadOfGet()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#isHttpSeparator(char)"><B>isHttpSeparator(char)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Checks whether a character is an HTTP separator.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#isInboundDone()"><B>isInboundDone()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>Returns whether the session will produce any more inbound data.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#isInitialized()"><B>isInitialized()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>Returns <code>true</code> is the session has been fully initialized,
 <code>false</code> otherwise.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#isInterestOpQueued()"><B>isInterestOpQueued()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Determines whether or not I/O interest operations are to be queued and executed
 asynchronously by the I/O reactor thread or to be applied to the underlying
 <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"><CODE>SelectionKey</CODE></A> immediately.
<DT><A HREF="./org/apache/http/benchmark/Config.html#isKeepAlive()"><B>isKeepAlive()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/Consts.html#ISO_8859_1"><B>ISO_8859_1</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/Consts.html" title="class in org.apache.http">Consts</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#ISO_8859_1"><B>ISO_8859_1</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/HttpConnection.html#isOpen()"><B>isOpen()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http">HttpConnection</A>
<DD>Checks if this connection is open.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#isOpen()"><B>isOpen()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#isOpen()"><B>isOpen()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#isOpen()"><B>isOpen()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/ContentDecoderChannel.html#isOpen()"><B>isOpen()</B></A> - 
Method in class org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentDecoderChannel.html" title="class in org.apache.http.nio">ContentDecoderChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/ContentEncoderChannel.html#isOpen()"><B>isOpen()</B></A> - 
Method in class org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentEncoderChannel.html" title="class in org.apache.http.nio">ContentEncoderChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#isOutboundDone()"><B>isOutboundDone()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>Returns whether the session will accept any more outbound data.
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#isParameterFalse(java.lang.String)"><B>isParameterFalse(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpParams.html#isParameterFalse(java.lang.String)"><B>isParameterFalse(String)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Checks if a boolean parameter is not set or <code>false</code>.
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#isParameterSet(java.lang.String)"><B>isParameterSet(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD>Is the parameter set?
<DT><A HREF="./org/apache/http/params/SyncBasicHttpParams.html#isParameterSet(java.lang.String)"><B>isParameterSet(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/SyncBasicHttpParams.html" title="class in org.apache.http.params">SyncBasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#isParameterSetLocally(java.lang.String)"><B>isParameterSetLocally(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD>Is the parameter set in this object?
<DT><A HREF="./org/apache/http/params/SyncBasicHttpParams.html#isParameterSetLocally(java.lang.String)"><B>isParameterSetLocally(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/SyncBasicHttpParams.html" title="class in org.apache.http.params">SyncBasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#isParameterTrue(java.lang.String)"><B>isParameterTrue(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpParams.html#isParameterTrue(java.lang.String)"><B>isParameterTrue(String)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Checks if a boolean parameter is set to <code>true</code>.
<DT><A HREF="./org/apache/http/entity/BasicHttpEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BasicHttpEntity.html" title="class in org.apache.http.entity">BasicHttpEntity</A>
<DD>Tells that this entity is not repeatable.
<DT><A HREF="./org/apache/http/entity/BufferedHttpEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BufferedHttpEntity.html" title="class in org.apache.http.entity">BufferedHttpEntity</A>
<DD>Tells that this entity is repeatable.
<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity">ByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/EntityTemplate.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/EntityTemplate.html" title="class in org.apache.http.entity">EntityTemplate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/FileEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/FileEntity.html" title="class in org.apache.http.entity">FileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity">HttpEntityWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/InputStreamEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/InputStreamEntity.html" title="class in org.apache.http.entity">InputStreamEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/SerializableEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/SerializableEntity.html" title="class in org.apache.http.entity">SerializableEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/StringEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http">HttpEntity</A>
<DD>Tells if the entity is capable of producing its data more than once.
<DT><A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html" title="class in org.apache.http.nio.entity">BufferingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/EntityAsyncContentProducer.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/EntityAsyncContentProducer.html" title="class in org.apache.http.nio.entity">EntityAsyncContentProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/HttpAsyncContentProducer.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in interface org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/HttpAsyncContentProducer.html" title="interface in org.apache.http.nio.entity">HttpAsyncContentProducer</A>
<DD>Determines whether or not this producer is capable of producing
 its content more than once.
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html#isRepeatable()"><B>isRepeatable()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestProducer</A>
<DD>Determines whether or not this producer is capable of producing
 HTTP request messages more than once.
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#isRequestSubmitted()"><B>isRequestSubmitted()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientConnection.html#isRequestSubmitted()"><B>isRequestSubmitted()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientConnection.html" title="interface in org.apache.http.nio">NHttpClientConnection</A>
<DD>Returns <code>true</code> if an HTTP request has been submitted to the
 target server.
<DT><A HREF="./org/apache/http/HttpClientConnection.html#isResponseAvailable(int)"><B>isResponseAvailable(int)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpClientConnection.html" title="interface in org.apache.http">HttpClientConnection</A>
<DD>Checks if response data is available from the connection.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#isResponseAvailable(int)"><B>isResponseAvailable(int)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#isResponseSubmitted()"><B>isResponseSubmitted()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpServerConnection.html#isResponseSubmitted()"><B>isResponseSubmitted()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>
<DD>Returns <code>true</code> if an HTTP response has been submitted to the
 client.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#isSeparator(char)"><B>isSeparator(char)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Checks whether a character is a <A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#SEPARATORS"><CODE>separator</CODE></A>.
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#isShutdown()"><B>isShutdown()</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#isShutdown()"><B>isShutdown()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#isShutdown()"><B>isShutdown()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#isSoKeepalive()"><B>isSoKeepalive()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Determines the default value of the <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketOptions.html#SO_KEEPALIVE" title="class or interface in java.net"><CODE>SocketOptions.SO_KEEPALIVE</CODE></A> parameter
 for newly created sockets.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#isSoReuseAddress()"><B>isSoReuseAddress()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Determines the default value of the <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketOptions.html#SO_REUSEADDR" title="class or interface in java.net"><CODE>SocketOptions.SO_REUSEADDR</CODE></A> parameter
 for newly created sockets.
<DT><A HREF="./org/apache/http/HttpConnection.html#isStale()"><B>isStale()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http">HttpConnection</A>
<DD>Checks whether this connection has gone down.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#isStale()"><B>isStale()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#isStale()"><B>isStale()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#isStale()"><B>isStale()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#isStaleCheckingEnabled(org.apache.http.params.HttpParams)"><B>isStaleCheckingEnabled(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#STALE_CONNECTION_CHECK"><CODE>CoreConnectionPNames.STALE_CONNECTION_CHECK</CODE></A>
 parameter.
<DT><A HREF="./org/apache/http/entity/BasicHttpEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BasicHttpEntity.html" title="class in org.apache.http.entity">BasicHttpEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/BufferedHttpEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BufferedHttpEntity.html" title="class in org.apache.http.entity">BufferedHttpEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity">ByteArrayEntity</A>
<DD>Tells that this entity is not streaming.
<DT><A HREF="./org/apache/http/entity/EntityTemplate.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/EntityTemplate.html" title="class in org.apache.http.entity">EntityTemplate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/FileEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/FileEntity.html" title="class in org.apache.http.entity">FileEntity</A>
<DD>Tells that this entity is not streaming.
<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity">HttpEntityWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/InputStreamEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/InputStreamEntity.html" title="class in org.apache.http.entity">InputStreamEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/SerializableEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/SerializableEntity.html" title="class in org.apache.http.entity">SerializableEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/StringEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD>Tells that this entity is not streaming.
<DT><A HREF="./org/apache/http/HttpEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http">HttpEntity</A>
<DD>Tells whether this entity depends on an underlying stream.
<DT><A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html" title="class in org.apache.http.nio.entity">BufferingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html" title="class in org.apache.http.nio.entity">ConsumingNHttpEntityTemplate</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html" title="class in org.apache.http.nio.entity">NHttpEntityWrapper</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#isStreaming()"><B>isStreaming()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#isTcpNoDelay()"><B>isTcpNoDelay()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Determines the default value of the <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketOptions.html#TCP_NODELAY" title="class or interface in java.net"><CODE>SocketOptions.TCP_NODELAY</CODE></A> parameter
 for newly created sockets.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#isTokenChar(char)"><B>isTokenChar(char)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Checks whether a character is a valid token character.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#isTokenSeparator(char)"><B>isTokenSeparator(char)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Checks whether a character is a token separator.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#isUnsafe(char)"><B>isUnsafe(char)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Checks whether a character is <A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#UNSAFE_CHARS"><CODE>unsafe</CODE></A>.
<DT><A HREF="./org/apache/http/benchmark/Config.html#isUseAcceptGZip()"><B>isUseAcceptGZip()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#isUseChunking()"><B>isUseChunking()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#isUseExpectContinue()"><B>isUseExpectContinue()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#isUseHttp1_0()"><B>isUseHttp1_0()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#isValid()"><B>isValid()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#isWhitespace(char)"><B>isWhitespace(char)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Checks whether a character is a whitespace character.
<DT><A HREF="./org/apache/http/protocol/HTTP.html#isWhitespace(char)"><B>isWhitespace(char)</B></A> - 
Static method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#iterator()"><B>iterator()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Returns an iterator over this group of headers.
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#iterator(java.lang.String)"><B>iterator(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Returns an iterator over the headers with a given name in this group.
</DL>
<HR>
<A NAME="_K_"><!-- --></A><H2>
<B>K</B></H2>
<DL>
<DT><A HREF="./org/apache/http/ConnectionReuseStrategy.html#keepAlive(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>keepAlive(HttpResponse, HttpContext)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/ConnectionReuseStrategy.html" title="interface in org.apache.http">ConnectionReuseStrategy</A>
<DD>Decides whether a connection can be kept open after a request.
<DT><A HREF="./org/apache/http/impl/DefaultConnectionReuseStrategy.html#keepAlive(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>keepAlive(HttpResponse, HttpContext)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultConnectionReuseStrategy.html" title="class in org.apache.http.impl">DefaultConnectionReuseStrategy</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/NoConnectionReuseStrategy.html#keepAlive(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>keepAlive(HttpResponse, HttpContext)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/NoConnectionReuseStrategy.html" title="class in org.apache.http.impl">NoConnectionReuseStrategy</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_L_"><!-- --></A><H2>
<B>L</B></H2>
<DL>
<DT><A HREF="./org/apache/http/util/LangUtils.html" title="class in org.apache.http.util"><B>LangUtils</B></A> - Class in <A HREF="./org/apache/http/util/package-summary.html">org.apache.http.util</A><DD>A set of utility methods to help produce consistent
 <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"><CODE>equals</CODE></A> and <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang"><CODE>hashCode</CODE></A> methods.<DT><A HREF="./org/apache/http/HttpHeaders.html#LAST_MODIFIED"><B>LAST_MODIFIED</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.10, RFC 2616 (HTTP/1.1) Section 14.29
<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html#lastIndex"><B>lastIndex</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message">BasicListHeaderIterator</A>
<DD>The position of the last returned header.
<DT><A HREF="./org/apache/http/impl/entity/LaxContentLengthStrategy.html" title="class in org.apache.http.impl.entity"><B>LaxContentLengthStrategy</B></A> - Class in <A HREF="./org/apache/http/impl/entity/package-summary.html">org.apache.http.impl.entity</A><DD>The lax implementation of the content length strategy.<DT><A HREF="./org/apache/http/impl/entity/LaxContentLengthStrategy.html#LaxContentLengthStrategy(int)"><B>LaxContentLengthStrategy(int)</B></A> - 
Constructor for class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/LaxContentLengthStrategy.html" title="class in org.apache.http.impl.entity">LaxContentLengthStrategy</A>
<DD>Creates <tt>LaxContentLengthStrategy</tt> instance with the given length used per default
 when content length is not explicitly specified in the message.
<DT><A HREF="./org/apache/http/impl/entity/LaxContentLengthStrategy.html#LaxContentLengthStrategy()"><B>LaxContentLengthStrategy()</B></A> - 
Constructor for class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/LaxContentLengthStrategy.html" title="class in org.apache.http.impl.entity">LaxContentLengthStrategy</A>
<DD>Creates <tt>LaxContentLengthStrategy</tt> instance.
<DT><A HREF="./org/apache/http/HttpHost.html#lcHostname"><B>lcHostname</B></A> - 
Variable in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>The lowercase host, for <A HREF="./org/apache/http/HttpHost.html#equals(java.lang.Object)"><CODE>HttpHost.equals(java.lang.Object)</CODE></A> and <A HREF="./org/apache/http/HttpHost.html#hashCode()"><CODE>HttpHost.hashCode()</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html#lease(org.apache.http.HttpHost, java.lang.Object, org.apache.http.concurrent.FutureCallback)"><B>lease(HttpHost, Object, FutureCallback&lt;BasicNIOPoolEntry&gt;)</B></A> - 
Method in class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html#lease(org.apache.http.HttpHost, java.lang.Object)"><B>lease(HttpHost, Object)</B></A> - 
Method in class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#lease(T, java.lang.Object, long, java.util.concurrent.TimeUnit, org.apache.http.concurrent.FutureCallback)"><B>lease(T, Object, long, TimeUnit, FutureCallback&lt;E&gt;)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#lease(T, java.lang.Object, org.apache.http.concurrent.FutureCallback)"><B>lease(T, Object, FutureCallback&lt;E&gt;)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#lease(T, java.lang.Object)"><B>lease(T, Object)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#lease(T, java.lang.Object, org.apache.http.concurrent.FutureCallback)"><B>lease(T, Object, FutureCallback&lt;E&gt;)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>Attempts to lease a connection for the given route and with the given
 state from the pool.
 <p/>
 Please note that this class does not maintain its own pool of execution
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html" title="class or interface in java.lang"><CODE>Thread</CODE></A>s.
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#lease(T, java.lang.Object)"><B>lease(T, Object)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>Attempts to lease a connection for the given route and with the given
 state from the pool.
<DT><A HREF="./org/apache/http/pool/ConnPool.html#lease(T, java.lang.Object, org.apache.http.concurrent.FutureCallback)"><B>lease(T, Object, FutureCallback&lt;E&gt;)</B></A> - 
Method in interface org.apache.http.pool.<A HREF="./org/apache/http/pool/ConnPool.html" title="interface in org.apache.http.pool">ConnPool</A>
<DD>Attempts to lease a connection for the given route and with the given
 state from the pool.
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#length()"><B>length()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#length()"><B>length()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/BufferInfo.html#length()"><B>length()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/BufferInfo.html" title="interface in org.apache.http.io">BufferInfo</A>
<DD>Return length data stored in the buffer
<DT><A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html#length()"><B>length()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionInputBuffer</A>
<DD>Returns the length of this buffer.
<DT><A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html#length()"><B>length()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionOutputBuffer</A>
<DD>Returns the length of this buffer.
<DT><A HREF="./org/apache/http/nio/util/BufferInfo.html#length()"><B>length()</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/BufferInfo.html" title="interface in org.apache.http.nio.util">BufferInfo</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#length()"><B>length()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>Returns the length of this buffer.
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#length()"><B>length()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#length()"><B>length()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#length()"><B>length()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Returns the length of the buffer (byte count).
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#length()"><B>length()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Returns the length of the buffer (char count).
<DT><A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.html" title="class in org.apache.http.impl.nio.codecs"><B>LengthDelimitedDecoder</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Content decoder that cuts off after a defined number of bytes.<DT><A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.html#LengthDelimitedDecoder(java.nio.channels.ReadableByteChannel, org.apache.http.nio.reactor.SessionInputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl, long)"><B>LengthDelimitedDecoder(ReadableByteChannel, SessionInputBuffer, HttpTransportMetricsImpl, long)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.html" title="class in org.apache.http.impl.nio.codecs">LengthDelimitedDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.html" title="class in org.apache.http.impl.nio.codecs"><B>LengthDelimitedEncoder</B></A> - Class in <A HREF="./org/apache/http/impl/nio/codecs/package-summary.html">org.apache.http.impl.nio.codecs</A><DD>Content encoder that cuts off after a defined number of bytes.<DT><A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.html#LengthDelimitedEncoder(java.nio.channels.WritableByteChannel, org.apache.http.nio.reactor.SessionOutputBuffer, org.apache.http.impl.io.HttpTransportMetricsImpl, long)"><B>LengthDelimitedEncoder(WritableByteChannel, SessionOutputBuffer, HttpTransportMetricsImpl, long)</B></A> - 
Constructor for class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.html" title="class in org.apache.http.impl.nio.codecs">LengthDelimitedEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/ProtocolVersion.html#lessEquals(org.apache.http.ProtocolVersion)"><B>lessEquals(ProtocolVersion)</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Tests if this protocol version is less or equal to the given one.
<DT><A HREF="./org/apache/http/Consts.html#LF"><B>LF</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/Consts.html" title="class in org.apache.http">Consts</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#LF"><B>LF</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html#lineBuf"><B>lineBuf</B></A> - 
Variable in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html" title="class in org.apache.http.impl.io">AbstractMessageWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html#lineBuf"><B>lineBuf</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html#lineFormatter"><B>lineFormatter</B></A> - 
Variable in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html" title="class in org.apache.http.impl.io">AbstractMessageWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html#lineFormatter"><B>lineFormatter</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/LineFormatter.html" title="interface in org.apache.http.message"><B>LineFormatter</B></A> - Interface in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Interface for formatting elements of the HEAD section of an HTTP message.<DT><A HREF="./org/apache/http/impl/io/AbstractMessageParser.html#lineParser"><B>lineParser</B></A> - 
Variable in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageParser.html" title="class in org.apache.http.impl.io">AbstractMessageParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html#lineParser"><B>lineParser</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/LineParser.html" title="interface in org.apache.http.message"><B>LineParser</B></A> - Interface in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>Interface for parsing lines in the HEAD section of an HTTP message.<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#listen(java.net.SocketAddress)"><B>listen(SocketAddress)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultListeningIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ListeningIOReactor.html#listen(java.net.SocketAddress)"><B>listen(SocketAddress)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/ListeningIOReactor.html" title="interface in org.apache.http.nio.reactor">ListeningIOReactor</A>
<DD>Opens a new listener endpoint with the given socket address.
<DT><A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html" title="interface in org.apache.http.nio.reactor"><B>ListenerEndpoint</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>ListenerEndpoint interface represents an endpoint used by an I/O reactor
 to listen for incoming connection from remote clients.<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointClosedCallback.html" title="interface in org.apache.http.impl.nio.reactor"><B>ListenerEndpointClosedCallback</B></A> - Interface in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Listener endpoint callback interface used internally by I/O reactor
 implementations.<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor"><B>ListenerEndpointImpl</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Default implementation of <A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html" title="interface in org.apache.http.nio.reactor"><CODE>ListenerEndpoint</CODE></A>.<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html#ListenerEndpointImpl(java.net.SocketAddress, org.apache.http.impl.nio.reactor.ListenerEndpointClosedCallback)"><B>ListenerEndpointImpl(SocketAddress, ListenerEndpointClosedCallback)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor">ListenerEndpointImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ListeningIOReactor.html" title="interface in org.apache.http.nio.reactor"><B>ListeningIOReactor</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>ListeningIOReactor represents an I/O reactor capable of listening for
 incoming connections on one or several ports.<DT><A HREF="./org/apache/http/util/VersionInfo.html#loadVersionInfo(java.lang.String[], java.lang.ClassLoader)"><B>loadVersionInfo(String[], ClassLoader)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>Loads version information for a list of packages.
<DT><A HREF="./org/apache/http/util/VersionInfo.html#loadVersionInfo(java.lang.String, java.lang.ClassLoader)"><B>loadVersionInfo(String, ClassLoader)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>Loads version information for a package.
<DT><A HREF="./org/apache/http/HttpHeaders.html#LOCATION"><B>LOCATION</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.11, RFC 2616 (HTTP/1.1) Section 14.30
<DT><A HREF="./org/apache/http/HttpHeaders.html#LOCK_TOKEN"><B>LOCK_TOKEN</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2518 (WevDAV) Section 9.5
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html#log(java.lang.Exception)"><B>log(Exception)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequester</A>
<DD>This method can be used to log I/O exception thrown while closing <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/Closeable.html" title="class or interface in java.io"><CODE>Closeable</CODE></A>
 objects (such as <A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http"><CODE>HttpConnection</CODE></A>}).
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#log(java.lang.Exception)"><B>log(Exception)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>This method can be used to log I/O exception thrown while closing <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/Closeable.html" title="class or interface in java.io"><CODE>Closeable</CODE></A>
 objects (such as <A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http"><CODE>HttpConnection</CODE></A>}).
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#log(java.lang.Exception)"><B>log(Exception)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>This method can be used to log I/O exception thrown while closing <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/Closeable.html" title="class or interface in java.io"><CODE>Closeable</CODE></A>
 objects (such as <A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http"><CODE>HttpConnection</CODE></A>).
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html#lookup(java.lang.String)"><B>lookup(String)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestHandlerRegistry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerResolver.html#lookup(java.lang.String)"><B>lookup(String)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerResolver.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestHandlerResolver</A>
<DD>Looks up a handler matching the given request URI.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html#lookup(java.lang.String)"><B>lookup(String)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">NHttpRequestHandlerRegistry</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerResolver.html#lookup(java.lang.String)"><B>lookup(String)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerResolver.html" title="interface in org.apache.http.nio.protocol">NHttpRequestHandlerResolver</A>
<DD><B>Deprecated.</B>&nbsp;Looks up a handler matching the given request URI.
<DT><A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html#lookup(java.lang.String)"><B>lookup(String)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html" title="class in org.apache.http.protocol">HttpRequestHandlerRegistry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpRequestHandlerResolver.html#lookup(java.lang.String)"><B>lookup(String)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestHandlerResolver.html" title="interface in org.apache.http.protocol">HttpRequestHandlerResolver</A>
<DD>Looks up a handler matching the given request URI.
<DT><A HREF="./org/apache/http/protocol/UriPatternMatcher.html#lookup(java.lang.String)"><B>lookup(String)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/UriPatternMatcher.html" title="class in org.apache.http.protocol">UriPatternMatcher</A>
<DD>Looks up an object matching the given request URI.
</DL>
<HR>
<A NAME="_M_"><!-- --></A><H2>
<B>M</B></H2>
<DL>
<DT><A HREF="./org/apache/http/benchmark/HttpBenchmark.html#main(java.lang.String[])"><B>main(String[])</B></A> - 
Static method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/HttpBenchmark.html" title="class in org.apache.http.benchmark">HttpBenchmark</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/ProtocolVersion.html#major"><B>major</B></A> - 
Variable in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Major version number of the protocol
<DT><A HREF="./org/apache/http/MalformedChunkCodingException.html" title="class in org.apache.http"><B>MalformedChunkCodingException</B></A> - Exception in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Signals a malformed chunked stream.<DT><A HREF="./org/apache/http/MalformedChunkCodingException.html#MalformedChunkCodingException()"><B>MalformedChunkCodingException()</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/MalformedChunkCodingException.html" title="class in org.apache.http">MalformedChunkCodingException</A>
<DD>Creates a MalformedChunkCodingException without a detail message.
<DT><A HREF="./org/apache/http/MalformedChunkCodingException.html#MalformedChunkCodingException(java.lang.String)"><B>MalformedChunkCodingException(String)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/MalformedChunkCodingException.html" title="class in org.apache.http">MalformedChunkCodingException</A>
<DD>Creates a MalformedChunkCodingException with the specified detail message.
<DT><A HREF="./org/apache/http/protocol/UriPatternMatcher.html#matchUriRequestPattern(java.lang.String, java.lang.String)"><B>matchUriRequestPattern(String, String)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/UriPatternMatcher.html" title="class in org.apache.http.protocol">UriPatternMatcher</A>
<DD>Tests if the given request URI matches the given pattern.
<DT><A HREF="./org/apache/http/HttpHeaders.html#MAX_FORWARDS"><B>MAX_FORWARDS</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.31
<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html#MAX_HEADER_COUNT"><B>MAX_HEADER_COUNT</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params">CoreConnectionPNames</A>
<DD>Determines the maximum HTTP header count allowed.
<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html#MAX_LINE_LENGTH"><B>MAX_LINE_LENGTH</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params">CoreConnectionPNames</A>
<DD>Determines the maximum line length limit.
<DT><A HREF="./org/apache/http/MethodNotSupportedException.html" title="class in org.apache.http"><B>MethodNotSupportedException</B></A> - Exception in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Signals that an HTTP method is not supported.<DT><A HREF="./org/apache/http/MethodNotSupportedException.html#MethodNotSupportedException(java.lang.String)"><B>MethodNotSupportedException(String)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/MethodNotSupportedException.html" title="class in org.apache.http">MethodNotSupportedException</A>
<DD>Creates a new MethodNotSupportedException with the specified detail message.
<DT><A HREF="./org/apache/http/MethodNotSupportedException.html#MethodNotSupportedException(java.lang.String, java.lang.Throwable)"><B>MethodNotSupportedException(String, Throwable)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/MethodNotSupportedException.html" title="class in org.apache.http">MethodNotSupportedException</A>
<DD>Creates a new MethodNotSupportedException with the specified detail message and cause.
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html#metrics"><B>metrics</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentDecoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html#metrics"><B>metrics</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractContentEncoder.html" title="class in org.apache.http.impl.nio.codecs">AbstractContentEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html#MIN_CHUNK_LIMIT"><B>MIN_CHUNK_LIMIT</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params">CoreConnectionPNames</A>
<DD>Defines the size limit below which data chunks should be buffered in a session I/O buffer
 in order to minimize native method invocations on the underlying network socket.
<DT><A HREF="./org/apache/http/ProtocolVersion.html#minor"><B>minor</B></A> - 
Variable in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Minor version number of the protocol
<DT><A HREF="./org/apache/http/entity/ContentType.html#MULTIPART_FORM_DATA"><B>MULTIPART_FORM_DATA</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_N_"><!-- --></A><H2>
<B>N</B></H2>
<DL>
<DT><A HREF="./org/apache/http/NameValuePair.html" title="interface in org.apache.http"><B>NameValuePair</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>A name / value pair parameter used as an element of HTTP messages.<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity"><B>NByteArrayEntity</B></A> - Class in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD>A simple self contained, repeatable non-blocking entity that retrieves
 its content from a byte array.<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#NByteArrayEntity(byte[], org.apache.http.entity.ContentType)"><B>NByteArrayEntity(byte[], ContentType)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#NByteArrayEntity(byte[], int, int, org.apache.http.entity.ContentType)"><B>NByteArrayEntity(byte[], int, int, ContentType)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#NByteArrayEntity(byte[])"><B>NByteArrayEntity(byte[])</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#NByteArrayEntity(byte[], int, int)"><B>NByteArrayEntity(byte[], int, int)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpRequestFactory.html#newHttpRequest(org.apache.http.RequestLine)"><B>newHttpRequest(RequestLine)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpRequestFactory.html" title="interface in org.apache.http">HttpRequestFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpRequestFactory.html#newHttpRequest(java.lang.String, java.lang.String)"><B>newHttpRequest(String, String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpRequestFactory.html" title="interface in org.apache.http">HttpRequestFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/DefaultHttpRequestFactory.html#newHttpRequest(org.apache.http.RequestLine)"><B>newHttpRequest(RequestLine)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpRequestFactory.html" title="class in org.apache.http.impl">DefaultHttpRequestFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/DefaultHttpRequestFactory.html#newHttpRequest(java.lang.String, java.lang.String)"><B>newHttpRequest(String, String)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpRequestFactory.html" title="class in org.apache.http.impl">DefaultHttpRequestFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpResponseFactory.html#newHttpResponse(org.apache.http.ProtocolVersion, int, org.apache.http.protocol.HttpContext)"><B>newHttpResponse(ProtocolVersion, int, HttpContext)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponseFactory.html" title="interface in org.apache.http">HttpResponseFactory</A>
<DD>Creates a new response from status line elements.
<DT><A HREF="./org/apache/http/HttpResponseFactory.html#newHttpResponse(org.apache.http.StatusLine, org.apache.http.protocol.HttpContext)"><B>newHttpResponse(StatusLine, HttpContext)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponseFactory.html" title="interface in org.apache.http">HttpResponseFactory</A>
<DD>Creates a new response from a status line.
<DT><A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html#newHttpResponse(org.apache.http.ProtocolVersion, int, org.apache.http.protocol.HttpContext)"><B>newHttpResponse(ProtocolVersion, int, HttpContext)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html" title="class in org.apache.http.impl">DefaultHttpResponseFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html#newHttpResponse(org.apache.http.StatusLine, org.apache.http.protocol.HttpContext)"><B>newHttpResponse(StatusLine, HttpContext)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html" title="class in org.apache.http.impl">DefaultHttpResponseFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderElementIterator.html#next()"><B>next()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElementIterator.html" title="class in org.apache.http.message">BasicHeaderElementIterator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderIterator.html#next()"><B>next()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message">BasicHeaderIterator</A>
<DD>Returns the next header.
<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html#next()"><B>next()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message">BasicListHeaderIterator</A>
<DD>Returns the next header.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#next()"><B>next()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Returns the next token.
<DT><A HREF="./org/apache/http/HeaderElementIterator.html#nextElement()"><B>nextElement()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HeaderElementIterator.html" title="interface in org.apache.http">HeaderElementIterator</A>
<DD>Obtains the next header element from this iteration.
<DT><A HREF="./org/apache/http/message/BasicHeaderElementIterator.html#nextElement()"><B>nextElement()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElementIterator.html" title="class in org.apache.http.message">BasicHeaderElementIterator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HeaderIterator.html#nextHeader()"><B>nextHeader()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HeaderIterator.html" title="interface in org.apache.http">HeaderIterator</A>
<DD>Obtains the next header from this iteration.
<DT><A HREF="./org/apache/http/message/BasicHeaderIterator.html#nextHeader()"><B>nextHeader()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message">BasicHeaderIterator</A>
<DD>Obtains the next header from this iteration.
<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html#nextHeader()"><B>nextHeader()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message">BasicListHeaderIterator</A>
<DD>Obtains the next header from this iteration.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#nextToken()"><B>nextToken()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Obtains the next token from this iteration.
<DT><A HREF="./org/apache/http/TokenIterator.html#nextToken()"><B>nextToken()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/TokenIterator.html" title="interface in org.apache.http">TokenIterator</A>
<DD>Obtains the next token from this iteration.
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity"><B>NFileEntity</B></A> - Class in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD>A self contained, repeatable non-blocking entity that retrieves its content
 from a file.<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#NFileEntity(java.io.File, org.apache.http.entity.ContentType, boolean)"><B>NFileEntity(File, ContentType, boolean)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD>Creates new instance of NFileEntity from the given source <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>
 with the given content type.
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#NFileEntity(java.io.File)"><B>NFileEntity(File)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#NFileEntity(java.io.File, org.apache.http.entity.ContentType)"><B>NFileEntity(File, ContentType)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD>Creates new instance of NFileEntity from the given source <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/File.html" title="class or interface in java.io"><CODE>File</CODE></A>
 with the given content type.
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#NFileEntity(java.io.File, java.lang.String, boolean)"><B>NFileEntity(File, String, boolean)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/entity/NFileEntity.html#NFileEntity(java.io.File, org.apache.http.entity.ContentType, boolean)"><CODE>NFileEntity.NFileEntity(File, ContentType, boolean)</CODE></A></I>
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#NFileEntity(java.io.File, java.lang.String)"><B>NFileEntity(File, String)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/entity/NFileEntity.html#NFileEntity(java.io.File, org.apache.http.entity.ContentType)"><CODE>NFileEntity.NFileEntity(File, ContentType)</CODE></A></I>
<DT><A HREF="./org/apache/http/nio/NHttpClientConnection.html" title="interface in org.apache.http.nio"><B>NHttpClientConnection</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>Abstract non-blocking client-side HTTP connection interface.<DT><A HREF="./org/apache/http/nio/NHttpClientEventHandler.html" title="interface in org.apache.http.nio"><B>NHttpClientEventHandler</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>Abstract client-side HTTP protocol handler.<DT><A HREF="./org/apache/http/nio/NHttpClientHandler.html" title="interface in org.apache.http.nio"><B>NHttpClientHandler</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/NHttpClientEventHandler.html" title="interface in org.apache.http.nio"><CODE>NHttpClientEventHandler</CODE></A></I><DT><A HREF="./org/apache/http/nio/NHttpClientIOTarget.html" title="interface in org.apache.http.nio"><B>NHttpClientIOTarget</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) no longer used</I><DT><A HREF="./org/apache/http/nio/NHttpConnection.html" title="interface in org.apache.http.nio"><B>NHttpConnection</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>Abstract non-blocking HTTP connection interface.<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio"><B>NHttpConnectionBase</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD>This class serves as a base for all <A HREF="./org/apache/http/nio/NHttpConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpConnection</CODE></A> implementations
 and implements functionality common to both client and server
 HTTP connections.<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#NHttpConnectionBase(org.apache.http.nio.reactor.IOSession, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>NHttpConnectionBase(IOSession, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>Creates a new instance of this class given the underlying I/O session.
<DT><A HREF="./org/apache/http/nio/NHttpConnectionFactory.html" title="interface in org.apache.http.nio"><B>NHttpConnectionFactory</B></A>&lt;<A HREF="./org/apache/http/nio/NHttpConnectionFactory.html" title="type parameter in NHttpConnectionFactory">T</A> extends <A HREF="./org/apache/http/nio/NHttpConnection.html" title="interface in org.apache.http.nio">NHttpConnection</A>&gt; - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>Factory for <A HREF="./org/apache/http/nio/NHttpConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpConnection</CODE></A> instances.<DT><A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html" title="class in org.apache.http.nio.entity"><B>NHttpEntityWrapper</B></A> - Class in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/entity/EntityAsyncContentProducer.html" title="class in org.apache.http.nio.entity"><CODE>EntityAsyncContentProducer</CODE></A></I><DT><A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html#NHttpEntityWrapper(org.apache.http.HttpEntity)"><B>NHttpEntityWrapper(HttpEntity)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html" title="class in org.apache.http.nio.entity">NHttpEntityWrapper</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol"><B>NHttpHandlerBase</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) do not use</I><DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#NHttpHandlerBase(org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>NHttpHandlerBase(HttpProcessor, ConnectionReuseStrategy, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpMessageParser.html" title="interface in org.apache.http.nio"><B>NHttpMessageParser</B></A>&lt;<A HREF="./org/apache/http/nio/NHttpMessageParser.html" title="type parameter in NHttpMessageParser">T</A> extends <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>&gt; - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>Abstract HTTP message parser for non-blocking connections.<DT><A HREF="./org/apache/http/nio/NHttpMessageWriter.html" title="interface in org.apache.http.nio"><B>NHttpMessageWriter</B></A>&lt;<A HREF="./org/apache/http/nio/NHttpMessageWriter.html" title="type parameter in NHttpMessageWriter">T</A> extends <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>&gt; - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>Abstract HTTP message writer for non-blocking connections.<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol"><B>NHttpRequestExecutionHandler</B></A> - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestExecutor</CODE></A> and <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequester</CODE></A></I><DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandler.html" title="interface in org.apache.http.nio.protocol"><B>NHttpRequestHandler</B></A> - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestHandler</CODE></A></I><DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol"><B>NHttpRequestHandlerRegistry</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestHandlerRegistry</CODE></A></I><DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html#NHttpRequestHandlerRegistry()"><B>NHttpRequestHandlerRegistry()</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">NHttpRequestHandlerRegistry</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerResolver.html" title="interface in org.apache.http.nio.protocol"><B>NHttpRequestHandlerResolver</B></A> - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerResolver.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestHandlerResolver</CODE></A></I><DT><A HREF="./org/apache/http/nio/protocol/NHttpResponseTrigger.html" title="interface in org.apache.http.nio.protocol"><B>NHttpResponseTrigger</B></A> - Interface in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncExchange</CODE></A></I><DT><A HREF="./org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio"><B>NHttpServerConnection</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>Abstract non-blocking server-side HTTP connection interface.<DT><A HREF="./org/apache/http/nio/NHttpServerEventHandler.html" title="interface in org.apache.http.nio"><B>NHttpServerEventHandler</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD>Abstract server-side HTTP event handler.<DT><A HREF="./org/apache/http/nio/NHttpServerIOTarget.html" title="interface in org.apache.http.nio"><B>NHttpServerIOTarget</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) no longer used</I><DT><A HREF="./org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio"><B>NHttpServiceHandler</B></A> - Interface in <A HREF="./org/apache/http/nio/package-summary.html">org.apache.http.nio</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/NHttpServerEventHandler.html" title="interface in org.apache.http.nio"><CODE>NHttpServerEventHandler</CODE></A></I><DT><A HREF="./org/apache/http/nio/pool/NIOConnFactory.html" title="interface in org.apache.http.nio.pool"><B>NIOConnFactory</B></A>&lt;<A HREF="./org/apache/http/nio/pool/NIOConnFactory.html" title="type parameter in NIOConnFactory">T</A>,<A HREF="./org/apache/http/nio/pool/NIOConnFactory.html" title="type parameter in NIOConnFactory">C</A>&gt; - Interface in <A HREF="./org/apache/http/nio/pool/package-summary.html">org.apache.http.nio.pool</A><DD>Factory for poolable non-blocking connections.<DT><A HREF="./org/apache/http/nio/params/NIOReactorParamBean.html" title="class in org.apache.http.nio.params"><B>NIOReactorParamBean</B></A> - Class in <A HREF="./org/apache/http/nio/params/package-summary.html">org.apache.http.nio.params</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor"><CODE>IOReactorConfig</CODE></A></I><DT><A HREF="./org/apache/http/nio/params/NIOReactorParamBean.html#NIOReactorParamBean(org.apache.http.params.HttpParams)"><B>NIOReactorParamBean(HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorParamBean.html" title="class in org.apache.http.nio.params">NIOReactorParamBean</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/params/NIOReactorParams.html" title="class in org.apache.http.nio.params"><B>NIOReactorParams</B></A> - Class in <A HREF="./org/apache/http/nio/params/package-summary.html">org.apache.http.nio.params</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor"><CODE>IOReactorConfig</CODE></A></I><DT><A HREF="./org/apache/http/nio/params/NIOReactorPNames.html" title="interface in org.apache.http.nio.params"><B>NIOReactorPNames</B></A> - Interface in <A HREF="./org/apache/http/nio/params/package-summary.html">org.apache.http.nio.params</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor"><CODE>IOReactorConfig</CODE></A></I><DT><A HREF="./org/apache/http/impl/NoConnectionReuseStrategy.html" title="class in org.apache.http.impl"><B>NoConnectionReuseStrategy</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>A strategy that never re-uses a connection.<DT><A HREF="./org/apache/http/impl/NoConnectionReuseStrategy.html#NoConnectionReuseStrategy()"><B>NoConnectionReuseStrategy()</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/NoConnectionReuseStrategy.html" title="class in org.apache.http.impl">NoConnectionReuseStrategy</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/NoHttpResponseException.html" title="class in org.apache.http"><B>NoHttpResponseException</B></A> - Exception in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Signals that the target server failed to respond with a valid HTTP response.<DT><A HREF="./org/apache/http/NoHttpResponseException.html#NoHttpResponseException(java.lang.String)"><B>NoHttpResponseException(String)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/NoHttpResponseException.html" title="class in org.apache.http">NoHttpResponseException</A>
<DD>Creates a new NoHttpResponseException with the specified detail message.
<DT><A HREF="./org/apache/http/annotation/NotThreadSafe.html" title="annotation in org.apache.http.annotation"><B>NotThreadSafe</B></A> - Annotation Type in <A HREF="./org/apache/http/annotation/package-summary.html">org.apache.http.annotation</A><DD>The class to which this annotation is applied is not thread-safe.<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity"><B>NStringEntity</B></A> - Class in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD>A simple, self contained, repeatable non-blocking entity that retrieves
 its content from a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A> object.<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#NStringEntity(java.lang.String, org.apache.http.entity.ContentType)"><B>NStringEntity(String, ContentType)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD>Creates a NStringEntity with the specified content and content type.
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#NStringEntity(java.lang.String, java.lang.String)"><B>NStringEntity(String, String)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD>Creates a NStringEntity with the specified content and charset.
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#NStringEntity(java.lang.String, java.nio.charset.Charset)"><B>NStringEntity(String, Charset)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD>Creates a NStringEntity with the specified content and charset.
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#NStringEntity(java.lang.String)"><B>NStringEntity(String)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD>Creates a NStringEntity with the specified content.
</DL>
<HR>
<A NAME="_O_"><!-- --></A><H2>
<B>O</B></H2>
<DL>
<DT><A HREF="./org/apache/http/protocol/HTTP.html#OCTET_STREAM_TYPE"><B>OCTET_STREAM_TYPE</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#onClosed(org.apache.http.nio.NHttpClientIOTarget)"><B>onClosed(NHttpClientIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html#onClosed(org.apache.http.impl.nio.DefaultNHttpClientConnection)"><B>onClosed(DefaultNHttpClientConnection)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpClientIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html#onClosed(org.apache.http.impl.nio.DefaultNHttpServerConnection)"><B>onClosed(DefaultNHttpServerConnection)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpServerIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#onClosed(org.apache.http.nio.NHttpServerIOTarget)"><B>onClosed(NHttpServerIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#onClosed(T)"><B>onClosed(T)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#onConnected(org.apache.http.nio.NHttpClientIOTarget)"><B>onConnected(NHttpClientIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html#onConnected(org.apache.http.impl.nio.DefaultNHttpClientConnection)"><B>onConnected(DefaultNHttpClientConnection)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpClientIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html#onConnected(org.apache.http.impl.nio.DefaultNHttpServerConnection)"><B>onConnected(DefaultNHttpServerConnection)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpServerIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#onConnected(org.apache.http.nio.NHttpServerIOTarget)"><B>onConnected(NHttpServerIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#onConnected(T)"><B>onConnected(T)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html#onConnected(org.apache.http.nio.NHttpClientIOTarget)"><B>onConnected(NHttpClientIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html#onConnected(org.apache.http.nio.NHttpServerIOTarget)"><B>onConnected(NHttpServerIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#onContentReceived(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>onContentReceived(ContentDecoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>Invoked to process a chunk of content from the <A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><CODE>ContentDecoder</CODE></A>.
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#onContentReceived(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>onContentReceived(ContentDecoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>Invoked to process a chunk of content from the <A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><CODE>ContentDecoder</CODE></A>.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html#onContentReceived(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>onContentReceived(ContentDecoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html#onContentReceived(org.apache.http.nio.ContentDecoder, org.apache.http.nio.IOControl)"><B>onContentReceived(ContentDecoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#onEntityEnclosed(org.apache.http.HttpEntity, org.apache.http.entity.ContentType)"><B>onEntityEnclosed(HttpEntity, ContentType)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>Invoked if the request message encloses a content entity.
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#onEntityEnclosed(org.apache.http.HttpEntity, org.apache.http.entity.ContentType)"><B>onEntityEnclosed(HttpEntity, ContentType)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>Invoked if the response message encloses a content entity.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html#onEntityEnclosed(org.apache.http.HttpEntity, org.apache.http.entity.ContentType)"><B>onEntityEnclosed(HttpEntity, ContentType)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html#onEntityEnclosed(org.apache.http.HttpEntity, org.apache.http.entity.ContentType)"><B>onEntityEnclosed(HttpEntity, ContentType)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#onException(org.apache.http.nio.NHttpClientIOTarget, java.io.IOException)"><B>onException(NHttpClientIOTarget, IOException)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html#onException(org.apache.http.impl.nio.DefaultNHttpClientConnection, java.io.IOException)"><B>onException(DefaultNHttpClientConnection, IOException)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpClientIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html#onException(org.apache.http.impl.nio.DefaultNHttpServerConnection, java.io.IOException)"><B>onException(DefaultNHttpServerConnection, IOException)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpServerIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#onException(org.apache.http.nio.NHttpServerIOTarget, java.io.IOException)"><B>onException(NHttpServerIOTarget, IOException)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#onException(T, java.io.IOException)"><B>onException(T, IOException)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#onInputReady(org.apache.http.nio.NHttpClientIOTarget)"><B>onInputReady(NHttpClientIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html#onInputReady(org.apache.http.impl.nio.DefaultNHttpClientConnection)"><B>onInputReady(DefaultNHttpClientConnection)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpClientIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html#onInputReady(org.apache.http.impl.nio.DefaultNHttpServerConnection)"><B>onInputReady(DefaultNHttpServerConnection)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpServerIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#onInputReady(org.apache.http.nio.NHttpServerIOTarget)"><B>onInputReady(NHttpServerIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#onInputReady(T)"><B>onInputReady(T)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#onOutputReady(org.apache.http.nio.NHttpClientIOTarget)"><B>onOutputReady(NHttpClientIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html#onOutputReady(org.apache.http.impl.nio.DefaultNHttpClientConnection)"><B>onOutputReady(DefaultNHttpClientConnection)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpClientIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html#onOutputReady(org.apache.http.impl.nio.DefaultNHttpServerConnection)"><B>onOutputReady(DefaultNHttpServerConnection)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpServerIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#onOutputReady(org.apache.http.nio.NHttpServerIOTarget)"><B>onOutputReady(NHttpServerIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#onOutputReady(T)"><B>onOutputReady(T)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#onRequestReceived(org.apache.http.HttpRequest)"><B>onRequestReceived(HttpRequest)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#onRequestReceived(org.apache.http.HttpRequest)"><B>onRequestReceived(HttpRequest)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>Invoked when a HTTP request message is received.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html#onRequestReceived(org.apache.http.HttpRequest)"><B>onRequestReceived(HttpRequest)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#onRequestSubmitted(org.apache.http.HttpRequest)"><B>onRequestSubmitted(HttpRequest)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#onResponseReceived(org.apache.http.HttpResponse)"><B>onResponseReceived(HttpResponse)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#onResponseReceived(org.apache.http.HttpResponse)"><B>onResponseReceived(HttpResponse)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>Invoked when a HTTP response message is received.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html#onResponseReceived(org.apache.http.HttpResponse)"><B>onResponseReceived(HttpResponse)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#onResponseSubmitted(org.apache.http.HttpResponse)"><B>onResponseSubmitted(HttpResponse)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#onTimeout(org.apache.http.nio.NHttpClientIOTarget)"><B>onTimeout(NHttpClientIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html#onTimeout(org.apache.http.impl.nio.DefaultNHttpClientConnection)"><B>onTimeout(DefaultNHttpClientConnection)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpClientIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html#onTimeout(org.apache.http.impl.nio.DefaultNHttpServerConnection)"><B>onTimeout(DefaultNHttpServerConnection)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio">DefaultHttpServerIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#onTimeout(org.apache.http.nio.NHttpServerIOTarget)"><B>onTimeout(NHttpServerIOTarget)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#onTimeout(T)"><B>onTimeout(T)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/package-summary.html"><B>org.apache.http</B></A> - package org.apache.http<DD>Core HTTP components based on the blocking I/O model.<DT><A HREF="./org/apache/http/annotation/package-summary.html"><B>org.apache.http.annotation</B></A> - package org.apache.http.annotation<DD>Thread-safety annotations based on JCIP-ANNOTATIONS
<br/>
Copyright (c) 2005 Brian Goetz and Tim Peierls.<DT><A HREF="./org/apache/http/benchmark/package-summary.html"><B>org.apache.http.benchmark</B></A> - package org.apache.http.benchmark<DD>&nbsp;<DT><A HREF="./org/apache/http/concurrent/package-summary.html"><B>org.apache.http.concurrent</B></A> - package org.apache.http.concurrent<DD>Common concurrency components.<DT><A HREF="./org/apache/http/entity/package-summary.html"><B>org.apache.http.entity</B></A> - package org.apache.http.entity<DD>Common HTTP entity implementations.<DT><A HREF="./org/apache/http/impl/package-summary.html"><B>org.apache.http.impl</B></A> - package org.apache.http.impl<DD>Default implementations for interfaces in
<A HREF="./org/apache/http/package-summary.html"><CODE>org.apache.http</CODE></A>.<DT><A HREF="./org/apache/http/impl/entity/package-summary.html"><B>org.apache.http.impl.entity</B></A> - package org.apache.http.impl.entity<DD>Default implementations for interfaces in
<A HREF="./org/apache/http/entity/package-summary.html"><CODE>org.apache.http.entity</CODE></A> and provides utility
classes for serialization and deserialization of HTTP content entities.<DT><A HREF="./org/apache/http/impl/io/package-summary.html"><B>org.apache.http.impl.io</B></A> - package org.apache.http.impl.io<DD>Default implementations for interfaces in
<A HREF="./org/apache/http/io/package-summary.html"><CODE>org.apache.http.io</CODE></A>.<DT><A HREF="./org/apache/http/impl/nio/package-summary.html"><B>org.apache.http.impl.nio</B></A> - package org.apache.http.impl.nio<DD>Default implementations for interfaces in
<A HREF="./org/apache/http/package-summary.html"><CODE>org.apache.http.nio</CODE></A>.<DT><A HREF="./org/apache/http/impl/nio/codecs/package-summary.html"><B>org.apache.http.impl.nio.codecs</B></A> - package org.apache.http.impl.nio.codecs<DD>Default implementations for interfaces in
<A HREF="./org/apache/http/io/package-summary.html"><CODE>org.apache.http.nio.codecs</CODE></A>.<DT><A HREF="./org/apache/http/impl/nio/pool/package-summary.html"><B>org.apache.http.impl.nio.pool</B></A> - package org.apache.http.impl.nio.pool<DD>Basic implementations for interfaces in
<A HREF="./org/apache/http/nio/pool/package-summary.html"><CODE>org.apache.http.nio.pool</CODE></A>.<DT><A HREF="./org/apache/http/impl/nio/reactor/package-summary.html"><B>org.apache.http.impl.nio.reactor</B></A> - package org.apache.http.impl.nio.reactor<DD>Default implementations for interfaces in
<A HREF="./org/apache/http/nio/package-summary.html"><CODE>org.apache.http.nio</CODE></A> including default
I/O reactor implementations and support for SSL/TLS transport security.<DT><A HREF="./org/apache/http/impl/nio/ssl/package-summary.html"><B>org.apache.http.impl.nio.ssl</B></A> - package org.apache.http.impl.nio.ssl<DD>Deprecated<DT><A HREF="./org/apache/http/impl/pool/package-summary.html"><B>org.apache.http.impl.pool</B></A> - package org.apache.http.impl.pool<DD>Basic implementations for interfaces in
<A HREF="./org/apache/http/pool/package-summary.html"><CODE>org.apache.http.pool</CODE></A>.<DT><A HREF="./org/apache/http/io/package-summary.html"><B>org.apache.http.io</B></A> - package org.apache.http.io<DD>Blocking I/O session buffer, message parser / writer interfaces.<DT><A HREF="./org/apache/http/message/package-summary.html"><B>org.apache.http.message</B></A> - package org.apache.http.message<DD>Basic HTTP message implementations.<DT><A HREF="./org/apache/http/nio/package-summary.html"><B>org.apache.http.nio</B></A> - package org.apache.http.nio<DD>Core HTTP components based on the non-blocking I/O model.<DT><A HREF="./org/apache/http/nio/entity/package-summary.html"><B>org.apache.http.nio.entity</B></A> - package org.apache.http.nio.entity<DD>Common HTTP entity implementations with extensions for 
asynchronous (non-blocking) data transfer.<DT><A HREF="./org/apache/http/nio/params/package-summary.html"><B>org.apache.http.nio.params</B></A> - package org.apache.http.nio.params<DD>HTTP parameters for I/O reactors based on NIO model.<DT><A HREF="./org/apache/http/nio/pool/package-summary.html"><B>org.apache.http.nio.pool</B></A> - package org.apache.http.nio.pool<DD>Asynchronous (non-blocking) connection pool components.<DT><A HREF="./org/apache/http/nio/protocol/package-summary.html"><B>org.apache.http.nio.protocol</B></A> - package org.apache.http.nio.protocol<DD>Asynchronous HTTP protocol handlers based on the non-blocking I/O model.<DT><A HREF="./org/apache/http/nio/reactor/package-summary.html"><B>org.apache.http.nio.reactor</B></A> - package org.apache.http.nio.reactor<DD>API for event driven NIO based on
<a href="http://gee.cs.oswego.edu/dl/">Doug Lea</a>'s
<a href="http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf">reactor pattern</a>.<DT><A HREF="./org/apache/http/nio/reactor/ssl/package-summary.html"><B>org.apache.http.nio.reactor.ssl</B></A> - package org.apache.http.nio.reactor.ssl<DD>Non-blocking TLS/SSL session implementation.<DT><A HREF="./org/apache/http/nio/util/package-summary.html"><B>org.apache.http.nio.util</B></A> - package org.apache.http.nio.util<DD>Various buffering primitives intended to facilitate content streaming for
non-blocking HTTP connections.<DT><A HREF="./org/apache/http/params/package-summary.html"><B>org.apache.http.params</B></A> - package org.apache.http.params<DD>The parameterization framework for HTTP components.<DT><A HREF="./org/apache/http/pool/package-summary.html"><B>org.apache.http.pool</B></A> - package org.apache.http.pool<DD>Synchronous (blocking) connection pool components.<DT><A HREF="./org/apache/http/protocol/package-summary.html"><B>org.apache.http.protocol</B></A> - package org.apache.http.protocol<DD>HTTP protocol execution framework and synchronous HTTP protocol handlers 
based on the blocking I/O model.<DT><A HREF="./org/apache/http/util/package-summary.html"><B>org.apache.http.util</B></A> - package org.apache.http.util<DD>Resizable
<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util"><CODE>byte</CODE></A> and
<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util"><CODE>char</CODE></A> arrays
and various utility classes with static helper methods.<DT><A HREF="./org/apache/http/params/CoreProtocolPNames.html#ORIGIN_SERVER"><B>ORIGIN_SERVER</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreProtocolPNames.html" title="interface in org.apache.http.params">CoreProtocolPNames</A>
<DD>Defines the content of the <code>Server</code> header.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#outboundTransport()"><B>outboundTransport()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>Sends encrypted data and executes outbound SSL transport operations.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#outbuf"><B>outbuf</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#outgoingContentStrategy"><B>outgoingContentStrategy</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#OUTPUT_MODE"><B>OUTPUT_MODE</B></A> - 
Static variable in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#outputReady(org.apache.http.nio.reactor.IOSession)"><B>outputReady(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#outputReady(org.apache.http.nio.reactor.IOSession)"><B>outputReady(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#outputReady(org.apache.http.nio.reactor.IOSession)"><B>outputReady(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientEventHandler.html#outputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpClientConnection, ContentEncoder)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientEventHandler.html" title="interface in org.apache.http.nio">NHttpClientEventHandler</A>
<DD>Triggered when the underlying channel is ready for writing a next portion
 of the request entity through the corresponding content encoder.
<DT><A HREF="./org/apache/http/nio/NHttpClientHandler.html#outputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpClientConnection, ContentEncoder)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientHandler.html" title="interface in org.apache.http.nio">NHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the underlying channel is ready for writing a next portion
 of the request entity through the corresponding content encoder.
<DT><A HREF="./org/apache/http/nio/NHttpServerEventHandler.html#outputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpServerConnection, ContentEncoder)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerEventHandler.html" title="interface in org.apache.http.nio">NHttpServerEventHandler</A>
<DD>Triggered when the underlying channel is ready for writing a
 next portion of the response entity through the corresponding
 content encoder.
<DT><A HREF="./org/apache/http/nio/NHttpServiceHandler.html#outputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpServerConnection, ContentEncoder)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A>
<DD><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.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#outputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpClientConnection, ContentEncoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#outputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpServerConnection, ContentEncoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#outputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpClientConnection, ContentEncoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#outputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpServerConnection, ContentEncoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#outputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpClientConnection, ContentEncoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#outputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpServerConnection, ContentEncoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#outputReady(org.apache.http.nio.NHttpClientConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpClientConnection, ContentEncoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#outputReady(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)"><B>outputReady(NHttpServerConnection, ContentEncoder)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html#outputReady(org.apache.http.nio.reactor.IOSession)"><B>outputReady(IOSession)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html" title="interface in org.apache.http.nio.reactor">IOEventDispatch</A>
<DD>Triggered when the given session is ready for output.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#outTransportMetrics"><B>outTransportMetrics</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#OVERWRITE"><B>OVERWRITE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2518 (WevDAV) Section 9.6
</DL>
<HR>
<A NAME="_P_"><!-- --></A><H2>
<B>P</B></H2>
<DL>
<DT><A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html#params"><B>params</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html#params"><B>params</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">DefaultServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#params"><B>params</B></A> - 
Variable in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#params"><B>params</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#params"><B>params</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#params"><B>params</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#params"><B>params</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/params/HttpAbstractParamBean.html#params"><B>params</B></A> - 
Variable in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpAbstractParamBean.html" title="class in org.apache.http.params">HttpAbstractParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#parse(java.lang.String)"><B>parse(String)</B></A> - 
Static method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>Parses textual representation of <code>Content-Type</code> value.
<DT><A HREF="./org/apache/http/impl/io/AbstractMessageParser.html#parse()"><B>parse()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageParser.html" title="class in org.apache.http.impl.io">AbstractMessageParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html#parse()"><B>parse()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/HttpMessageParser.html#parse()"><B>parse()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/HttpMessageParser.html" title="interface in org.apache.http.io">HttpMessageParser</A>
<DD>Generates an instance of <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A> from the underlying data
 source.
<DT><A HREF="./org/apache/http/nio/NHttpMessageParser.html#parse()"><B>parse()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpMessageParser.html" title="interface in org.apache.http.nio">NHttpMessageParser</A>
<DD>Attempts to parse a complete message head from the content of the
 internal buffer.
<DT><A HREF="./org/apache/http/benchmark/CommandLineUtils.html#parseCommandLine(org.apache.commons.cli.CommandLine, org.apache.http.benchmark.Config)"><B>parseCommandLine(CommandLine, Config)</B></A> - 
Static method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/CommandLineUtils.html" title="class in org.apache.http.benchmark">CommandLineUtils</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#parseElements(java.lang.String, org.apache.http.message.HeaderValueParser)"><B>parseElements(String, HeaderValueParser)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>Parses elements with the given parser.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#parseElements(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseElements(CharArrayBuffer, ParserCursor)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderValueParser.html#parseElements(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseElements(CharArrayBuffer, ParserCursor)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/HeaderValueParser.html" title="interface in org.apache.http.message">HeaderValueParser</A>
<DD>Parses a header value into elements.
<DT><A HREF="./org/apache/http/ParseException.html" title="class in org.apache.http"><B>ParseException</B></A> - Exception in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Signals a parse error.<DT><A HREF="./org/apache/http/ParseException.html#ParseException()"><B>ParseException()</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/ParseException.html" title="class in org.apache.http">ParseException</A>
<DD>Creates a <A HREF="./org/apache/http/ParseException.html" title="class in org.apache.http"><CODE>ParseException</CODE></A> without details.
<DT><A HREF="./org/apache/http/ParseException.html#ParseException(java.lang.String)"><B>ParseException(String)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/ParseException.html" title="class in org.apache.http">ParseException</A>
<DD>Creates a <A HREF="./org/apache/http/ParseException.html" title="class in org.apache.http"><CODE>ParseException</CODE></A> with a detail message.
<DT><A HREF="./org/apache/http/impl/io/AbstractMessageParser.html#parseHead(org.apache.http.io.SessionInputBuffer)"><B>parseHead(SessionInputBuffer)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageParser.html" title="class in org.apache.http.impl.io">AbstractMessageParser</A>
<DD>Subclasses must override this method to generate an instance of
 <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A> based on the initial input from the session buffer.
<DT><A HREF="./org/apache/http/impl/io/DefaultHttpRequestParser.html#parseHead(org.apache.http.io.SessionInputBuffer)"><B>parseHead(SessionInputBuffer)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/DefaultHttpRequestParser.html" title="class in org.apache.http.impl.io">DefaultHttpRequestParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/DefaultHttpResponseParser.html#parseHead(org.apache.http.io.SessionInputBuffer)"><B>parseHead(SessionInputBuffer)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/DefaultHttpResponseParser.html" title="class in org.apache.http.impl.io">DefaultHttpResponseParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/HttpRequestParser.html#parseHead(org.apache.http.io.SessionInputBuffer)"><B>parseHead(SessionInputBuffer)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpRequestParser.html" title="class in org.apache.http.impl.io">HttpRequestParser</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/io/HttpResponseParser.html#parseHead(org.apache.http.io.SessionInputBuffer)"><B>parseHead(SessionInputBuffer)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpResponseParser.html" title="class in org.apache.http.impl.io">HttpResponseParser</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#parseHeader(java.lang.String, org.apache.http.message.LineParser)"><B>parseHeader(String, LineParser)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#parseHeader(org.apache.http.util.CharArrayBuffer)"><B>parseHeader(CharArrayBuffer)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/LineParser.html#parseHeader(org.apache.http.util.CharArrayBuffer)"><B>parseHeader(CharArrayBuffer)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A>
<DD>Creates a header from a line.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#parseHeaderElement(java.lang.String, org.apache.http.message.HeaderValueParser)"><B>parseHeaderElement(String, HeaderValueParser)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>Parses an element with the given parser.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#parseHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseHeaderElement(CharArrayBuffer, ParserCursor)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderValueParser.html#parseHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseHeaderElement(CharArrayBuffer, ParserCursor)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/HeaderValueParser.html" title="interface in org.apache.http.message">HeaderValueParser</A>
<DD>Parses a single header element.
<DT><A HREF="./org/apache/http/impl/io/AbstractMessageParser.html#parseHeaders(org.apache.http.io.SessionInputBuffer, int, int, org.apache.http.message.LineParser)"><B>parseHeaders(SessionInputBuffer, int, int, LineParser)</B></A> - 
Static method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageParser.html" title="class in org.apache.http.impl.io">AbstractMessageParser</A>
<DD>Parses HTTP headers from the data receiver stream according to the generic
 format as given in Section 3.1 of RFC 822, RFC-2616 Section 4 and 19.3.
<DT><A HREF="./org/apache/http/impl/io/AbstractMessageParser.html#parseHeaders(org.apache.http.io.SessionInputBuffer, int, int, org.apache.http.message.LineParser, java.util.List)"><B>parseHeaders(SessionInputBuffer, int, int, LineParser, List&lt;CharArrayBuffer&gt;)</B></A> - 
Static method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageParser.html" title="class in org.apache.http.impl.io">AbstractMessageParser</A>
<DD>Parses HTTP headers from the data receiver stream according to the generic
 format as given in Section 3.1 of RFC 822, RFC-2616 Section 4 and 19.3.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#parseNameValuePair(java.lang.String, org.apache.http.message.HeaderValueParser)"><B>parseNameValuePair(String, HeaderValueParser)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>Parses a name-value-pair with the given parser.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseNameValuePair(CharArrayBuffer, ParserCursor)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor, char[])"><B>parseNameValuePair(CharArrayBuffer, ParserCursor, char[])</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderValueParser.html#parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseNameValuePair(CharArrayBuffer, ParserCursor)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/HeaderValueParser.html" title="interface in org.apache.http.message">HeaderValueParser</A>
<DD>Parses a name=value specification, where the = and value are optional.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#parseParameters(java.lang.String, org.apache.http.message.HeaderValueParser)"><B>parseParameters(String, HeaderValueParser)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>Parses parameters with the given parser.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueParser.html#parseParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseParameters(CharArrayBuffer, ParserCursor)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueParser.html" title="class in org.apache.http.message">BasicHeaderValueParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderValueParser.html#parseParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseParameters(CharArrayBuffer, ParserCursor)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/HeaderValueParser.html" title="interface in org.apache.http.message">HeaderValueParser</A>
<DD>Parses a list of name-value pairs.
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#parseProtocolVersion(java.lang.String, org.apache.http.message.LineParser)"><B>parseProtocolVersion(String, LineParser)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#parseProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseProtocolVersion(CharArrayBuffer, ParserCursor)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/LineParser.html#parseProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseProtocolVersion(CharArrayBuffer, ParserCursor)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A>
<DD>Parses the textual representation of a protocol version.
<DT><A HREF="./org/apache/http/message/ParserCursor.html" title="class in org.apache.http.message"><B>ParserCursor</B></A> - Class in <A HREF="./org/apache/http/message/package-summary.html">org.apache.http.message</A><DD>This class represents a context of a parsing operation:
 
  the current position the parsing operation is expected to start at
  the bounds limiting the scope of the parsing operation
 <DT><A HREF="./org/apache/http/message/ParserCursor.html#ParserCursor(int, int)"><B>ParserCursor(int, int)</B></A> - 
Constructor for class org.apache.http.message.<A HREF="./org/apache/http/message/ParserCursor.html" title="class in org.apache.http.message">ParserCursor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#parseRequestLine(java.lang.String, org.apache.http.message.LineParser)"><B>parseRequestLine(String, LineParser)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#parseRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseRequestLine(CharArrayBuffer, ParserCursor)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>Parses a request line.
<DT><A HREF="./org/apache/http/message/LineParser.html#parseRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseRequestLine(CharArrayBuffer, ParserCursor)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A>
<DD>Parses a request line.
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#parseStatusLine(java.lang.String, org.apache.http.message.LineParser)"><B>parseStatusLine(String, LineParser)</B></A> - 
Static method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#parseStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseStatusLine(CharArrayBuffer, ParserCursor)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/LineParser.html#parseStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>parseStatusLine(CharArrayBuffer, ParserCursor)</B></A> - 
Method in interface org.apache.http.message.<A HREF="./org/apache/http/message/LineParser.html" title="interface in org.apache.http.message">LineParser</A>
<DD>Parses a status line.
<DT><A HREF="./org/apache/http/protocol/HttpDateGenerator.html#PATTERN_RFC1123"><B>PATTERN_RFC1123</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpDateGenerator.html" title="class in org.apache.http.protocol">HttpDateGenerator</A>
<DD>Date format pattern used to generate the header in RFC 1123 format.
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#pause()"><B>pause()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultListeningIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ListeningIOReactor.html#pause()"><B>pause()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/ListeningIOReactor.html" title="interface in org.apache.http.nio.reactor">ListeningIOReactor</A>
<DD>Suspends the I/O reactor preventing it from accepting new connections on
 all active endpoints.
<DT><A HREF="./org/apache/http/protocol/HTTP.html#PLAIN_TEXT_TYPE"><B>PLAIN_TEXT_TYPE</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool"><B>PoolEntry</B></A>&lt;<A HREF="./org/apache/http/pool/PoolEntry.html" title="type parameter in PoolEntry">T</A>,<A HREF="./org/apache/http/pool/PoolEntry.html" title="type parameter in PoolEntry">C</A>&gt; - Class in <A HREF="./org/apache/http/pool/package-summary.html">org.apache.http.pool</A><DD>Pool entry containing a pool connection object along with its route.<DT><A HREF="./org/apache/http/pool/PoolEntry.html#PoolEntry(java.lang.String, T, C, long, java.util.concurrent.TimeUnit)"><B>PoolEntry(String, T, C, long, TimeUnit)</B></A> - 
Constructor for class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>Creates new <tt>PoolEntry</tt> instance.
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#PoolEntry(java.lang.String, T, C)"><B>PoolEntry(String, T, C)</B></A> - 
Constructor for class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>Creates new <tt>PoolEntry</tt> instance without an expiry deadline.
<DT><A HREF="./org/apache/http/pool/PoolStats.html" title="class in org.apache.http.pool"><B>PoolStats</B></A> - Class in <A HREF="./org/apache/http/pool/package-summary.html">org.apache.http.pool</A><DD>Pool statistics.<DT><A HREF="./org/apache/http/pool/PoolStats.html#PoolStats(int, int, int, int)"><B>PoolStats(int, int, int, int)</B></A> - 
Constructor for class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolStats.html" title="class in org.apache.http.pool">PoolStats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHost.html#port"><B>port</B></A> - 
Variable in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>The port to use, defaults to -1 if not set.
<DT><A HREF="./org/apache/http/protocol/HttpRequestExecutor.html#postProcess(org.apache.http.HttpResponse, org.apache.http.protocol.HttpProcessor, org.apache.http.protocol.HttpContext)"><B>postProcess(HttpResponse, HttpProcessor, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestExecutor.html" title="class in org.apache.http.protocol">HttpRequestExecutor</A>
<DD>Post-processes the given response using the given protocol processor and
 completes the process of request execution.
<DT><A HREF="./org/apache/http/HttpHeaders.html#PRAGMA"><B>PRAGMA</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.12, RFC 2616 (HTTP/1.1) Section 14.32
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#prepareDecoder(org.apache.http.HttpMessage)"><B>prepareDecoder(HttpMessage)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>Initializes a specific <A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio"><CODE>ContentDecoder</CODE></A> implementation based on the
 properties of the given <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A> and generates an instance of
 <A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http"><CODE>HttpEntity</CODE></A> matching the properties of the content decoder.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#prepareEncoder(org.apache.http.HttpMessage)"><B>prepareEncoder(HttpMessage)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>Initializes a specific <A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio"><CODE>ContentEncoder</CODE></A> implementation based on the
 properties of the given <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#prepareSocket(java.net.Socket)"><B>prepareSocket(Socket)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Prepares the given <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A> by resetting some of its properties.
<DT><A HREF="./org/apache/http/protocol/HttpRequestExecutor.html#preProcess(org.apache.http.HttpRequest, org.apache.http.protocol.HttpProcessor, org.apache.http.protocol.HttpContext)"><B>preProcess(HttpRequest, HttpProcessor, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestExecutor.html" title="class in org.apache.http.protocol">HttpRequestExecutor</A>
<DD>Pre-process the given request using the given protocol processor and
 initiates the process of request execution.
<DT><A HREF="./org/apache/http/HttpRequestInterceptor.html#process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><B>process(HttpRequest, HttpContext)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpRequestInterceptor.html" title="interface in org.apache.http">HttpRequestInterceptor</A>
<DD>Processes a request.
<DT><A HREF="./org/apache/http/HttpResponseInterceptor.html#process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>process(HttpResponse, HttpContext)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponseInterceptor.html" title="interface in org.apache.http">HttpResponseInterceptor</A>
<DD>Processes a response.
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><B>process(HttpRequest, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>process(HttpResponse, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html#process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><B>process(HttpRequest, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html" title="class in org.apache.http.protocol">ImmutableHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html#process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>process(HttpResponse, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ImmutableHttpProcessor.html" title="class in org.apache.http.protocol">ImmutableHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/RequestConnControl.html#process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><B>process(HttpRequest, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestConnControl.html" title="class in org.apache.http.protocol">RequestConnControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/RequestContent.html#process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><B>process(HttpRequest, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestContent.html" title="class in org.apache.http.protocol">RequestContent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/RequestDate.html#process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><B>process(HttpRequest, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestDate.html" title="class in org.apache.http.protocol">RequestDate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/RequestExpectContinue.html#process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><B>process(HttpRequest, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestExpectContinue.html" title="class in org.apache.http.protocol">RequestExpectContinue</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/RequestTargetHost.html#process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><B>process(HttpRequest, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestTargetHost.html" title="class in org.apache.http.protocol">RequestTargetHost</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/RequestUserAgent.html#process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><B>process(HttpRequest, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestUserAgent.html" title="class in org.apache.http.protocol">RequestUserAgent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/ResponseConnControl.html#process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>process(HttpResponse, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ResponseConnControl.html" title="class in org.apache.http.protocol">ResponseConnControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/ResponseContent.html#process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>process(HttpResponse, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ResponseContent.html" title="class in org.apache.http.protocol">ResponseContent</A>
<DD>Processes the response (possibly updating or inserting) Content-Length and Transfer-Encoding headers.
<DT><A HREF="./org/apache/http/protocol/ResponseDate.html#process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>process(HttpResponse, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ResponseDate.html" title="class in org.apache.http.protocol">ResponseDate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/ResponseServer.html#process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>process(HttpResponse, HttpContext)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ResponseServer.html" title="class in org.apache.http.protocol">ResponseServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#processEvent(java.nio.channels.SelectionKey)"><B>processEvent(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Processes new event on the given selection key.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#processEvents(int)"><B>processEvents(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Triggered to process I/O events registered by the main <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>.
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html#processEvents(int)"><B>processEvents(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultConnectingIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultConnectingIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#processEvents(int)"><B>processEvents(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultListeningIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestHandler.html#processRequest(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><B>processRequest(HttpRequest, HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandler.html#processRequest(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)"><B>processRequest(HttpRequest, HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandler.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestHandler</A>
<DD>Triggered when an incoming request is received.
<DT><A HREF="./org/apache/http/nio/entity/EntityAsyncContentProducer.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/EntityAsyncContentProducer.html" title="class in org.apache.http.nio.entity">EntityAsyncContentProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/HttpAsyncContentProducer.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in interface org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/HttpAsyncContentProducer.html" title="interface in org.apache.http.nio.entity">HttpAsyncContentProducer</A>
<DD>Invoked to write out a chunk of content to the <A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio"><CODE>ContentEncoder</CODE></A>.
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html" title="class in org.apache.http.nio.entity">NHttpEntityWrapper</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ProducingNHttpEntity.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in interface org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ProducingNHttpEntity.html" title="interface in org.apache.http.nio.entity">ProducingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;Notification that content should be written to the encoder.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestProducer</A>
<DD>Invoked to write out a chunk of content to the <A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio"><CODE>ContentEncoder</CODE></A>.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseProducer.html#produceContent(org.apache.http.nio.ContentEncoder, org.apache.http.nio.IOControl)"><B>produceContent(ContentEncoder, IOControl)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseProducer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncResponseProducer</A>
<DD>Invoked to write out a chunk of content to the <A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio"><CODE>ContentEncoder</CODE></A>.
<DT><A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html#produceContent(org.apache.http.nio.ContentEncoder)"><B>produceContent(ContentEncoder)</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html" title="interface in org.apache.http.nio.util">ContentOutputBuffer</A>
<DD>Writes content from this buffer to the given <A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio"><CODE>ContentEncoder</CODE></A>.
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#produceContent(org.apache.http.nio.ContentEncoder)"><B>produceContent(ContentEncoder)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html#produceContent(org.apache.http.nio.ContentEncoder)"><B>produceContent(ContentEncoder)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html" title="class in org.apache.http.nio.util">SimpleOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#produceOutput(org.apache.http.nio.NHttpClientEventHandler)"><B>produceOutput(NHttpClientEventHandler)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#produceOutput(org.apache.http.nio.NHttpClientHandler)"><B>produceOutput(NHttpClientHandler)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#produceOutput(org.apache.http.nio.NHttpServerEventHandler)"><B>produceOutput(NHttpServerEventHandler)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#produceOutput(org.apache.http.nio.NHttpServiceHandler)"><B>produceOutput(NHttpServiceHandler)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientIOTarget.html#produceOutput(org.apache.http.nio.NHttpClientHandler)"><B>produceOutput(NHttpClientHandler)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientIOTarget.html" title="interface in org.apache.http.nio">NHttpClientIOTarget</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the connection is ready to produce output.
<DT><A HREF="./org/apache/http/nio/NHttpServerIOTarget.html#produceOutput(org.apache.http.nio.NHttpServiceHandler)"><B>produceOutput(NHttpServiceHandler)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerIOTarget.html" title="interface in org.apache.http.nio">NHttpServerIOTarget</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the connection is ready to produce output.
<DT><A HREF="./org/apache/http/nio/entity/ProducingNHttpEntity.html" title="interface in org.apache.http.nio.entity"><B>ProducingNHttpEntity</B></A> - Interface in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD><B>Deprecated.</B>&nbsp;<I>use (4.2) <A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol"><CODE>BasicAsyncRequestProducer</CODE></A> or <A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html" title="class in org.apache.http.nio.protocol"><CODE>BasicAsyncResponseProducer</CODE></A></I><DT><A HREF="./org/apache/http/util/VersionInfo.html#PROPERTY_MODULE"><B>PROPERTY_MODULE</B></A> - 
Static variable in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/VersionInfo.html#PROPERTY_RELEASE"><B>PROPERTY_RELEASE</B></A> - 
Static variable in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/VersionInfo.html#PROPERTY_TIMESTAMP"><B>PROPERTY_TIMESTAMP</B></A> - 
Static variable in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#protocol"><B>protocol</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>A version of the protocol to parse.
<DT><A HREF="./org/apache/http/ProtocolVersion.html#protocol"><B>protocol</B></A> - 
Variable in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Name of the protocol.
<DT><A HREF="./org/apache/http/params/CoreProtocolPNames.html#PROTOCOL_VERSION"><B>PROTOCOL_VERSION</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreProtocolPNames.html" title="interface in org.apache.http.params">CoreProtocolPNames</A>
<DD>Defines the <A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http"><CODE>ProtocolVersion</CODE></A> used per default.
<DT><A HREF="./org/apache/http/ProtocolException.html" title="class in org.apache.http"><B>ProtocolException</B></A> - Exception in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Signals that an HTTP protocol violation has occurred.<DT><A HREF="./org/apache/http/ProtocolException.html#ProtocolException()"><B>ProtocolException()</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/ProtocolException.html" title="class in org.apache.http">ProtocolException</A>
<DD>Creates a new ProtocolException with a <tt>null</tt> detail message.
<DT><A HREF="./org/apache/http/ProtocolException.html#ProtocolException(java.lang.String)"><B>ProtocolException(String)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/ProtocolException.html" title="class in org.apache.http">ProtocolException</A>
<DD>Creates a new ProtocolException with the specified detail message.
<DT><A HREF="./org/apache/http/ProtocolException.html#ProtocolException(java.lang.String, java.lang.Throwable)"><B>ProtocolException(String, Throwable)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/ProtocolException.html" title="class in org.apache.http">ProtocolException</A>
<DD>Creates a new ProtocolException with the specified detail message and cause.
<DT><A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http"><B>ProtocolVersion</B></A> - Class in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Represents a protocol version.<DT><A HREF="./org/apache/http/ProtocolVersion.html#ProtocolVersion(java.lang.String, int, int)"><B>ProtocolVersion(String, int, int)</B></A> - 
Constructor for class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Create a protocol version designator.
<DT><A HREF="./org/apache/http/HttpHeaders.html#PROXY_AUTHENTICATE"><B>PROXY_AUTHENTICATE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.33
<DT><A HREF="./org/apache/http/HttpHeaders.html#PROXY_AUTHORIZATION"><B>PROXY_AUTHORIZATION</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.34
</DL>
<HR>
<A NAME="_Q_"><!-- --></A><H2>
<B>Q</B></H2>
<DL>
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#queueClosedSession(org.apache.http.nio.reactor.IOSession)"><B>queueClosedSession(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Queues the given I/O session to be processed asynchronously as closed.
</DL>
<HR>
<A NAME="_R_"><!-- --></A><H2>
<B>R</B></H2>
<DL>
<DT><A HREF="./org/apache/http/HttpHeaders.html#RANGE"><B>RANGE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.35
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#read()"><B>read()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#read(byte[], int, int)"><B>read(byte[], int, int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#read(byte[])"><B>read(byte[])</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ChunkedInputStream.html#read()"><B>read()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedInputStream.html" title="class in org.apache.http.impl.io">ChunkedInputStream</A>
<DD> Returns all the data in a chunked stream in coalesced form.
<DT><A HREF="./org/apache/http/impl/io/ChunkedInputStream.html#read(byte[], int, int)"><B>read(byte[], int, int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedInputStream.html" title="class in org.apache.http.impl.io">ChunkedInputStream</A>
<DD>Read some bytes from the stream.
<DT><A HREF="./org/apache/http/impl/io/ChunkedInputStream.html#read(byte[])"><B>read(byte[])</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedInputStream.html" title="class in org.apache.http.impl.io">ChunkedInputStream</A>
<DD>Read some bytes from the stream.
<DT><A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html#read()"><B>read()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html" title="class in org.apache.http.impl.io">ContentLengthInputStream</A>
<DD>Read the next byte from the stream
<DT><A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html#read(byte[], int, int)"><B>read(byte[], int, int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html" title="class in org.apache.http.impl.io">ContentLengthInputStream</A>
<DD>Does standard <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/InputStream.html#read(byte[], int, int)" title="class or interface in java.io"><CODE>InputStream.read(byte[], int, int)</CODE></A> behavior, but
 also notifies the watcher when the contents have been consumed.
<DT><A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html#read(byte[])"><B>read(byte[])</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html" title="class in org.apache.http.impl.io">ContentLengthInputStream</A>
<DD>Read more bytes from the stream.
<DT><A HREF="./org/apache/http/impl/io/IdentityInputStream.html#read()"><B>read()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/IdentityInputStream.html" title="class in org.apache.http.impl.io">IdentityInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/IdentityInputStream.html#read(byte[], int, int)"><B>read(byte[], int, int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/IdentityInputStream.html" title="class in org.apache.http.impl.io">IdentityInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/ChunkDecoder.html#read(java.nio.ByteBuffer)"><B>read(ByteBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/ChunkDecoder.html" title="class in org.apache.http.impl.nio.codecs">ChunkDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/IdentityDecoder.html#read(java.nio.ByteBuffer)"><B>read(ByteBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/IdentityDecoder.html" title="class in org.apache.http.impl.nio.codecs">IdentityDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.html#read(java.nio.ByteBuffer)"><B>read(ByteBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.html" title="class in org.apache.http.impl.nio.codecs">LengthDelimitedDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html#read()"><B>read()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionInputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html#read(java.nio.ByteBuffer, int)"><B>read(ByteBuffer, int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionInputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html#read(java.nio.ByteBuffer)"><B>read(ByteBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionInputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html#read(java.nio.channels.WritableByteChannel, int)"><B>read(WritableByteChannel, int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionInputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html#read(java.nio.channels.WritableByteChannel)"><B>read(WritableByteChannel)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionInputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/SessionInputBuffer.html#read(byte[], int, int)"><B>read(byte[], int, int)</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>
<DD>Reads up to <code>len</code> bytes of data from the session buffer into
 an array of bytes.
<DT><A HREF="./org/apache/http/io/SessionInputBuffer.html#read(byte[])"><B>read(byte[])</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>
<DD>Reads some number of bytes from the session buffer and stores them into
 the buffer array <code>b</code>.
<DT><A HREF="./org/apache/http/io/SessionInputBuffer.html#read()"><B>read()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>
<DD>Reads the next byte of data from this session buffer.
<DT><A HREF="./org/apache/http/nio/ContentDecoder.html#read(java.nio.ByteBuffer)"><B>read(ByteBuffer)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentDecoder.html" title="interface in org.apache.http.nio">ContentDecoder</A>
<DD>Reads a portion of content from the underlying channel
<DT><A HREF="./org/apache/http/nio/ContentDecoderChannel.html#read(java.nio.ByteBuffer)"><B>read(ByteBuffer)</B></A> - 
Method in class org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentDecoderChannel.html" title="class in org.apache.http.nio">ContentDecoderChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ContentInputStream.html#read(byte[], int, int)"><B>read(byte[], int, int)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentInputStream.html" title="class in org.apache.http.nio.entity">ContentInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ContentInputStream.html#read(byte[])"><B>read(byte[])</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentInputStream.html" title="class in org.apache.http.nio.entity">ContentInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ContentInputStream.html#read()"><B>read()</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentInputStream.html" title="class in org.apache.http.nio.entity">ContentInputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/EventMask.html#READ"><B>READ</B></A> - 
Static variable in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/EventMask.html" title="interface in org.apache.http.nio.reactor">EventMask</A>
<DD>Interest in data input.
<DT><A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html#read()"><B>read()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionInputBuffer</A>
<DD>Reads one byte from the buffer.
<DT><A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html#read(java.nio.ByteBuffer, int)"><B>read(ByteBuffer, int)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionInputBuffer</A>
<DD>Reads a sequence of bytes from this buffer into the destination buffer,
 up to the given maximum limit.
<DT><A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html#read(java.nio.ByteBuffer)"><B>read(ByteBuffer)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionInputBuffer</A>
<DD>Reads a sequence of bytes from this buffer into the destination buffer.
<DT><A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html#read(java.nio.channels.WritableByteChannel, int)"><B>read(WritableByteChannel, int)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionInputBuffer</A>
<DD>Reads a sequence of bytes from this buffer into the destination channel,
 up to the given maximum limit.
<DT><A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html#read(java.nio.channels.WritableByteChannel)"><B>read(WritableByteChannel)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionInputBuffer</A>
<DD>Reads a sequence of bytes from this buffer into the destination channel.
<DT><A HREF="./org/apache/http/nio/util/ContentInputBuffer.html#read(byte[], int, int)"><B>read(byte[], int, int)</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ContentInputBuffer.html" title="interface in org.apache.http.nio.util">ContentInputBuffer</A>
<DD>Reads up to <code>len</code> bytes of data from this buffer into
 an array of bytes.
<DT><A HREF="./org/apache/http/nio/util/ContentInputBuffer.html#read()"><B>read()</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ContentInputBuffer.html" title="interface in org.apache.http.nio.util">ContentInputBuffer</A>
<DD>Reads one byte from this buffer.
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#read()"><B>read()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#read(byte[], int, int)"><B>read(byte[], int, int)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#read(byte[])"><B>read(byte[])</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html#read()"><B>read()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html" title="class in org.apache.http.nio.util">SimpleInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html#read(byte[], int, int)"><B>read(byte[], int, int)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html" title="class in org.apache.http.nio.util">SimpleInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html#read(byte[])"><B>read(byte[])</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html" title="class in org.apache.http.nio.util">SimpleInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/EventMask.html#READ_WRITE"><B>READ_WRITE</B></A> - 
Static variable in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/EventMask.html" title="interface in org.apache.http.nio.reactor">EventMask</A>
<DD>Interest in data input/output.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#readable(java.nio.channels.SelectionKey)"><B>readable(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<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.
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#readable(java.nio.channels.SelectionKey)"><B>readable(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>Processes <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> event on the given selection key.
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#readLine(org.apache.http.util.CharArrayBuffer)"><B>readLine(CharArrayBuffer)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>Reads a complete line of characters up to a line delimiter from this
 session buffer into the given line buffer.
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html#readLine()"><B>readLine()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionInputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html#readLine(org.apache.http.util.CharArrayBuffer, boolean)"><B>readLine(CharArrayBuffer, boolean)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionInputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html#readLine(boolean)"><B>readLine(boolean)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionInputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/SessionInputBuffer.html#readLine(org.apache.http.util.CharArrayBuffer)"><B>readLine(CharArrayBuffer)</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>
<DD>Reads a complete line of characters up to a line delimiter from this
 session buffer into the given line buffer.
<DT><A HREF="./org/apache/http/io/SessionInputBuffer.html#readLine()"><B>readLine()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io">SessionInputBuffer</A>
<DD>Reads a complete line of characters up to a line delimiter from this
 session buffer.
<DT><A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html#readLine(org.apache.http.util.CharArrayBuffer, boolean)"><B>readLine(CharArrayBuffer, boolean)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionInputBuffer</A>
<DD>Attempts to transfer a complete line of characters up to a line delimiter
 from this buffer to the destination buffer.
<DT><A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html#readLine(boolean)"><B>readLine(boolean)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionInputBuffer</A>
<DD>Attempts to transfer a complete line of characters up to a line delimiter
 from this buffer to a newly created string.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#READY"><B>READY</B></A> - 
Static variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html#reasonCatalog"><B>reasonCatalog</B></A> - 
Variable in class org.apache.http.impl.<A HREF="./org/apache/http/impl/DefaultHttpResponseFactory.html" title="class in org.apache.http.impl">DefaultHttpResponseFactory</A>
<DD>The catalog for looking up reason phrases.
<DT><A HREF="./org/apache/http/ReasonPhraseCatalog.html" title="interface in org.apache.http"><B>ReasonPhraseCatalog</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Interface for obtaining reason phrases for HTTP status codes.<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#RECEIVED_BYTES_COUNT"><B>RECEIVED_BYTES_COUNT</B></A> - 
Static variable in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpServerConnection.html#receiveRequestEntity(org.apache.http.HttpEntityEnclosingRequest)"><B>receiveRequestEntity(HttpEntityEnclosingRequest)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpServerConnection.html" title="interface in org.apache.http">HttpServerConnection</A>
<DD>Receives the next request entity available from this connection and attaches it to
 an existing request.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#receiveRequestEntity(org.apache.http.HttpEntityEnclosingRequest)"><B>receiveRequestEntity(HttpEntityEnclosingRequest)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpServerConnection.html#receiveRequestHeader()"><B>receiveRequestHeader()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpServerConnection.html" title="interface in org.apache.http">HttpServerConnection</A>
<DD>Receives the request line and all headers available from this connection.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#receiveRequestHeader()"><B>receiveRequestHeader()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpClientConnection.html#receiveResponseEntity(org.apache.http.HttpResponse)"><B>receiveResponseEntity(HttpResponse)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpClientConnection.html" title="interface in org.apache.http">HttpClientConnection</A>
<DD>Receives the next response entity available from this connection and
 attaches it to an existing HttpResponse object.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#receiveResponseEntity(org.apache.http.HttpResponse)"><B>receiveResponseEntity(HttpResponse)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpClientConnection.html#receiveResponseHeader()"><B>receiveResponseHeader()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpClientConnection.html" title="interface in org.apache.http">HttpClientConnection</A>
<DD>Receives the request line and headers of the next response available from
 this connection.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#receiveResponseHeader()"><B>receiveResponseHeader()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#REFERER"><B>REFERER</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.13, RFC 2616 (HTTP/1.1) Section 14.36
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html#register(java.lang.String, org.apache.http.nio.protocol.HttpAsyncRequestHandler)"><B>register(String, HttpAsyncRequestHandler&lt;?&gt;)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestHandlerRegistry</A>
<DD>Registers the given <A HREF="./org/apache/http/nio/protocol/NHttpRequestHandler.html" title="interface in org.apache.http.nio.protocol"><CODE>NHttpRequestHandler</CODE></A> as a handler for URIs
 matching the given pattern.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html#register(java.lang.String, org.apache.http.nio.protocol.NHttpRequestHandler)"><B>register(String, NHttpRequestHandler)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">NHttpRequestHandlerRegistry</A>
<DD><B>Deprecated.</B>&nbsp;Registers the given <A HREF="./org/apache/http/nio/protocol/NHttpRequestHandler.html" title="interface in org.apache.http.nio.protocol"><CODE>NHttpRequestHandler</CODE></A> as a handler for URIs
 matching the given pattern.
<DT><A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html#register(java.lang.String, org.apache.http.protocol.HttpRequestHandler)"><B>register(String, HttpRequestHandler)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html" title="class in org.apache.http.protocol">HttpRequestHandlerRegistry</A>
<DD>Registers the given <A HREF="./org/apache/http/protocol/HttpRequestHandler.html" title="interface in org.apache.http.protocol"><CODE>HttpRequestHandler</CODE></A> as a handler for URIs
 matching the given pattern.
<DT><A HREF="./org/apache/http/protocol/UriPatternMatcher.html#register(java.lang.String, T)"><B>register(String, T)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/UriPatternMatcher.html" title="class in org.apache.http.protocol">UriPatternMatcher</A>
<DD>Registers the given object for URIs matching the given pattern.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#registerChannel(java.nio.channels.SelectableChannel, int)"><B>registerChannel(SelectableChannel, int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Registers the given channel with the main <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>.
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#release(E, boolean)"><B>release(E, boolean)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#release(E, boolean)"><B>release(E, boolean)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/ConnPool.html#release(E, boolean)"><B>release(E, boolean)</B></A> - 
Method in interface org.apache.http.pool.<A HREF="./org/apache/http/pool/ConnPool.html" title="interface in org.apache.http.pool">ConnPool</A>
<DD>Releases the pool entry back to the pool.
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#releaseResources()"><B>releaseResources()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>Invoked to release all system resources currently allocated.
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#releaseResources()"><B>releaseResources()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>Invoked to release all system resources currently allocated.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html#releaseResources()"><B>releaseResources()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html#releaseResources()"><B>releaseResources()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseConsumer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#remote"><B>remote</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderElementIterator.html#remove()"><B>remove()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElementIterator.html" title="class in org.apache.http.message">BasicHeaderElementIterator</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderIterator.html#remove()"><B>remove()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderIterator.html" title="class in org.apache.http.message">BasicHeaderIterator</A>
<DD>Removing headers is not supported.
<DT><A HREF="./org/apache/http/message/BasicListHeaderIterator.html#remove()"><B>remove()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicListHeaderIterator.html" title="class in org.apache.http.message">BasicListHeaderIterator</A>
<DD>Removes the header that was returned last.
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#remove()"><B>remove()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>Removing tokens is not supported.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Removes attribute with the given name.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpContext.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpContext.html" title="class in org.apache.http.protocol">BasicHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/DefaultedHttpContext.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/DefaultedHttpContext.html" title="class in org.apache.http.protocol">DefaultedHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpContext.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol">HttpContext</A>
<DD>Removes attribute with the given name from the context.
<DT><A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html" title="class in org.apache.http.protocol">SyncBasicHttpContext</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/HttpMessage.html#removeHeader(org.apache.http.Header)"><B>removeHeader(Header)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Removes a header from this message.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#removeHeader(org.apache.http.Header)"><B>removeHeader(Header)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#removeHeader(org.apache.http.Header)"><B>removeHeader(Header)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Removes the given header.
<DT><A HREF="./org/apache/http/HttpMessage.html#removeHeaders(java.lang.String)"><B>removeHeaders(String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Removes all headers with a certain name from this message.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#removeHeaders(java.lang.String)"><B>removeHeaders(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#removeParameter(java.lang.String)"><B>removeParameter(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/DefaultedHttpParams.html#removeParameter(java.lang.String)"><B>removeParameter(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/DefaultedHttpParams.html" title="class in org.apache.http.params">DefaultedHttpParams</A>
<DD>Attempts to remove the parameter from the local collection.
<DT><A HREF="./org/apache/http/params/HttpParams.html#removeParameter(java.lang.String)"><B>removeParameter(String)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Removes the parameter with the specified name.
<DT><A HREF="./org/apache/http/params/SyncBasicHttpParams.html#removeParameter(java.lang.String)"><B>removeParameter(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/SyncBasicHttpParams.html" title="class in org.apache.http.params">SyncBasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#removeRequestInterceptorByClass(java.lang.Class)"><B>removeRequestInterceptorByClass(Class&lt;? extends HttpRequestInterceptor&gt;)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html#removeRequestInterceptorByClass(java.lang.Class)"><B>removeRequestInterceptorByClass(Class&lt;? extends HttpRequestInterceptor&gt;)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html" title="interface in org.apache.http.protocol">HttpRequestInterceptorList</A>
<DD>Removes all request interceptor of the specified class
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#removeResponseInterceptorByClass(java.lang.Class)"><B>removeResponseInterceptorByClass(Class&lt;? extends HttpResponseInterceptor&gt;)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html#removeResponseInterceptorByClass(java.lang.Class)"><B>removeResponseInterceptorByClass(Class&lt;? extends HttpResponseInterceptor&gt;)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html" title="interface in org.apache.http.protocol">HttpResponseInterceptorList</A>
<DD>Removes all response interceptor of the specified class
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#request"><B>request</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#REQUEST_BODY_DONE"><B>REQUEST_BODY_DONE</B></A> - 
Static variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#REQUEST_BODY_STREAM"><B>REQUEST_BODY_STREAM</B></A> - 
Static variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#REQUEST_COUNT"><B>REQUEST_COUNT</B></A> - 
Static variable in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#REQUEST_SENT"><B>REQUEST_SENT</B></A> - 
Static variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#requestCancelled(org.apache.http.nio.reactor.SessionRequest)"><B>requestCancelled(SessionRequest)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#requestCompleted(org.apache.http.nio.reactor.SessionRequest)"><B>requestCompleted(SessionRequest)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#requestCompleted(org.apache.http.protocol.HttpContext)"><B>requestCompleted(HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>Use <A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#buildResult(org.apache.http.protocol.HttpContext)"><CODE>AbstractAsyncRequestConsumer.buildResult(HttpContext)</CODE></A> instead.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#requestCompleted(org.apache.http.protocol.HttpContext)"><B>requestCompleted(HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html#requestCompleted(org.apache.http.protocol.HttpContext)"><B>requestCompleted(HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html#requestCompleted(org.apache.http.protocol.HttpContext)"><B>requestCompleted(HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestConsumer</A>
<DD>Invoked to signal that the request has been fully processed.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html#requestCompleted(org.apache.http.protocol.HttpContext)"><B>requestCompleted(HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestProducer</A>
<DD>Invoked to signal that the request has been fully written out.
<DT><A HREF="./org/apache/http/protocol/RequestConnControl.html" title="class in org.apache.http.protocol"><B>RequestConnControl</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>RequestConnControl is responsible for adding <code>Connection</code> header
 to the outgoing requests, which is essential for managing persistence of
 <code>HTTP/1.0</code> connections.<DT><A HREF="./org/apache/http/protocol/RequestConnControl.html#RequestConnControl()"><B>RequestConnControl()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestConnControl.html" title="class in org.apache.http.protocol">RequestConnControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/RequestContent.html" title="class in org.apache.http.protocol"><B>RequestContent</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>RequestContent is the most important interceptor for outgoing requests.<DT><A HREF="./org/apache/http/protocol/RequestContent.html#RequestContent()"><B>RequestContent()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestContent.html" title="class in org.apache.http.protocol">RequestContent</A>
<DD>Default constructor.
<DT><A HREF="./org/apache/http/protocol/RequestContent.html#RequestContent(boolean)"><B>RequestContent(boolean)</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestContent.html" title="class in org.apache.http.protocol">RequestContent</A>
<DD>Constructor that can be used to fine-tune behavior of this interceptor.
<DT><A HREF="./org/apache/http/protocol/RequestDate.html" title="class in org.apache.http.protocol"><B>RequestDate</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>RequestDate interceptor is responsible for adding <code>Date</code> header
 to the outgoing requests This interceptor is optional for client side
 protocol processors.<DT><A HREF="./org/apache/http/protocol/RequestDate.html#RequestDate()"><B>RequestDate()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestDate.html" title="class in org.apache.http.protocol">RequestDate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/RequestExpectContinue.html" title="class in org.apache.http.protocol"><B>RequestExpectContinue</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>RequestExpectContinue is responsible for enabling the 'expect-continue'
 handshake by adding <code>Expect</code> header.<DT><A HREF="./org/apache/http/protocol/RequestExpectContinue.html#RequestExpectContinue()"><B>RequestExpectContinue()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestExpectContinue.html" title="class in org.apache.http.protocol">RequestExpectContinue</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#requestFailed(org.apache.http.nio.reactor.SessionRequest)"><B>requestFailed(SessionRequest)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#requestInput()"><B>requestInput()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/IOControl.html#requestInput()"><B>requestInput()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/IOControl.html" title="interface in org.apache.http.nio">IOControl</A>
<DD>Requests event notifications to be triggered when the underlying
 channel is ready for input operations.
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#requestInterceptors"><B>requestInterceptors</B></A> - 
Variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/RequestLine.html" title="interface in org.apache.http"><B>RequestLine</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>The Request-Line begins with a method token, followed by the
 Request-URI and the protocol version, and ending with CRLF.<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#requestOutput()"><B>requestOutput()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/IOControl.html#requestOutput()"><B>requestOutput()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/IOControl.html" title="interface in org.apache.http.nio">IOControl</A>
<DD>Requests event notifications to be triggered when the underlying
 channel is ready for output operations.
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#requestParser"><B>requestParser</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientEventHandler.html#requestReady(org.apache.http.nio.NHttpClientConnection)"><B>requestReady(NHttpClientConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientEventHandler.html" title="interface in org.apache.http.nio">NHttpClientEventHandler</A>
<DD>Triggered when the connection is ready to accept a new HTTP request.
<DT><A HREF="./org/apache/http/nio/NHttpClientHandler.html#requestReady(org.apache.http.nio.NHttpClientConnection)"><B>requestReady(NHttpClientConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientHandler.html" title="interface in org.apache.http.nio">NHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the connection is ready to accept a new HTTP request.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#requestReady(org.apache.http.nio.NHttpClientConnection)"><B>requestReady(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#requestReady(org.apache.http.nio.NHttpClientConnection)"><B>requestReady(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#requestReady(org.apache.http.nio.NHttpClientConnection)"><B>requestReady(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#requestReady(org.apache.http.nio.NHttpClientConnection)"><B>requestReady(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpServerEventHandler.html#requestReceived(org.apache.http.nio.NHttpServerConnection)"><B>requestReceived(NHttpServerConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerEventHandler.html" title="interface in org.apache.http.nio">NHttpServerEventHandler</A>
<DD>Triggered when a new HTTP request is received.
<DT><A HREF="./org/apache/http/nio/NHttpServiceHandler.html#requestReceived(org.apache.http.nio.NHttpServerConnection)"><B>requestReceived(NHttpServerConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when a new HTTP request is received.
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#requestReceived(org.apache.http.HttpRequest)"><B>requestReceived(HttpRequest)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncRequestConsumer</A>
<DD>Use <A HREF="./org/apache/http/nio/protocol/AbstractAsyncRequestConsumer.html#onRequestReceived(org.apache.http.HttpRequest)"><CODE>AbstractAsyncRequestConsumer.onRequestReceived(HttpRequest)</CODE></A> instead.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#requestReceived(org.apache.http.nio.NHttpServerConnection)"><B>requestReceived(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#requestReceived(org.apache.http.nio.NHttpServerConnection)"><B>requestReceived(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html#requestReceived(org.apache.http.HttpRequest)"><B>requestReceived(HttpRequest)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestConsumer</A>
<DD>Invoked when a HTTP request message is received.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#requestReceived(org.apache.http.nio.NHttpServerConnection)"><B>requestReceived(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#requestReceived(org.apache.http.nio.NHttpServerConnection)"><B>requestReceived(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/RequestTargetHost.html" title="class in org.apache.http.protocol"><B>RequestTargetHost</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>RequestTargetHost is responsible for adding <code>Host</code> header.<DT><A HREF="./org/apache/http/protocol/RequestTargetHost.html#RequestTargetHost()"><B>RequestTargetHost()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestTargetHost.html" title="class in org.apache.http.protocol">RequestTargetHost</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#requestTimeout(org.apache.http.nio.reactor.SessionRequest)"><B>requestTimeout(SessionRequest)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/RequestUserAgent.html" title="class in org.apache.http.protocol"><B>RequestUserAgent</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>RequestUserAgent is responsible for adding <code>User-Agent</code> header.<DT><A HREF="./org/apache/http/protocol/RequestUserAgent.html#RequestUserAgent()"><B>RequestUserAgent()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/RequestUserAgent.html" title="class in org.apache.http.protocol">RequestUserAgent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#requestWriter"><B>requestWriter</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpContext.html#RESERVED_PREFIX"><B>RESERVED_PREFIX</B></A> - 
Static variable in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol">HttpContext</A>
<DD>The prefix reserved for use by HTTP components.
<DT><A HREF="./org/apache/http/HttpConnectionMetrics.html#reset()"><B>reset()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnectionMetrics.html" title="interface in org.apache.http">HttpConnectionMetrics</A>
<DD>Resets the counts
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#reset()"><B>reset()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/HttpTransportMetricsImpl.html#reset()"><B>reset()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpTransportMetricsImpl.html" title="class in org.apache.http.impl.io">HttpTransportMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html#reset()"><B>reset()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageParser.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageParser</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html#reset()"><B>reset()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html#reset(org.apache.http.params.HttpParams)"><B>reset(HttpParams)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionOutputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/HttpTransportMetrics.html#reset()"><B>reset()</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/HttpTransportMetrics.html" title="interface in org.apache.http.io">HttpTransportMetrics</A>
<DD>Resets the counts
<DT><A HREF="./org/apache/http/nio/NHttpMessageParser.html#reset()"><B>reset()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpMessageParser.html" title="interface in org.apache.http.nio">NHttpMessageParser</A>
<DD>Resets the parser.
<DT><A HREF="./org/apache/http/nio/NHttpMessageWriter.html#reset()"><B>reset()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpMessageWriter.html" title="interface in org.apache.http.nio">NHttpMessageWriter</A>
<DD>Resets the writer.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#reset()"><B>reset()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#reset()"><B>reset()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/util/ContentInputBuffer.html#reset()"><B>reset()</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ContentInputBuffer.html" title="interface in org.apache.http.nio.util">ContentInputBuffer</A>
<DD>Resets the buffer by clearing its state and stored content.
<DT><A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html#reset()"><B>reset()</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html" title="interface in org.apache.http.nio.util">ContentOutputBuffer</A>
<DD>Resets the buffer by clearing its state and stored content.
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#reset()"><B>reset()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#reset()"><B>reset()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html#reset()"><B>reset()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html" title="class in org.apache.http.nio.util">SimpleInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html#reset()"><B>reset()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html" title="class in org.apache.http.nio.util">SimpleOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#resetInput()"><B>resetInput()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#resetInput()"><B>resetInput()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientConnection.html#resetInput()"><B>resetInput()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientConnection.html" title="interface in org.apache.http.nio">NHttpClientConnection</A>
<DD>Resets input state.
<DT><A HREF="./org/apache/http/nio/NHttpServerConnection.html#resetInput()"><B>resetInput()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>
<DD>Resets output state.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#resetInput()"><B>resetInput()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html#resetLastRead()"><B>resetLastRead()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html" title="class in org.apache.http.impl.nio.reactor">SessionHandle</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html#resetLastWrite()"><B>resetLastWrite()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html" title="class in org.apache.http.impl.nio.reactor">SessionHandle</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#resetOutput()"><B>resetOutput()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#resetOutput()"><B>resetOutput()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientConnection.html#resetOutput()"><B>resetOutput()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientConnection.html" title="interface in org.apache.http.nio">NHttpClientConnection</A>
<DD>Resets output state.
<DT><A HREF="./org/apache/http/nio/NHttpServerConnection.html#resetOutput()"><B>resetOutput()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>
<DD>Resets input state.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#resetOutput()"><B>resetOutput()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#resetRequest()"><B>resetRequest()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html#resetRequest()"><B>resetRequest()</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html#resetRequest()"><B>resetRequest()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestProducer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncRequestProducer</A>
<DD>Invoked to reset the producer to its initial state.
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html#resolveLocalAddress(org.apache.http.HttpHost)"><B>resolveLocalAddress(HttpHost)</B></A> - 
Method in class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#resolveLocalAddress(T)"><B>resolveLocalAddress(T)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html#resolveRemoteAddress(org.apache.http.HttpHost)"><B>resolveRemoteAddress(HttpHost)</B></A> - 
Method in class org.apache.http.impl.nio.pool.<A HREF="./org/apache/http/impl/nio/pool/BasicNIOConnPool.html" title="class in org.apache.http.impl.nio.pool">BasicNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#resolveRemoteAddress(T)"><B>resolveRemoteAddress(T)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#response"><B>response</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#RESPONSE_BODY_DONE"><B>RESPONSE_BODY_DONE</B></A> - 
Static variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#RESPONSE_BODY_STREAM"><B>RESPONSE_BODY_STREAM</B></A> - 
Static variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#RESPONSE_COUNT"><B>RESPONSE_COUNT</B></A> - 
Static variable in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#RESPONSE_RECEIVED"><B>RESPONSE_RECEIVED</B></A> - 
Static variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#responseComplete(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>responseComplete(HttpResponse, HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;Signals that this response has been fully sent.
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#responseCompleted(org.apache.http.protocol.HttpContext)"><B>responseCompleted(HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>Use <A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#buildResult(org.apache.http.protocol.HttpContext)"><CODE>AbstractAsyncResponseConsumer.buildResult(HttpContext)</CODE></A> instead.
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#responseCompleted(org.apache.http.protocol.HttpContext)"><B>responseCompleted(HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html#responseCompleted(org.apache.http.protocol.HttpContext)"><B>responseCompleted(HttpContext)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncResponseProducer.html" title="class in org.apache.http.nio.protocol">BasicAsyncResponseProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html#responseCompleted(org.apache.http.protocol.HttpContext)"><B>responseCompleted(HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncResponseConsumer</A>
<DD>Invoked to signal that the response has been fully processed.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseProducer.html#responseCompleted(org.apache.http.protocol.HttpContext)"><B>responseCompleted(HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseProducer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncResponseProducer</A>
<DD>Invoked to signal that the response has been fully written out.
<DT><A HREF="./org/apache/http/protocol/ResponseConnControl.html" title="class in org.apache.http.protocol"><B>ResponseConnControl</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>ResponseConnControl is responsible for adding <code>Connection</code> header
 to the outgoing responses, which is essential for managing persistence of
 <code>HTTP/1.0</code> connections.<DT><A HREF="./org/apache/http/protocol/ResponseConnControl.html#ResponseConnControl()"><B>ResponseConnControl()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ResponseConnControl.html" title="class in org.apache.http.protocol">ResponseConnControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/ResponseContent.html" title="class in org.apache.http.protocol"><B>ResponseContent</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>ResponseContent is the most important interceptor for outgoing responses.<DT><A HREF="./org/apache/http/protocol/ResponseContent.html#ResponseContent()"><B>ResponseContent()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ResponseContent.html" title="class in org.apache.http.protocol">ResponseContent</A>
<DD>Default constructor.
<DT><A HREF="./org/apache/http/protocol/ResponseContent.html#ResponseContent(boolean)"><B>ResponseContent(boolean)</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ResponseContent.html" title="class in org.apache.http.protocol">ResponseContent</A>
<DD>Constructor that can be used to fine-tune behavior of this interceptor.
<DT><A HREF="./org/apache/http/protocol/ResponseDate.html" title="class in org.apache.http.protocol"><B>ResponseDate</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>ResponseDate is responsible for adding <code>Date<c/ode> header to the
 outgoing responses.<DT><A HREF="./org/apache/http/protocol/ResponseDate.html#ResponseDate()"><B>ResponseDate()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ResponseDate.html" title="class in org.apache.http.protocol">ResponseDate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestExecutionHandler.html#responseEntity(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>responseEntity(HttpResponse, HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">NHttpRequestExecutionHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when a response is received with an entity.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#responseFactory"><B>responseFactory</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#responseFactory"><B>responseFactory</B></A> - 
Variable in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#responseInterceptors"><B>responseInterceptors</B></A> - 
Variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#responseParser"><B>responseParser</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpServerEventHandler.html#responseReady(org.apache.http.nio.NHttpServerConnection)"><B>responseReady(NHttpServerConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerEventHandler.html" title="interface in org.apache.http.nio">NHttpServerEventHandler</A>
<DD>Triggered when the connection is ready to accept a new HTTP response.
<DT><A HREF="./org/apache/http/nio/NHttpServiceHandler.html#responseReady(org.apache.http.nio.NHttpServerConnection)"><B>responseReady(NHttpServerConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the connection is ready to accept a new HTTP response.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#responseReady(org.apache.http.nio.NHttpServerConnection)"><B>responseReady(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#responseReady(org.apache.http.nio.NHttpServerConnection)"><B>responseReady(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#responseReady(org.apache.http.nio.NHttpServerConnection)"><B>responseReady(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#responseReady(org.apache.http.nio.NHttpServerConnection)"><B>responseReady(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientEventHandler.html#responseReceived(org.apache.http.nio.NHttpClientConnection)"><B>responseReceived(NHttpClientConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientEventHandler.html" title="interface in org.apache.http.nio">NHttpClientEventHandler</A>
<DD>Triggered when an HTTP response is received.
<DT><A HREF="./org/apache/http/nio/NHttpClientHandler.html#responseReceived(org.apache.http.nio.NHttpClientConnection)"><B>responseReceived(NHttpClientConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientHandler.html" title="interface in org.apache.http.nio">NHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when an HTTP response is received.
<DT><A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#responseReceived(org.apache.http.HttpResponse)"><B>responseReceived(HttpResponse)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html" title="class in org.apache.http.nio.protocol">AbstractAsyncResponseConsumer</A>
<DD>Use <A HREF="./org/apache/http/nio/protocol/AbstractAsyncResponseConsumer.html#onResponseReceived(org.apache.http.HttpResponse)"><CODE>AbstractAsyncResponseConsumer.onResponseReceived(HttpResponse)</CODE></A> instead.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#responseReceived(org.apache.http.nio.NHttpClientConnection)"><B>responseReceived(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html#responseReceived(org.apache.http.HttpResponse)"><B>responseReceived(HttpResponse)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestExecutionHandler.html" title="class in org.apache.http.nio.protocol">BasicAsyncRequestExecutionHandler</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#responseReceived(org.apache.http.nio.NHttpClientConnection)"><B>responseReceived(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#responseReceived(org.apache.http.nio.NHttpClientConnection)"><B>responseReceived(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html#responseReceived(org.apache.http.HttpResponse)"><B>responseReceived(HttpResponse)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseConsumer.html" title="interface in org.apache.http.nio.protocol">HttpAsyncResponseConsumer</A>
<DD>Invoked when a HTTP response message is received.
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#responseReceived(org.apache.http.nio.NHttpClientConnection)"><B>responseReceived(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/ResponseServer.html" title="class in org.apache.http.protocol"><B>ResponseServer</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>ResponseServer is responsible for adding <code>Server</code> header.<DT><A HREF="./org/apache/http/protocol/ResponseServer.html#ResponseServer()"><B>ResponseServer()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/ResponseServer.html" title="class in org.apache.http.protocol">ResponseServer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#responseWriter"><B>responseWriter</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/ResultProcessor.html" title="class in org.apache.http.benchmark"><B>ResultProcessor</B></A> - Class in <A HREF="./org/apache/http/benchmark/package-summary.html">org.apache.http.benchmark</A><DD>&nbsp;<DT><A HREF="./org/apache/http/benchmark/ResultProcessor.html#ResultProcessor()"><B>ResultProcessor()</B></A> - 
Constructor for class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/ResultProcessor.html" title="class in org.apache.http.benchmark">ResultProcessor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html#resume()"><B>resume()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/DefaultListeningIOReactor.html" title="class in org.apache.http.impl.nio.reactor">DefaultListeningIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ListeningIOReactor.html#resume()"><B>resume()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/ListeningIOReactor.html" title="interface in org.apache.http.nio.reactor">ListeningIOReactor</A>
<DD>Resumes the I/O reactor restoring its ability to accept incoming
 connections on all active endpoints.
<DT><A HREF="./org/apache/http/HttpHeaders.html#RETRY_AFTER"><B>RETRY_AFTER</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.37
</DL>
<HR>
<A NAME="_S_"><!-- --></A><H2>
<B>S</B></H2>
<DL>
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_ACCEPTED"><B>SC_ACCEPTED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>202 Accepted</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_BAD_GATEWAY"><B>SC_BAD_GATEWAY</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>502 Bad Gateway</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_BAD_REQUEST"><B>SC_BAD_REQUEST</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>400 Bad Request</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_CONFLICT"><B>SC_CONFLICT</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>409 Conflict</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_CONTINUE"><B>SC_CONTINUE</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>100 Continue</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_CREATED"><B>SC_CREATED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>201 Created</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_EXPECTATION_FAILED"><B>SC_EXPECTATION_FAILED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>417 Expectation Failed</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_FAILED_DEPENDENCY"><B>SC_FAILED_DEPENDENCY</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>424 Failed Dependency</tt> (WebDAV - RFC 2518)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_FORBIDDEN"><B>SC_FORBIDDEN</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>403 Forbidden</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_GATEWAY_TIMEOUT"><B>SC_GATEWAY_TIMEOUT</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>504 Gateway Timeout</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_GONE"><B>SC_GONE</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>410 Gone</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_HTTP_VERSION_NOT_SUPPORTED"><B>SC_HTTP_VERSION_NOT_SUPPORTED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>505 HTTP Version Not Supported</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_INSUFFICIENT_SPACE_ON_RESOURCE"><B>SC_INSUFFICIENT_SPACE_ON_RESOURCE</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD>Static constant for a 419 error.
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_INSUFFICIENT_STORAGE"><B>SC_INSUFFICIENT_STORAGE</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>507 Insufficient Storage</tt> (WebDAV - RFC 2518)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_INTERNAL_SERVER_ERROR"><B>SC_INTERNAL_SERVER_ERROR</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>500 Server Error</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_LENGTH_REQUIRED"><B>SC_LENGTH_REQUIRED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>411 Length Required</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_LOCKED"><B>SC_LOCKED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>423 Locked</tt> (WebDAV - RFC 2518)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_METHOD_FAILURE"><B>SC_METHOD_FAILURE</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD>Static constant for a 420 error.
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_METHOD_NOT_ALLOWED"><B>SC_METHOD_NOT_ALLOWED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>405 Method Not Allowed</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_MOVED_PERMANENTLY"><B>SC_MOVED_PERMANENTLY</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>301 Moved Permanently</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_MOVED_TEMPORARILY"><B>SC_MOVED_TEMPORARILY</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>302 Moved Temporarily</tt> (Sometimes <tt>Found</tt>) (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_MULTI_STATUS"><B>SC_MULTI_STATUS</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>207 Multi-Status</tt> (WebDAV - RFC 2518) or <tt>207 Partial Update
 OK</tt> (HTTP/1.1 - draft-ietf-http-v11-spec-rev-01?)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_MULTIPLE_CHOICES"><B>SC_MULTIPLE_CHOICES</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>300 Mutliple Choices</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_NO_CONTENT"><B>SC_NO_CONTENT</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>204 No Content</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_NON_AUTHORITATIVE_INFORMATION"><B>SC_NON_AUTHORITATIVE_INFORMATION</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>203 Non Authoritative Information</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_NOT_ACCEPTABLE"><B>SC_NOT_ACCEPTABLE</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>406 Not Acceptable</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_NOT_FOUND"><B>SC_NOT_FOUND</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>404 Not Found</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_NOT_IMPLEMENTED"><B>SC_NOT_IMPLEMENTED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>501 Not Implemented</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_NOT_MODIFIED"><B>SC_NOT_MODIFIED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>304 Not Modified</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_OK"><B>SC_OK</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>200 OK</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_PARTIAL_CONTENT"><B>SC_PARTIAL_CONTENT</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>206 Partial Content</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_PAYMENT_REQUIRED"><B>SC_PAYMENT_REQUIRED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>402 Payment Required</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_PRECONDITION_FAILED"><B>SC_PRECONDITION_FAILED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>412 Precondition Failed</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_PROCESSING"><B>SC_PROCESSING</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>102 Processing</tt> (WebDAV - RFC 2518)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_PROXY_AUTHENTICATION_REQUIRED"><B>SC_PROXY_AUTHENTICATION_REQUIRED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>407 Proxy Authentication Required</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_REQUEST_TIMEOUT"><B>SC_REQUEST_TIMEOUT</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>408 Request Timeout</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_REQUEST_TOO_LONG"><B>SC_REQUEST_TOO_LONG</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>413 Request Entity Too Large</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_REQUEST_URI_TOO_LONG"><B>SC_REQUEST_URI_TOO_LONG</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>414 Request-URI Too Long</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_REQUESTED_RANGE_NOT_SATISFIABLE"><B>SC_REQUESTED_RANGE_NOT_SATISFIABLE</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>416 Requested Range Not Satisfiable</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_RESET_CONTENT"><B>SC_RESET_CONTENT</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>205 Reset Content</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_SEE_OTHER"><B>SC_SEE_OTHER</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>303 See Other</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_SERVICE_UNAVAILABLE"><B>SC_SERVICE_UNAVAILABLE</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>503 Service Unavailable</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_SWITCHING_PROTOCOLS"><B>SC_SWITCHING_PROTOCOLS</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>101 Switching Protocols</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_TEMPORARY_REDIRECT"><B>SC_TEMPORARY_REDIRECT</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>307 Temporary Redirect</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_UNAUTHORIZED"><B>SC_UNAUTHORIZED</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>401 Unauthorized</tt> (HTTP/1.0 - RFC 1945)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_UNPROCESSABLE_ENTITY"><B>SC_UNPROCESSABLE_ENTITY</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>422 Unprocessable Entity</tt> (WebDAV - RFC 2518)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_UNSUPPORTED_MEDIA_TYPE"><B>SC_UNSUPPORTED_MEDIA_TYPE</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>415 Unsupported Media Type</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpStatus.html#SC_USE_PROXY"><B>SC_USE_PROXY</B></A> - 
Static variable in interface org.apache.http.<A HREF="./org/apache/http/HttpStatus.html" title="interface in org.apache.http">HttpStatus</A>
<DD><tt>305 Use Proxy</tt> (HTTP/1.1 - RFC 2616)
<DT><A HREF="./org/apache/http/HttpHost.html#schemeName"><B>schemeName</B></A> - 
Variable in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>The scheme (lowercased)
<DT><A HREF="./org/apache/http/message/BasicTokenIterator.html#searchPos"><B>searchPos</B></A> - 
Variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicTokenIterator.html" title="class in org.apache.http.message">BasicTokenIterator</A>
<DD>The position after <A HREF="./org/apache/http/message/BasicTokenIterator.html#currentToken"><CODE>BasicTokenIterator.currentToken</CODE></A> in <A HREF="./org/apache/http/message/BasicTokenIterator.html#currentHeader"><CODE>BasicTokenIterator.currentHeader</CODE></A>.
<DT><A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#SELECT_INTERVAL"><B>SELECT_INTERVAL</B></A> - 
Static variable in interface org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorPNames.html" title="interface in org.apache.http.nio.params">NIOReactorPNames</A>
<DD><B>Deprecated.</B>&nbsp;Determines the time interval in milliseconds at which the
 I/O reactor wakes up to check for timed out sessions and session requests.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#selector"><B>selector</B></A> - 
Variable in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#selectTimeout"><B>selectTimeout</B></A> - 
Variable in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpClientConnection.html#sendRequestEntity(org.apache.http.HttpEntityEnclosingRequest)"><B>sendRequestEntity(HttpEntityEnclosingRequest)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpClientConnection.html" title="interface in org.apache.http">HttpClientConnection</A>
<DD>Sends the request entity over the connection.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#sendRequestEntity(org.apache.http.HttpEntityEnclosingRequest)"><B>sendRequestEntity(HttpEntityEnclosingRequest)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpClientConnection.html#sendRequestHeader(org.apache.http.HttpRequest)"><B>sendRequestHeader(HttpRequest)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpClientConnection.html" title="interface in org.apache.http">HttpClientConnection</A>
<DD>Sends the request line and all headers over the connection.
<DT><A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html#sendRequestHeader(org.apache.http.HttpRequest)"><B>sendRequestHeader(HttpRequest)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpClientConnection.html" title="class in org.apache.http.impl">AbstractHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpServerConnection.html#sendResponseEntity(org.apache.http.HttpResponse)"><B>sendResponseEntity(HttpResponse)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpServerConnection.html" title="interface in org.apache.http">HttpServerConnection</A>
<DD>Sends the response entity of a response over this connection.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#sendResponseEntity(org.apache.http.HttpResponse)"><B>sendResponseEntity(HttpResponse)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpServerConnection.html#sendResponseHeader(org.apache.http.HttpResponse)"><B>sendResponseHeader(HttpResponse)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpServerConnection.html" title="interface in org.apache.http">HttpServerConnection</A>
<DD>Sends the response line and headers of a response over this connection.
<DT><A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html#sendResponseHeader(org.apache.http.HttpResponse)"><B>sendResponseHeader(HttpResponse)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/AbstractHttpServerConnection.html" title="class in org.apache.http.impl">AbstractHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#SENT_BYTES_COUNT"><B>SENT_BYTES_COUNT</B></A> - 
Static variable in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#SEPARATORS"><B>SEPARATORS</B></A> - 
Static variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Special characters that can be used as separators in HTTP parameters.
<DT><A HREF="./org/apache/http/entity/SerializableEntity.html" title="class in org.apache.http.entity"><B>SerializableEntity</B></A> - Class in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>A streamed entity that obtains its content from a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/io/Serializable.html" title="class or interface in java.io"><CODE>Serializable</CODE></A>.<DT><A HREF="./org/apache/http/entity/SerializableEntity.html#SerializableEntity(java.io.Serializable, boolean)"><B>SerializableEntity(Serializable, boolean)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/SerializableEntity.html" title="class in org.apache.http.entity">SerializableEntity</A>
<DD>Creates new instance of this class.
<DT><A HREF="./org/apache/http/impl/entity/EntitySerializer.html#serialize(org.apache.http.io.SessionOutputBuffer, org.apache.http.HttpMessage, org.apache.http.HttpEntity)"><B>serialize(SessionOutputBuffer, HttpMessage, HttpEntity)</B></A> - 
Method in class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/EntitySerializer.html" title="class in org.apache.http.impl.entity">EntitySerializer</A>
<DD>Writes out the content of the given HTTP entity to the session output
 buffer based on properties of the given HTTP message.
<DT><A HREF="./org/apache/http/HttpHeaders.html#SERVER"><B>SERVER</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.14, RFC 2616 (HTTP/1.1) Section 14.38
<DT><A HREF="./org/apache/http/protocol/HTTP.html#SERVER_HEADER"><B>SERVER_HEADER</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#session"><B>session</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#SESSION_KEY"><B>SESSION_KEY</B></A> - 
Static variable in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>Name of the context attribute key, which can be used to obtain the
 SSL session.
<DT><A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html#sessionBuffer"><B>sessionBuffer</B></A> - 
Variable in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html" title="class in org.apache.http.impl.io">AbstractMessageWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html#sessionBuffer"><B>sessionBuffer</B></A> - 
Variable in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionBufferStatus.html" title="interface in org.apache.http.nio.reactor"><B>SessionBufferStatus</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>SessionBufferStatus interface is intended to query the status of session
 I/O buffers.<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#sessionClosed(org.apache.http.nio.reactor.IOSession)"><B>sessionClosed(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Triggered when a session has been closed.
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#sessionClosed(org.apache.http.nio.reactor.IOSession)"><B>sessionClosed(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>Processes closed I/O session.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionClosedCallback.html#sessionClosed(org.apache.http.nio.reactor.IOSession)"><B>sessionClosed(IOSession)</B></A> - 
Method in interface org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionClosedCallback.html" title="interface in org.apache.http.impl.nio.reactor">SessionClosedCallback</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionClosedCallback.html" title="interface in org.apache.http.impl.nio.reactor"><B>SessionClosedCallback</B></A> - Interface in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Session callback interface used internally by I/O reactor implementations.<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#sessionCreated(java.nio.channels.SelectionKey, org.apache.http.nio.reactor.IOSession)"><B>sessionCreated(SelectionKey, IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Triggered when new session has been created.
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#sessionCreated(java.nio.channels.SelectionKey, org.apache.http.nio.reactor.IOSession)"><B>sessionCreated(SelectionKey, IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>Processes newly created I/O session.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html" title="class in org.apache.http.impl.nio.reactor"><B>SessionHandle</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor"><CODE>IOSessionImpl</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html#SessionHandle(org.apache.http.nio.reactor.IOSession)"><B>SessionHandle(IOSession)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionHandle.html" title="class in org.apache.http.impl.nio.reactor">SessionHandle</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io"><B>SessionInputBuffer</B></A> - Interface in <A HREF="./org/apache/http/io/package-summary.html">org.apache.http.io</A><DD>Session input buffer for blocking connections.<DT><A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor"><B>SessionInputBuffer</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>Session input buffer for non-blocking connections.<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor"><B>SessionInputBufferImpl</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Default implementation of <A HREF="./org/apache/http/nio/reactor/SessionInputBuffer.html" title="interface in org.apache.http.nio.reactor"><CODE>SessionInputBuffer</CODE></A> based on
 the <A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util"><CODE>ExpandableBuffer</CODE></A> class.<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html#SessionInputBufferImpl(int, int, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>SessionInputBufferImpl(int, int, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionInputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html#SessionInputBufferImpl(int, int, org.apache.http.params.HttpParams)"><B>SessionInputBufferImpl(int, int, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionInputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionInputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><B>SessionOutputBuffer</B></A> - Interface in <A HREF="./org/apache/http/io/package-summary.html">org.apache.http.io</A><DD>Session output buffer for blocking connections.<DT><A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html" title="interface in org.apache.http.nio.reactor"><B>SessionOutputBuffer</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>Session output buffer for non-blocking connections.<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor"><B>SessionOutputBufferImpl</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Default implementation of <A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html" title="interface in org.apache.http.nio.reactor"><CODE>SessionOutputBuffer</CODE></A> based on
 the <A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util"><CODE>ExpandableBuffer</CODE></A> class.<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html#SessionOutputBufferImpl(int, int, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>SessionOutputBufferImpl(int, int, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionOutputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html#SessionOutputBufferImpl(int, int, org.apache.http.params.HttpParams)"><B>SessionOutputBufferImpl(int, int, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionOutputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor"><B>SessionRequest</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>SessionRequest interface represents a request to establish a new connection
 (or session) to a remote host.<DT><A HREF="./org/apache/http/nio/reactor/SessionRequestCallback.html" title="interface in org.apache.http.nio.reactor"><B>SessionRequestCallback</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>SessionRequestCallback interface can be used to get notifications of
 completion of session requests asynchronously without having to wait
 for it, blocking the current thread of execution.<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestHandle.html" title="class in org.apache.http.impl.nio.reactor"><B>SessionRequestHandle</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Session request handle class used by I/O reactor implementations to keep
 a reference to a <A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor"><CODE>SessionRequest</CODE></A> along with the time the request
 was made.<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestHandle.html#SessionRequestHandle(org.apache.http.impl.nio.reactor.SessionRequestImpl)"><B>SessionRequestHandle(SessionRequestImpl)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestHandle.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestHandle</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor"><B>SessionRequestImpl</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD>Default implementation of <A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor"><CODE>SessionRequest</CODE></A>.<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#SessionRequestImpl(java.net.SocketAddress, java.net.SocketAddress, java.lang.Object, org.apache.http.nio.reactor.SessionRequestCallback)"><B>SessionRequestImpl(SocketAddress, SocketAddress, Object, SessionRequestCallback)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#sessionTimedOut(org.apache.http.nio.reactor.IOSession)"><B>sessionTimedOut(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Triggered when a session has timed out.
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#sessionTimedOut(org.apache.http.nio.reactor.IOSession)"><B>sessionTimedOut(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>Processes timed out I/O session.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>This method can be used to associate a particular object with the
 session by the given attribute name.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpContext.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpContext.html" title="class in org.apache.http.protocol">BasicHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/DefaultedHttpContext.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/DefaultedHttpContext.html" title="class in org.apache.http.protocol">DefaultedHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpContext.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpContext.html" title="interface in org.apache.http.protocol">HttpContext</A>
<DD>Sets value of the attribute with the given name.
<DT><A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html" title="class in org.apache.http.protocol">SyncBasicHttpContext</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#setBooleanParameter(java.lang.String, boolean)"><B>setBooleanParameter(String, boolean)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpParams.html#setBooleanParameter(java.lang.String, boolean)"><B>setBooleanParameter(String, boolean)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Assigns a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Boolean.html" title="class or interface in java.lang"><CODE>Boolean</CODE></A> to the parameter with the given name
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#setBufferStatus(org.apache.http.nio.reactor.SessionBufferStatus)"><B>setBufferStatus(SessionBufferStatus)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#setBufferStatus(org.apache.http.nio.reactor.SessionBufferStatus)"><B>setBufferStatus(SessionBufferStatus)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Quite often I/O sessions need to maintain internal I/O buffers in order
 to transform input / output data prior to returning it to the consumer or
 writing it to the underlying channel.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#setBufferStatus(org.apache.http.nio.reactor.SessionBufferStatus)"><B>setBufferStatus(SessionBufferStatus)</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/HttpTransportMetricsImpl.html#setBytesTransferred(long)"><B>setBytesTransferred(long)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpTransportMetricsImpl.html" title="class in org.apache.http.impl.io">HttpTransportMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html#setCallback(org.apache.http.concurrent.Cancellable)"><B>setCallback(Cancellable)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol">HttpAsyncExchange</A>
<DD>Sets <A HREF="./org/apache/http/concurrent/Cancellable.html" title="interface in org.apache.http.concurrent"><CODE>Cancellable</CODE></A> callback to be invoked in case the underlying
 connection times out or gets terminated prematurely by the client.
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#setChunked(boolean)"><B>setChunked(boolean)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>Specifies the 'chunked' flag.
<DT><A HREF="./org/apache/http/impl/nio/codecs/IdentityDecoder.html#setCompleted(boolean)"><B>setCompleted(boolean)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/IdentityDecoder.html" title="class in org.apache.http.impl.nio.codecs">IdentityDecoder</A>
<DD>Sets the completed status of this decoder.
<DT><A HREF="./org/apache/http/params/HttpConnectionParamBean.html#setConnectionTimeout(int)"><B>setConnectionTimeout(int)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParamBean.html" title="class in org.apache.http.params">HttpConnectionParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#setConnectionTimeout(org.apache.http.params.HttpParams, int)"><B>setConnectionTimeout(HttpParams, int)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#CONNECTION_TIMEOUT"><CODE>CoreConnectionPNames.CONNECTION_TIMEOUT</CODE></A>
 parameter.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#setConnectTimeout(int)"><B>setConnectTimeout(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Defines the default connect timeout value for non-blocking connection requests.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#setConnectTimeout(int)"><B>setConnectTimeout(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequest.html#setConnectTimeout(int)"><B>setConnectTimeout(int)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor">SessionRequest</A>
<DD>Sets connect timeout value in milliseconds.
<DT><A HREF="./org/apache/http/protocol/HttpService.html#setConnReuseStrategy(org.apache.http.ConnectionReuseStrategy)"><B>setConnReuseStrategy(ConnectionReuseStrategy)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) set <A HREF="./org/apache/http/ConnectionReuseStrategy.html" title="interface in org.apache.http"><CODE>ConnectionReuseStrategy</CODE></A> using constructor</I>
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#setConsumingEntity(org.apache.http.nio.entity.ConsumingNHttpEntity)"><B>setConsumingEntity(ConsumingNHttpEntity)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#setConsumingEntity(org.apache.http.nio.entity.ConsumingNHttpEntity)"><B>setConsumingEntity(ConsumingNHttpEntity)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/entity/BasicHttpEntity.html#setContent(java.io.InputStream)"><B>setContent(InputStream)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BasicHttpEntity.html" title="class in org.apache.http.entity">BasicHttpEntity</A>
<DD>Specifies the content.
<DT><A HREF="./org/apache/http/nio/params/NIOReactorParamBean.html#setContentBufferSize(int)"><B>setContentBufferSize(int)</B></A> - 
Method in class org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorParamBean.html" title="class in org.apache.http.nio.params">NIOReactorParamBean</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/params/NIOReactorParams.html#setContentBufferSize(org.apache.http.params.HttpParams, int)"><B>setContentBufferSize(HttpParams, int)</B></A> - 
Static method in class org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorParams.html" title="class in org.apache.http.nio.params">NIOReactorParams</A>
<DD><B>Deprecated.</B>&nbsp;Sets value of the <A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#CONTENT_BUFFER_SIZE"><CODE>NIOReactorPNames.CONTENT_BUFFER_SIZE</CODE></A> parameter.
<DT><A HREF="./org/apache/http/params/HttpProtocolParamBean.html#setContentCharset(java.lang.String)"><B>setContentCharset(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParamBean.html" title="class in org.apache.http.params">HttpProtocolParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#setContentCharset(org.apache.http.params.HttpParams, java.lang.String)"><B>setContentCharset(HttpParams, String)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_CONTENT_CHARSET"><CODE>CoreProtocolPNames.HTTP_CONTENT_CHARSET</CODE></A> parameter.
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#setContentEncoding(org.apache.http.Header)"><B>setContentEncoding(Header)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>Specifies the Content-Encoding header.
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#setContentEncoding(java.lang.String)"><B>setContentEncoding(String)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>Specifies the Content-Encoding header, as a string.
<DT><A HREF="./org/apache/http/benchmark/Stats.html#setContentLength(long)"><B>setContentLength(long)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/BasicHttpEntity.html#setContentLength(long)"><B>setContentLength(long)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BasicHttpEntity.html" title="class in org.apache.http.entity">BasicHttpEntity</A>
<DD>Specifies the length of the content.
<DT><A HREF="./org/apache/http/benchmark/Config.html#setContentType(java.lang.String)"><B>setContentType(String)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#setContentType(org.apache.http.Header)"><B>setContentType(Header)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>Specifies the Content-Type header.
<DT><A HREF="./org/apache/http/entity/AbstractHttpEntity.html#setContentType(java.lang.String)"><B>setContentType(String)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/AbstractHttpEntity.html" title="class in org.apache.http.entity">AbstractHttpEntity</A>
<DD>Specifies the Content-Type header, as a string.
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#setDefaultMaxPerRoute(int)"><B>setDefaultMaxPerRoute(int)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#setDefaultMaxPerRoute(int)"><B>setDefaultMaxPerRoute(int)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/ConnPoolControl.html#setDefaultMaxPerRoute(int)"><B>setDefaultMaxPerRoute(int)</B></A> - 
Method in interface org.apache.http.pool.<A HREF="./org/apache/http/pool/ConnPoolControl.html" title="interface in org.apache.http.pool">ConnPoolControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#setDisableSSLVerification(boolean)"><B>setDisableSSLVerification(boolean)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#setDoubleParameter(java.lang.String, double)"><B>setDoubleParameter(String, double)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpParams.html#setDoubleParameter(java.lang.String, double)"><B>setDoubleParameter(String, double)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Assigns a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Double.html" title="class or interface in java.lang"><CODE>Double</CODE></A> to the parameter with the given name
<DT><A HREF="./org/apache/http/HttpEntityEnclosingRequest.html#setEntity(org.apache.http.HttpEntity)"><B>setEntity(HttpEntity)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntityEnclosingRequest.html" title="interface in org.apache.http">HttpEntityEnclosingRequest</A>
<DD>Associates the entity with this request.
<DT><A HREF="./org/apache/http/HttpResponse.html#setEntity(org.apache.http.HttpEntity)"><B>setEntity(HttpEntity)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http">HttpResponse</A>
<DD>Associates a response entity with this response.
<DT><A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html#setEntity(org.apache.http.HttpEntity)"><B>setEntity(HttpEntity)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpEntityEnclosingRequest.html" title="class in org.apache.http.message">BasicHttpEntityEnclosingRequest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#setEntity(org.apache.http.HttpEntity)"><B>setEntity(HttpEntity)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#setEvent(int)"><B>setEvent(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#setEvent(int)"><B>setEvent(int)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Declares interest in a particular I/O event type by updating the event
 mask associated with the session.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#setEvent(int)"><B>setEvent(int)</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#setEventListener(org.apache.http.nio.protocol.EventListener)"><B>setEventListener(EventListener)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#setEventListener(org.apache.http.nio.protocol.EventListener)"><B>setEventListener(EventListener)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#setEventListener(org.apache.http.nio.protocol.EventListener)"><B>setEventListener(EventListener)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#setEventMask(int)"><B>setEventMask(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#setEventMask(int)"><B>setEventMask(int)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Declares interest in I/O event notifications by setting the event mask
 associated with the session
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#setEventMask(int)"><B>setEventMask(int)</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#setExceptionHandler(org.apache.http.nio.reactor.IOReactorExceptionHandler)"><B>setExceptionHandler(IOReactorExceptionHandler)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>Sets exception handler for this I/O reactor.
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#setExceptionHandler(org.apache.http.nio.reactor.IOReactorExceptionHandler)"><B>setExceptionHandler(IOReactorExceptionHandler)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>Sets exception handler for this I/O reactor.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier)"><B>setExpectationVerifier(HttpExpectationVerifier)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier)"><B>setExpectationVerifier(HttpExpectationVerifier)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier)"><B>setExpectationVerifier(HttpExpectationVerifier)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpService.html#setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier)"><B>setExpectationVerifier(HttpExpectationVerifier)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) set <A HREF="./org/apache/http/protocol/HttpExpectationVerifier.html" title="interface in org.apache.http.protocol"><CODE>HttpExpectationVerifier</CODE></A> using constructor</I>
<DT><A HREF="./org/apache/http/nio/params/NIOReactorParams.html#setGracePeriod(org.apache.http.params.HttpParams, long)"><B>setGracePeriod(HttpParams, long)</B></A> - 
Static method in class org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorParams.html" title="class in org.apache.http.nio.params">NIOReactorParams</A>
<DD><B>Deprecated.</B>&nbsp;Sets value of the <A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#GRACE_PERIOD"><CODE>NIOReactorPNames.GRACE_PERIOD</CODE></A> parameter.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#setHandled(boolean)"><B>setHandled(boolean)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#setHandlerResolver(org.apache.http.nio.protocol.NHttpRequestHandlerResolver)"><B>setHandlerResolver(NHttpRequestHandlerResolver)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#setHandlerResolver(org.apache.http.protocol.HttpRequestHandlerResolver)"><B>setHandlerResolver(HttpRequestHandlerResolver)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#setHandlerResolver(org.apache.http.protocol.HttpRequestHandlerResolver)"><B>setHandlerResolver(HttpRequestHandlerResolver)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpService.html#setHandlerResolver(org.apache.http.protocol.HttpRequestHandlerResolver)"><B>setHandlerResolver(HttpRequestHandlerResolver)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) set <A HREF="./org/apache/http/protocol/HttpRequestHandlerResolver.html" title="interface in org.apache.http.protocol"><CODE>HttpRequestHandlerResolver</CODE></A> using constructor</I>
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html#setHandlers(java.util.Map)"><B>setHandlers(Map&lt;String, HttpAsyncRequestHandler&lt;?&gt;&gt;)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestHandlerRegistry</A>
<DD>Sets handlers from the given map.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html#setHandlers(java.util.Map)"><B>setHandlers(Map&lt;String, NHttpRequestHandler&gt;)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">NHttpRequestHandlerRegistry</A>
<DD><B>Deprecated.</B>&nbsp;Sets handlers from the given map.
<DT><A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html#setHandlers(java.util.Map)"><B>setHandlers(Map&lt;String, HttpRequestHandler&gt;)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html" title="class in org.apache.http.protocol">HttpRequestHandlerRegistry</A>
<DD>Sets handlers from the given map.
<DT><A HREF="./org/apache/http/protocol/UriPatternMatcher.html#setHandlers(java.util.Map)"><B>setHandlers(Map&lt;String, T&gt;)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/UriPatternMatcher.html" title="class in org.apache.http.protocol">UriPatternMatcher</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) use <A HREF="./org/apache/http/protocol/UriPatternMatcher.html#setObjects(java.util.Map)"><CODE>UriPatternMatcher.setObjects(Map)</CODE></A></I>
<DT><A HREF="./org/apache/http/HttpMessage.html#setHeader(org.apache.http.Header)"><B>setHeader(Header)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Overwrites the first header with the same name.
<DT><A HREF="./org/apache/http/HttpMessage.html#setHeader(java.lang.String, java.lang.String)"><B>setHeader(String, String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Overwrites the first header with the same name.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#setHeader(org.apache.http.Header)"><B>setHeader(Header)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#setHeader(java.lang.String, java.lang.String)"><B>setHeader(String, String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#setHeaders(java.lang.String[])"><B>setHeaders(String[])</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpMessage.html#setHeaders(org.apache.http.Header[])"><B>setHeaders(Header[])</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Overwrites all the headers in the message.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#setHeaders(org.apache.http.Header[])"><B>setHeaders(Header[])</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#setHeaders(org.apache.http.Header[])"><B>setHeaders(Header[])</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Sets all of the headers contained within this group overriding any
 existing headers.
<DT><A HREF="./org/apache/http/benchmark/Config.html#setHeadInsteadOfGet(boolean)"><B>setHeadInsteadOfGet(boolean)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParamBean.html#setHttpElementCharset(java.lang.String)"><B>setHttpElementCharset(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParamBean.html" title="class in org.apache.http.params">HttpProtocolParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#setHttpElementCharset(org.apache.http.params.HttpParams, java.lang.String)"><B>setHttpElementCharset(HttpParams, String)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_ELEMENT_CHARSET"><CODE>CoreProtocolPNames.HTTP_ELEMENT_CHARSET</CODE></A> parameter.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#setHttpException(org.apache.http.HttpException)"><B>setHttpException(HttpException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#setHttpExepction(org.apache.http.HttpException)"><B>setHttpExepction(HttpException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpService.html#setHttpProcessor(org.apache.http.protocol.HttpProcessor)"><B>setHttpProcessor(HttpProcessor)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) set <A HREF="./org/apache/http/protocol/HttpProcessor.html" title="interface in org.apache.http.protocol"><CODE>HttpProcessor</CODE></A> using constructor</I>
<DT><A HREF="./org/apache/http/benchmark/Config.html#setIdentityStorePassword(java.lang.String)"><B>setIdentityStorePassword(String)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#setIdentityStorePath(java.lang.String)"><B>setIdentityStorePath(String)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#setInputMode()"><B>setInputMode()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>Sets input mode.
<DT><A HREF="./org/apache/http/protocol/BasicHttpProcessor.html#setInterceptors(java.util.List)"><B>setInterceptors(List&lt;?&gt;)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpProcessor.html" title="class in org.apache.http.protocol">BasicHttpProcessor</A>
<DD>Sets the interceptor lists.
<DT><A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html#setInterceptors(java.util.List)"><B>setInterceptors(List&lt;?&gt;)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestInterceptorList.html" title="interface in org.apache.http.protocol">HttpRequestInterceptorList</A>
<DD>Sets the request interceptors in this list.
<DT><A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html#setInterceptors(java.util.List)"><B>setInterceptors(List&lt;?&gt;)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpResponseInterceptorList.html" title="interface in org.apache.http.protocol">HttpResponseInterceptorList</A>
<DD>Sets the response interceptors in this list.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#setInterestOpQueued(boolean)"><B>setInterestOpQueued(boolean)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Defines whether or not I/O interest operations are to be queued and executed
 asynchronously by the I/O reactor thread or to be applied to the underlying
 <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"><CODE>SelectionKey</CODE></A> immediately.
<DT><A HREF="./org/apache/http/nio/params/NIOReactorParams.html#setInterestOpsQueueing(org.apache.http.params.HttpParams, boolean)"><B>setInterestOpsQueueing(HttpParams, boolean)</B></A> - 
Static method in class org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorParams.html" title="class in org.apache.http.nio.params">NIOReactorParams</A>
<DD><B>Deprecated.</B>&nbsp;Sets value of the <A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#INTEREST_OPS_QUEUEING"><CODE>NIOReactorPNames.INTEREST_OPS_QUEUEING</CODE></A> parameter.
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#setIntParameter(java.lang.String, int)"><B>setIntParameter(String, int)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpParams.html#setIntParameter(java.lang.String, int)"><B>setIntParameter(String, int)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Assigns an <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Integer.html" title="class or interface in java.lang"><CODE>Integer</CODE></A> to the parameter with the given name
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#setIOException(java.io.IOException)"><B>setIOException(IOException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#setIOExepction(java.io.IOException)"><B>setIOExepction(IOException)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#setIoThreadCount(int)"><B>setIoThreadCount(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Defines the number of I/O dispatch threads to be used by the I/O reactor.
<DT><A HREF="./org/apache/http/benchmark/Config.html#setKeepAlive(boolean)"><B>setKeepAlive(boolean)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html#setKey(java.nio.channels.SelectionKey)"><B>setKey(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor">ListenerEndpointImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#setKey(java.nio.channels.SelectionKey)"><B>setKey(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#setLength(int)"><B>setLength(int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Sets the length of the buffer.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#setLength(int)"><B>setLength(int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Sets the length of the buffer.
<DT><A HREF="./org/apache/http/params/HttpConnectionParamBean.html#setLinger(int)"><B>setLinger(int)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParamBean.html" title="class in org.apache.http.params">HttpConnectionParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#setLinger(org.apache.http.params.HttpParams, int)"><B>setLinger(HttpParams, int)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_LINGER"><CODE>CoreConnectionPNames.SO_LINGER</CODE></A> parameter.
<DT><A HREF="./org/apache/http/HttpResponse.html#setLocale(java.util.Locale)"><B>setLocale(Locale)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http">HttpResponse</A>
<DD>Changes the locale of this response.
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#setLocale(java.util.Locale)"><B>setLocale(Locale)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/AbstractHttpParams.html#setLongParameter(java.lang.String, long)"><B>setLongParameter(String, long)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/AbstractHttpParams.html" title="class in org.apache.http.params">AbstractHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpParams.html#setLongParameter(java.lang.String, long)"><B>setLongParameter(String, long)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Assigns a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Long.html" title="class or interface in java.lang"><CODE>Long</CODE></A> to the parameter with the given name
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#setMalformedInputAction(org.apache.http.params.HttpParams, java.nio.charset.CodingErrorAction)"><B>setMalformedInputAction(HttpParams, CodingErrorAction)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_MALFORMED_INPUT_ACTION"><CODE>CoreProtocolPNames.HTTP_MALFORMED_INPUT_ACTION</CODE></A> parameter.
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#setMaxPerRoute(T, int)"><B>setMaxPerRoute(T, int)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#setMaxPerRoute(T, int)"><B>setMaxPerRoute(T, int)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/ConnPoolControl.html#setMaxPerRoute(T, int)"><B>setMaxPerRoute(T, int)</B></A> - 
Method in interface org.apache.http.pool.<A HREF="./org/apache/http/pool/ConnPoolControl.html" title="interface in org.apache.http.pool">ConnPoolControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#setMaxTotal(int)"><B>setMaxTotal(int)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#setMaxTotal(int)"><B>setMaxTotal(int)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/ConnPoolControl.html#setMaxTotal(int)"><B>setMaxTotal(int)</B></A> - 
Method in interface org.apache.http.pool.<A HREF="./org/apache/http/pool/ConnPoolControl.html" title="interface in org.apache.http.pool">ConnPoolControl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#setMethod(java.lang.String)"><B>setMethod(String)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html#setMetric(java.lang.String, java.lang.Object)"><B>setMetric(String, Object)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/HttpConnectionMetricsImpl.html" title="class in org.apache.http.impl">HttpConnectionMetricsImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/UriPatternMatcher.html#setObjects(java.util.Map)"><B>setObjects(Map&lt;String, T&gt;)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/UriPatternMatcher.html" title="class in org.apache.http.protocol">UriPatternMatcher</A>
<DD>Sets objects from the given map.
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#setOutputMode()"><B>setOutputMode()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>Sets output mode.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#setOutputState(int)"><B>setOutputState(int)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#setParameter(java.lang.String, java.lang.Object)"><B>setParameter(String, Object)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/DefaultedHttpParams.html#setParameter(java.lang.String, java.lang.Object)"><B>setParameter(String, Object)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/DefaultedHttpParams.html" title="class in org.apache.http.params">DefaultedHttpParams</A>
<DD>Sets the parameter in the local collection.
<DT><A HREF="./org/apache/http/params/HttpParams.html#setParameter(java.lang.String, java.lang.Object)"><B>setParameter(String, Object)</B></A> - 
Method in interface org.apache.http.params.<A HREF="./org/apache/http/params/HttpParams.html" title="interface in org.apache.http.params">HttpParams</A>
<DD>Assigns the value to the parameter with the given name.
<DT><A HREF="./org/apache/http/params/SyncBasicHttpParams.html#setParameter(java.lang.String, java.lang.Object)"><B>setParameter(String, Object)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/SyncBasicHttpParams.html" title="class in org.apache.http.params">SyncBasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/BasicHttpParams.html#setParameters(java.lang.String[], java.lang.Object)"><B>setParameters(String[], Object)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params">BasicHttpParams</A>
<DD>Assigns the value to all the parameter with the given names
<DT><A HREF="./org/apache/http/params/SyncBasicHttpParams.html#setParameters(java.lang.String[], java.lang.Object)"><B>setParameters(String[], Object)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/SyncBasicHttpParams.html" title="class in org.apache.http.params">SyncBasicHttpParams</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpMessage.html#setParams(org.apache.http.params.HttpParams)"><B>setParams(HttpParams)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http">HttpMessage</A>
<DD>Provides parameters to be used for the processing of this message.
<DT><A HREF="./org/apache/http/message/AbstractHttpMessage.html#setParams(org.apache.http.params.HttpParams)"><B>setParams(HttpParams)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/AbstractHttpMessage.html" title="class in org.apache.http.message">AbstractHttpMessage</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpService.html#setParams(org.apache.http.params.HttpParams)"><B>setParams(HttpParams)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) set <A HREF="./org/apache/http/HttpResponseFactory.html" title="interface in org.apache.http"><CODE>HttpResponseFactory</CODE></A> using constructor</I>
<DT><A HREF="./org/apache/http/benchmark/Config.html#setPayloadFile(java.io.File)"><B>setPayloadFile(File)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#setPayloadText(java.lang.String)"><B>setPayloadText(String)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#setProducingEntity(org.apache.http.nio.entity.ProducingNHttpEntity)"><B>setProducingEntity(ProducingNHttpEntity)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#setProducingEntity(org.apache.http.nio.entity.ProducingNHttpEntity)"><B>setProducingEntity(ProducingNHttpEntity)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/HttpResponse.html#setReasonPhrase(java.lang.String)"><B>setReasonPhrase(String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http">HttpResponse</A>
<DD>Updates the status line of this response with a new reason phrase.
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#setReasonPhrase(java.lang.String)"><B>setReasonPhrase(String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#setRequest(org.apache.http.HttpRequest)"><B>setRequest(HttpRequest)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#setRequest(org.apache.http.HttpRequest)"><B>setRequest(HttpRequest)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#setRequestHandler(org.apache.http.nio.protocol.NHttpRequestHandler)"><B>setRequestHandler(NHttpRequestHandler)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#setRequests(int)"><B>setRequests(int)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#setResponse(org.apache.http.HttpResponse)"><B>setResponse(HttpResponse)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html#setResponse(org.apache.http.HttpResponse)"><B>setResponse(HttpResponse)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.ServerConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler.ServerConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/HttpService.html#setResponseFactory(org.apache.http.HttpResponseFactory)"><B>setResponseFactory(HttpResponseFactory)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpService.html" title="class in org.apache.http.protocol">HttpService</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1) set <A HREF="./org/apache/http/HttpResponseFactory.html" title="interface in org.apache.http"><CODE>HttpResponseFactory</CODE></A> using constructor</I>
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#setSelectInterval(long)"><B>setSelectInterval(long)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Defines time interval in milliseconds at which the I/O reactor wakes up to check for
 timed out sessions and session requests.
<DT><A HREF="./org/apache/http/nio/params/NIOReactorParamBean.html#setSelectInterval(long)"><B>setSelectInterval(long)</B></A> - 
Method in class org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorParamBean.html" title="class in org.apache.http.nio.params">NIOReactorParamBean</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/params/NIOReactorParams.html#setSelectInterval(org.apache.http.params.HttpParams, long)"><B>setSelectInterval(HttpParams, long)</B></A> - 
Static method in class org.apache.http.nio.params.<A HREF="./org/apache/http/nio/params/NIOReactorParams.html" title="class in org.apache.http.nio.params">NIOReactorParams</A>
<DD><B>Deprecated.</B>&nbsp;Sets value of the <A HREF="./org/apache/http/nio/params/NIOReactorPNames.html#SELECT_INTERVAL"><CODE>NIOReactorPNames.SELECT_INTERVAL</CODE></A> parameter.
<DT><A HREF="./org/apache/http/benchmark/Stats.html#setServerName(java.lang.String)"><B>setServerName(String)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#setShutdownGracePeriod(long)"><B>setShutdownGracePeriod(long)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Defines grace period in milliseconds the I/O reactors are expected to block waiting
 for individual worker threads to terminate cleanly.
<DT><A HREF="./org/apache/http/benchmark/Config.html#setSoapAction(java.lang.String)"><B>setSoapAction(String)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParamBean.html#setSocketBufferSize(int)"><B>setSocketBufferSize(int)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParamBean.html" title="class in org.apache.http.params">HttpConnectionParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#setSocketBufferSize(org.apache.http.params.HttpParams, int)"><B>setSocketBufferSize(HttpParams, int)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#SOCKET_BUFFER_SIZE"><CODE>CoreConnectionPNames.SOCKET_BUFFER_SIZE</CODE></A>
 parameter.
<DT><A HREF="./org/apache/http/benchmark/Config.html#setSocketTimeout(int)"><B>setSocketTimeout(int)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpConnection.html#setSocketTimeout(int)"><B>setSocketTimeout(int)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http">HttpConnection</A>
<DD>Sets the socket timeout value.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#setSocketTimeout(int)"><B>setSocketTimeout(int)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#setSocketTimeout(int)"><B>setSocketTimeout(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#setSocketTimeout(int)"><B>setSocketTimeout(int)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#setSocketTimeout(int)"><B>setSocketTimeout(int)</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#setSocketTimeout(int)"><B>setSocketTimeout(int)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Sets value of the socket timeout in milliseconds.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#setSocketTimeout(int)"><B>setSocketTimeout(int)</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#setSoKeepalive(boolean)"><B>setSoKeepalive(boolean)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Defines the default value of the <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketOptions.html#SO_KEEPALIVE" title="class or interface in java.net"><CODE>SocketOptions.SO_KEEPALIVE</CODE></A> parameter
 for newly created sockets.
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#setSoKeepalive(org.apache.http.params.HttpParams, boolean)"><B>setSoKeepalive(HttpParams, boolean)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_KEEPALIVE"><CODE>CoreConnectionPNames.SO_KEEPALIVE</CODE></A> parameter.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#setSoLinger(int)"><B>setSoLinger(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Defines the default value of the <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketOptions.html#SO_LINGER" title="class or interface in java.net"><CODE>SocketOptions.SO_LINGER</CODE></A> parameter
 for newly created sockets.
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#setSoReuseaddr(org.apache.http.params.HttpParams, boolean)"><B>setSoReuseaddr(HttpParams, boolean)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_REUSEADDR"><CODE>CoreConnectionPNames.SO_REUSEADDR</CODE></A> parameter.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#setSoReuseAddress(boolean)"><B>setSoReuseAddress(boolean)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Defines the default value of the <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketOptions.html#SO_REUSEADDR" title="class or interface in java.net"><CODE>SocketOptions.SO_REUSEADDR</CODE></A> parameter
 for newly created sockets.
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#setSoTimeout(int)"><B>setSoTimeout(int)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Defines the default socket timeout value for non-blocking I/O operations.
<DT><A HREF="./org/apache/http/params/HttpConnectionParamBean.html#setSoTimeout(int)"><B>setSoTimeout(int)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParamBean.html" title="class in org.apache.http.params">HttpConnectionParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#setSoTimeout(org.apache.http.params.HttpParams, int)"><B>setSoTimeout(HttpParams, int)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_TIMEOUT"><CODE>CoreConnectionPNames.SO_TIMEOUT</CODE></A> parameter.
<DT><A HREF="./org/apache/http/params/HttpConnectionParamBean.html#setStaleCheckingEnabled(boolean)"><B>setStaleCheckingEnabled(boolean)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParamBean.html" title="class in org.apache.http.params">HttpConnectionParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#setStaleCheckingEnabled(org.apache.http.params.HttpParams, boolean)"><B>setStaleCheckingEnabled(HttpParams, boolean)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#STALE_CONNECTION_CHECK"><CODE>CoreConnectionPNames.STALE_CONNECTION_CHECK</CODE></A>
 parameter.
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#setState(java.lang.Object)"><B>setState(Object)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpResponse.html#setStatusCode(int)"><B>setStatusCode(int)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http">HttpResponse</A>
<DD>Updates the status line of this response with a new status code.
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#setStatusCode(int)"><B>setStatusCode(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpResponse.html#setStatusLine(org.apache.http.StatusLine)"><B>setStatusLine(StatusLine)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http">HttpResponse</A>
<DD>Sets the status line of this response.
<DT><A HREF="./org/apache/http/HttpResponse.html#setStatusLine(org.apache.http.ProtocolVersion, int)"><B>setStatusLine(ProtocolVersion, int)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http">HttpResponse</A>
<DD>Sets the status line of this response.
<DT><A HREF="./org/apache/http/HttpResponse.html#setStatusLine(org.apache.http.ProtocolVersion, int, java.lang.String)"><B>setStatusLine(ProtocolVersion, int, String)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpResponse.html" title="interface in org.apache.http">HttpResponse</A>
<DD>Sets the status line of this response with a reason phrase.
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#setStatusLine(org.apache.http.StatusLine)"><B>setStatusLine(StatusLine)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#setStatusLine(org.apache.http.ProtocolVersion, int)"><B>setStatusLine(ProtocolVersion, int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#setStatusLine(org.apache.http.ProtocolVersion, int, java.lang.String)"><B>setStatusLine(ProtocolVersion, int, String)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#setTcpNoDelay(boolean)"><B>setTcpNoDelay(boolean)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>Defines the default value of the <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/SocketOptions.html#TCP_NODELAY" title="class or interface in java.net"><CODE>SocketOptions.TCP_NODELAY</CODE></A> parameter
 for newly created sockets.
<DT><A HREF="./org/apache/http/params/HttpConnectionParamBean.html#setTcpNoDelay(boolean)"><B>setTcpNoDelay(boolean)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParamBean.html" title="class in org.apache.http.params">HttpConnectionParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpConnectionParams.html#setTcpNoDelay(org.apache.http.params.HttpParams, boolean)"><B>setTcpNoDelay(HttpParams, boolean)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpConnectionParams.html" title="class in org.apache.http.params">HttpConnectionParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreConnectionPNames.html#TCP_NODELAY"><CODE>CoreConnectionPNames.TCP_NODELAY</CODE></A> parameter.
<DT><A HREF="./org/apache/http/benchmark/Config.html#setThreads(int)"><B>setThreads(int)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html#setTimeout(int)"><B>setTimeout(int)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.ClientConnState.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler.ClientConnState</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html#setTimeout(int)"><B>setTimeout(int)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol">HttpAsyncExchange</A>
<DD>Sets timeout for this message exchange.
<DT><A HREF="./org/apache/http/benchmark/Config.html#setTrustStorePassword(java.lang.String)"><B>setTrustStorePassword(String)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#setTrustStorePath(java.lang.String)"><B>setTrustStorePath(String)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#setUnmappableInputAction(org.apache.http.params.HttpParams, java.nio.charset.CodingErrorAction)"><B>setUnmappableInputAction(HttpParams, CodingErrorAction)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Sets the value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#HTTP_UNMAPPABLE_INPUT_ACTION"><CODE>CoreProtocolPNames.HTTP_UNMAPPABLE_INPUT_ACTION</CODE></A> parameter.
<DT><A HREF="./org/apache/http/benchmark/Config.html#setUrl(java.net.URL)"><B>setUrl(URL)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#setUseAcceptGZip(boolean)"><B>setUseAcceptGZip(boolean)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#setUseChunking(boolean)"><B>setUseChunking(boolean)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Config.html#setUseExpectContinue(boolean)"><B>setUseExpectContinue(boolean)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParamBean.html#setUseExpectContinue(boolean)"><B>setUseExpectContinue(boolean)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParamBean.html" title="class in org.apache.http.params">HttpProtocolParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#setUseExpectContinue(org.apache.http.params.HttpParams, boolean)"><B>setUseExpectContinue(HttpParams, boolean)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#USE_EXPECT_CONTINUE"><CODE>CoreProtocolPNames.USE_EXPECT_CONTINUE</CODE></A> parameter.
<DT><A HREF="./org/apache/http/benchmark/Config.html#setUseHttp1_0(boolean)"><B>setUseHttp1_0(boolean)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParamBean.html#setUserAgent(java.lang.String)"><B>setUserAgent(String)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParamBean.html" title="class in org.apache.http.params">HttpProtocolParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#setUserAgent(org.apache.http.params.HttpParams, java.lang.String)"><B>setUserAgent(HttpParams, String)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#USER_AGENT"><CODE>CoreProtocolPNames.USER_AGENT</CODE></A> parameter.
<DT><A HREF="./org/apache/http/benchmark/Config.html#setVerbosity(int)"><B>setVerbosity(int)</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Config.html" title="class in org.apache.http.benchmark">Config</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParamBean.html#setVersion(org.apache.http.HttpVersion)"><B>setVersion(HttpVersion)</B></A> - 
Method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParamBean.html" title="class in org.apache.http.params">HttpProtocolParamBean</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#setVersion(org.apache.http.params.HttpParams, org.apache.http.ProtocolVersion)"><B>setVersion(HttpParams, ProtocolVersion)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Sets value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#PROTOCOL_VERSION"><CODE>CoreProtocolPNames.PROTOCOL_VERSION</CODE></A> parameter.
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util"><B>SharedInputBuffer</B></A> - Class in <A HREF="./org/apache/http/nio/util/package-summary.html">org.apache.http.nio.util</A><DD>Implementation of the <A HREF="./org/apache/http/nio/util/ContentInputBuffer.html" title="interface in org.apache.http.nio.util"><CODE>ContentInputBuffer</CODE></A> interface that can be
 shared by multiple threads, usually the I/O dispatch of an I/O reactor and
 a worker thread.<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#SharedInputBuffer(int, org.apache.http.nio.IOControl, org.apache.http.nio.util.ByteBufferAllocator)"><B>SharedInputBuffer(int, IOControl, ByteBufferAllocator)</B></A> - 
Constructor for class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util"><B>SharedOutputBuffer</B></A> - Class in <A HREF="./org/apache/http/nio/util/package-summary.html">org.apache.http.nio.util</A><DD>Implementation of the <A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html" title="interface in org.apache.http.nio.util"><CODE>ContentOutputBuffer</CODE></A> interface that can be
 shared by multiple threads, usually the I/O dispatch of an I/O reactor and
 a worker thread.<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#SharedOutputBuffer(int, org.apache.http.nio.IOControl, org.apache.http.nio.util.ByteBufferAllocator)"><B>SharedOutputBuffer(int, IOControl, ByteBufferAllocator)</B></A> - 
Constructor for class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpConnection.html#shutdown()"><B>shutdown()</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpConnection.html" title="interface in org.apache.http">HttpConnection</A>
<DD>Force-closes this connection.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#shutdown(long)"><B>shutdown(long)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#shutdown(long)"><B>shutdown(long)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/IOControl.html#shutdown()"><B>shutdown()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/IOControl.html" title="interface in org.apache.http.nio">IOControl</A>
<DD>Shuts down the underlying channel.
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#shutdown(long)"><B>shutdown(long)</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOReactor.html#shutdown(long)"><B>shutdown(long)</B></A> - 
Method in 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>
<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.
<DT><A HREF="./org/apache/http/nio/reactor/IOReactor.html#shutdown()"><B>shutdown()</B></A> - 
Method in 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>
<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.
<DT><A HREF="./org/apache/http/nio/reactor/IOSession.html#shutdown()"><B>shutdown()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor">IOSession</A>
<DD>Terminates the session by shutting down the underlying I/O channel.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html" title="class in org.apache.http.nio.util">SimpleInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html" title="class in org.apache.http.nio.util">SimpleOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#shutdown()"><B>shutdown()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>Shuts down the pool.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html#shutdownConnection(org.apache.http.nio.NHttpConnection, java.lang.Throwable)"><B>shutdownConnection(NHttpConnection, Throwable)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpHandlerBase.html" title="class in org.apache.http.nio.protocol">NHttpHandlerBase</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#shutdownConnection(org.apache.http.nio.NHttpConnection, java.lang.Throwable)"><B>shutdownConnection(NHttpConnection, Throwable)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html" title="class in org.apache.http.nio.util"><B>SimpleInputBuffer</B></A> - Class in <A HREF="./org/apache/http/nio/util/package-summary.html">org.apache.http.nio.util</A><DD>Basic implementation of the <A HREF="./org/apache/http/nio/util/ContentInputBuffer.html" title="interface in org.apache.http.nio.util"><CODE>ContentInputBuffer</CODE></A> interface.<DT><A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html#SimpleInputBuffer(int, org.apache.http.nio.util.ByteBufferAllocator)"><B>SimpleInputBuffer(int, ByteBufferAllocator)</B></A> - 
Constructor for class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleInputBuffer.html" title="class in org.apache.http.nio.util">SimpleInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/SimpleNHttpRequestHandler.html" title="class in org.apache.http.nio.protocol"><B>SimpleNHttpRequestHandler</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/BasicAsyncRequestHandler.html" title="class in org.apache.http.nio.protocol"><CODE>BasicAsyncRequestHandler</CODE></A></I><DT><A HREF="./org/apache/http/nio/protocol/SimpleNHttpRequestHandler.html#SimpleNHttpRequestHandler()"><B>SimpleNHttpRequestHandler()</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/SimpleNHttpRequestHandler.html" title="class in org.apache.http.nio.protocol">SimpleNHttpRequestHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html" title="class in org.apache.http.nio.util"><B>SimpleOutputBuffer</B></A> - Class in <A HREF="./org/apache/http/nio/util/package-summary.html">org.apache.http.nio.util</A><DD>Basic implementation of the <A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html" title="interface in org.apache.http.nio.util"><CODE>ContentOutputBuffer</CODE></A> interface.<DT><A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html#SimpleOutputBuffer(int, org.apache.http.nio.util.ByteBufferAllocator)"><B>SimpleOutputBuffer(int, ByteBufferAllocator)</B></A> - 
Constructor for class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html" title="class in org.apache.http.nio.util">SimpleOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html#skip(long)"><B>skip(long)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthInputStream.html" title="class in org.apache.http.impl.io">ContentLengthInputStream</A>
<DD>Skips and discards a number of bytes from the input stream.
<DT><A HREF="./org/apache/http/nio/entity/SkipContentListener.html" title="class in org.apache.http.nio.entity"><B>SkipContentListener</B></A> - Class in <A HREF="./org/apache/http/nio/entity/package-summary.html">org.apache.http.nio.entity</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I><DT><A HREF="./org/apache/http/nio/entity/SkipContentListener.html#SkipContentListener(org.apache.http.nio.util.ByteBufferAllocator)"><B>SkipContentListener(ByteBufferAllocator)</B></A> - 
Constructor for class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/SkipContentListener.html" title="class in org.apache.http.nio.entity">SkipContentListener</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/message/BasicLineParser.html#skipWhitespace(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor)"><B>skipWhitespace(CharArrayBuffer, ParserCursor)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicLineParser.html" title="class in org.apache.http.message">BasicLineParser</A>
<DD>Helper to skip whitespace.
<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_KEEPALIVE"><B>SO_KEEPALIVE</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params">CoreConnectionPNames</A>
<DD>Defines whether or not TCP is to send automatically a keepalive probe to the peer
 after an interval of inactivity (no data exchanged in either direction) between this
 host and the peer.
<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_LINGER"><B>SO_LINGER</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params">CoreConnectionPNames</A>
<DD>Sets SO_LINGER with the specified linger time in seconds.
<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_REUSEADDR"><B>SO_REUSEADDR</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params">CoreConnectionPNames</A>
<DD>Defines whether the socket can be bound even though a previous connection is
 still in a timeout state.
<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html#SO_TIMEOUT"><B>SO_TIMEOUT</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params">CoreConnectionPNames</A>
<DD>Defines the socket timeout (<code>SO_TIMEOUT</code>) in milliseconds,
 which is the timeout for waiting for data  or, put differently,
 a maximum period inactivity between two consecutive data packets).
<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html#SOCKET_BUFFER_SIZE"><B>SOCKET_BUFFER_SIZE</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params">CoreConnectionPNames</A>
<DD>Determines the size of the internal socket buffer used to buffer data
 while receiving / transmitting HTTP messages.
<DT><A HREF="./org/apache/http/nio/reactor/SocketAccessor.html" title="interface in org.apache.http.nio.reactor"><B>SocketAccessor</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/package-summary.html">org.apache.http.nio.reactor</A><DD>Provides access to the underlying Socket.<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl"><B>SocketHttpClientConnection</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>Implementation of a client-side HTTP connection that can be bound to an
 arbitrary <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A> for receiving data from and transmitting data to
 a remote server.<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#SocketHttpClientConnection()"><B>SocketHttpClientConnection()</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl"><B>SocketHttpServerConnection</B></A> - Class in <A HREF="./org/apache/http/impl/package-summary.html">org.apache.http.impl</A><DD>Implementation of a server-side HTTP connection that can be bound to a
 network Socket in order to receive and transmit data.<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#SocketHttpServerConnection()"><B>SocketHttpServerConnection()</B></A> - 
Constructor for class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/SocketInputBuffer.html" title="class in org.apache.http.impl.io"><B>SocketInputBuffer</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD><A HREF="./org/apache/http/io/SessionInputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionInputBuffer</CODE></A> implementation bound to a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A>.<DT><A HREF="./org/apache/http/impl/io/SocketInputBuffer.html#SocketInputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams)"><B>SocketInputBuffer(Socket, int, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/SocketInputBuffer.html" title="class in org.apache.http.impl.io">SocketInputBuffer</A>
<DD>Creates an instance of this class.
<DT><A HREF="./org/apache/http/impl/io/SocketOutputBuffer.html" title="class in org.apache.http.impl.io"><B>SocketOutputBuffer</B></A> - Class in <A HREF="./org/apache/http/impl/io/package-summary.html">org.apache.http.impl.io</A><DD><A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io"><CODE>SessionOutputBuffer</CODE></A> implementation bound to a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html" title="class or interface in java.net"><CODE>Socket</CODE></A>.<DT><A HREF="./org/apache/http/impl/io/SocketOutputBuffer.html#SocketOutputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams)"><B>SocketOutputBuffer(Socket, int, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/SocketOutputBuffer.html" title="class in org.apache.http.impl.io">SocketOutputBuffer</A>
<DD>Creates an instance of this class.
<DT><A HREF="./org/apache/http/Consts.html#SP"><B>SP</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/Consts.html" title="class in org.apache.http">Consts</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#SP"><B>SP</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl"><B>SSLClientIOEventDispatch</B></A> - Class in <A HREF="./org/apache/http/impl/nio/ssl/package-summary.html">org.apache.http.impl.nio.ssl</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/DefaultHttpClientIODispatch.html" title="class in org.apache.http.impl.nio"><CODE>DefaultHttpClientIODispatch</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html#SSLClientIOEventDispatch(org.apache.http.nio.NHttpClientHandler, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLSetupHandler, org.apache.http.params.HttpParams)"><B>SSLClientIOEventDispatch(NHttpClientHandler, SSLContext, SSLSetupHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates a new instance of this class to be used for dispatching I/O event
 notifications to the given protocol handler using the given
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html#SSLClientIOEventDispatch(org.apache.http.nio.NHttpClientHandler, javax.net.ssl.SSLContext, org.apache.http.params.HttpParams)"><B>SSLClientIOEventDispatch(NHttpClientHandler, SSLContext, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates a new instance of this class to be used for dispatching I/O event
 notifications to the given protocol handler using the given
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio"><B>SSLClientIOEventDispatch</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/ssl/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl"><CODE>SSLClientIOEventDispatch</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#SSLClientIOEventDispatch(org.apache.http.nio.NHttpClientHandler, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLIOSessionHandler, org.apache.http.params.HttpParams)"><B>SSLClientIOEventDispatch(NHttpClientHandler, SSLContext, SSLIOSessionHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates a new instance of this class to be used for dispatching I/O event
 notifications to the given protocol handler using the given
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#SSLClientIOEventDispatch(org.apache.http.nio.NHttpClientHandler, javax.net.ssl.SSLContext, org.apache.http.params.HttpParams)"><B>SSLClientIOEventDispatch(NHttpClientHandler, SSLContext, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates a new instance of this class to be used for dispatching I/O event
 notifications to the given protocol handler using the given
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#sslcontext"><B>sslcontext</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#sslcontext"><B>sslcontext</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#sslHandler"><B>sslHandler</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#sslHandler"><B>sslHandler</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SSLIOSession.html" title="class in org.apache.http.impl.nio.reactor"><B>SSLIOSession</B></A> - Class in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl"><CODE>SSLIOSession</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/reactor/SSLIOSession.html#SSLIOSession(org.apache.http.nio.reactor.IOSession, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLSetupHandler)"><B>SSLIOSession(IOSession, SSLContext, SSLSetupHandler)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SSLIOSession.html" title="class in org.apache.http.impl.nio.reactor">SSLIOSession</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SSLIOSession.html#SSLIOSession(org.apache.http.nio.reactor.IOSession, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLIOSessionHandler)"><B>SSLIOSession(IOSession, SSLContext, SSLIOSessionHandler)</B></A> - 
Constructor for class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SSLIOSession.html" title="class in org.apache.http.impl.nio.reactor">SSLIOSession</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl"><B>SSLIOSession</B></A> - Class in <A HREF="./org/apache/http/nio/reactor/ssl/package-summary.html">org.apache.http.nio.reactor.ssl</A><DD><tt>SSLIOSession</tt> is a decorator class intended to transparently extend
 an <A HREF="./org/apache/http/nio/reactor/IOSession.html" title="interface in org.apache.http.nio.reactor"><CODE>IOSession</CODE></A> with transport layer security capabilities based on
 the SSL/TLS protocol.<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#SSLIOSession(org.apache.http.nio.reactor.IOSession, org.apache.http.nio.reactor.ssl.SSLMode, javax.net.ssl.SSLContext, org.apache.http.nio.reactor.ssl.SSLSetupHandler)"><B>SSLIOSession(IOSession, SSLMode, SSLContext, SSLSetupHandler)</B></A> - 
Constructor for class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>Creates new instance of <tt>SSLIOSession</tt> class.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SSLIOSessionHandler.html" title="interface in org.apache.http.impl.nio.reactor"><B>SSLIOSessionHandler</B></A> - Interface in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) Use <A HREF="./org/apache/http/impl/nio/reactor/SSLSetupHandler.html" title="interface in org.apache.http.impl.nio.reactor"><CODE>SSLSetupHandler</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/reactor/SSLMode.html" title="enum in org.apache.http.impl.nio.reactor"><B>SSLMode</B></A> - Enum in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I><DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLMode.html" title="enum in org.apache.http.nio.reactor.ssl"><B>SSLMode</B></A> - Enum in <A HREF="./org/apache/http/nio/reactor/ssl/package-summary.html">org.apache.http.nio.reactor.ssl</A><DD>&nbsp;<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.html" title="class in org.apache.http.impl.nio"><B>SSLNHttpClientConnectionFactory</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD>Factory for SSL encrypted, non-blocking <A HREF="./org/apache/http/nio/NHttpClientConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpClientConnection</CODE></A>s.<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.html#SSLNHttpClientConnectionFactory(javax.net.ssl.SSLContext, org.apache.http.nio.reactor.ssl.SSLSetupHandler, org.apache.http.HttpResponseFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>SSLNHttpClientConnectionFactory(SSLContext, SSLSetupHandler, HttpResponseFactory, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.html" title="class in org.apache.http.impl.nio">SSLNHttpClientConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.html#SSLNHttpClientConnectionFactory(javax.net.ssl.SSLContext, org.apache.http.nio.reactor.ssl.SSLSetupHandler, org.apache.http.params.HttpParams)"><B>SSLNHttpClientConnectionFactory(SSLContext, SSLSetupHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.html" title="class in org.apache.http.impl.nio">SSLNHttpClientConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.html#SSLNHttpClientConnectionFactory(org.apache.http.params.HttpParams)"><B>SSLNHttpClientConnectionFactory(HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLNHttpClientConnectionFactory.html" title="class in org.apache.http.impl.nio">SSLNHttpClientConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.html" title="class in org.apache.http.impl.nio"><B>SSLNHttpServerConnectionFactory</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD>Factory for SSL encrypted, non-blocking <A HREF="./org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio"><CODE>NHttpServerConnection</CODE></A>s.<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.html#SSLNHttpServerConnectionFactory(javax.net.ssl.SSLContext, org.apache.http.nio.reactor.ssl.SSLSetupHandler, org.apache.http.HttpRequestFactory, org.apache.http.nio.util.ByteBufferAllocator, org.apache.http.params.HttpParams)"><B>SSLNHttpServerConnectionFactory(SSLContext, SSLSetupHandler, HttpRequestFactory, ByteBufferAllocator, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.html" title="class in org.apache.http.impl.nio">SSLNHttpServerConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.html#SSLNHttpServerConnectionFactory(javax.net.ssl.SSLContext, org.apache.http.nio.reactor.ssl.SSLSetupHandler, org.apache.http.params.HttpParams)"><B>SSLNHttpServerConnectionFactory(SSLContext, SSLSetupHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.html" title="class in org.apache.http.impl.nio">SSLNHttpServerConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.html#SSLNHttpServerConnectionFactory(org.apache.http.params.HttpParams)"><B>SSLNHttpServerConnectionFactory(HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLNHttpServerConnectionFactory.html" title="class in org.apache.http.impl.nio">SSLNHttpServerConnectionFactory</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl"><B>SSLServerIOEventDispatch</B></A> - Class in <A HREF="./org/apache/http/impl/nio/ssl/package-summary.html">org.apache.http.impl.nio.ssl</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/DefaultHttpServerIODispatch.html" title="class in org.apache.http.impl.nio"><CODE>DefaultHttpServerIODispatch</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html#SSLServerIOEventDispatch(org.apache.http.nio.NHttpServiceHandler, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLSetupHandler, org.apache.http.params.HttpParams)"><B>SSLServerIOEventDispatch(NHttpServiceHandler, SSLContext, SSLSetupHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates a new instance of this class to be used for dispatching I/O event
 notifications to the given protocol handler using the given
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html#SSLServerIOEventDispatch(org.apache.http.nio.NHttpServiceHandler, javax.net.ssl.SSLContext, org.apache.http.params.HttpParams)"><B>SSLServerIOEventDispatch(NHttpServiceHandler, SSLContext, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.ssl.<A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates a new instance of this class to be used for dispatching I/O event
 notifications to the given protocol handler using the given
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio"><B>SSLServerIOEventDispatch</B></A> - Class in <A HREF="./org/apache/http/impl/nio/package-summary.html">org.apache.http.impl.nio</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/impl/nio/ssl/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio.ssl"><CODE>SSLServerIOEventDispatch</CODE></A></I><DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#SSLServerIOEventDispatch(org.apache.http.nio.NHttpServiceHandler, javax.net.ssl.SSLContext, org.apache.http.impl.nio.reactor.SSLIOSessionHandler, org.apache.http.params.HttpParams)"><B>SSLServerIOEventDispatch(NHttpServiceHandler, SSLContext, SSLIOSessionHandler, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates a new instance of this class to be used for dispatching I/O event
 notifications to the given protocol handler using the given
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#SSLServerIOEventDispatch(org.apache.http.nio.NHttpServiceHandler, javax.net.ssl.SSLContext, org.apache.http.params.HttpParams)"><B>SSLServerIOEventDispatch(NHttpServiceHandler, SSLContext, HttpParams)</B></A> - 
Constructor for class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;Creates a new instance of this class to be used for dispatching I/O event
 notifications to the given protocol handler using the given
 <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/javax/net/ssl/SSLContext.html" title="class or interface in javax.net.ssl"><CODE>SSLContext</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SSLSetupHandler.html" title="interface in org.apache.http.impl.nio.reactor"><B>SSLSetupHandler</B></A> - Interface in <A HREF="./org/apache/http/impl/nio/reactor/package-summary.html">org.apache.http.impl.nio.reactor</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/reactor/ssl/SSLSetupHandler.html" title="interface in org.apache.http.nio.reactor.ssl"><CODE>SSLSetupHandler</CODE></A></I><DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLSetupHandler.html" title="interface in org.apache.http.nio.reactor.ssl"><B>SSLSetupHandler</B></A> - Interface in <A HREF="./org/apache/http/nio/reactor/ssl/package-summary.html">org.apache.http.nio.reactor.ssl</A><DD>Callback interface that can be used to customize various aspects of
 the TLS/SSl protocol.<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html#STALE_CONNECTION_CHECK"><B>STALE_CONNECTION_CHECK</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params">CoreConnectionPNames</A>
<DD>Determines whether stale connection check is to be used.
<DT><A HREF="./org/apache/http/benchmark/Stats.html#start()"><B>start()</B></A> - 
Method in class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark"><B>Stats</B></A> - Class in <A HREF="./org/apache/http/benchmark/package-summary.html">org.apache.http.benchmark</A><DD>Helper to gather statistics for an <A HREF="./org/apache/http/benchmark/HttpBenchmark.html" title="class in org.apache.http.benchmark"><CODE>HttpBenchmark</CODE></A>.<DT><A HREF="./org/apache/http/benchmark/Stats.html#Stats()"><B>Stats()</B></A> - 
Constructor for class org.apache.http.benchmark.<A HREF="./org/apache/http/benchmark/Stats.html" title="class in org.apache.http.benchmark">Stats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#status"><B>status</B></A> - 
Variable in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html#status"><B>status</B></A> - 
Variable in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractMultiworkerIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractMultiworkerIOReactor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#STATUS_URI"><B>STATUS_URI</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2518 (WevDAV) Section 9.7
<DT><A HREF="./org/apache/http/StatusLine.html" title="interface in org.apache.http"><B>StatusLine</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>The first line of a Response message is the Status-Line, consisting
 of the protocol version followed by a numeric status code and its
 associated textual phrase, with each element separated by SP
 characters.<DT><A HREF="./org/apache/http/params/CoreProtocolPNames.html#STRICT_TRANSFER_ENCODING"><B>STRICT_TRANSFER_ENCODING</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreProtocolPNames.html" title="interface in org.apache.http.params">CoreProtocolPNames</A>
<DD>Defines whether responses with an invalid <code>Transfer-Encoding</code>
 header should be rejected.
<DT><A HREF="./org/apache/http/impl/entity/StrictContentLengthStrategy.html" title="class in org.apache.http.impl.entity"><B>StrictContentLengthStrategy</B></A> - Class in <A HREF="./org/apache/http/impl/entity/package-summary.html">org.apache.http.impl.entity</A><DD>The strict implementation of the content length strategy.<DT><A HREF="./org/apache/http/impl/entity/StrictContentLengthStrategy.html#StrictContentLengthStrategy(int)"><B>StrictContentLengthStrategy(int)</B></A> - 
Constructor for class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/StrictContentLengthStrategy.html" title="class in org.apache.http.impl.entity">StrictContentLengthStrategy</A>
<DD>Creates <tt>StrictContentLengthStrategy</tt> instance with the given length used per default
 when content length is not explicitly specified in the message.
<DT><A HREF="./org/apache/http/impl/entity/StrictContentLengthStrategy.html#StrictContentLengthStrategy()"><B>StrictContentLengthStrategy()</B></A> - 
Constructor for class org.apache.http.impl.entity.<A HREF="./org/apache/http/impl/entity/StrictContentLengthStrategy.html" title="class in org.apache.http.impl.entity">StrictContentLengthStrategy</A>
<DD>Creates <tt>StrictContentLengthStrategy</tt> instance.
<DT><A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity"><B>StringEntity</B></A> - Class in <A HREF="./org/apache/http/entity/package-summary.html">org.apache.http.entity</A><DD>A self contained, repeatable entity that obtains its content from
 a <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A>.<DT><A HREF="./org/apache/http/entity/StringEntity.html#StringEntity(java.lang.String, org.apache.http.entity.ContentType)"><B>StringEntity(String, ContentType)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD>Creates a StringEntity with the specified content and content type.
<DT><A HREF="./org/apache/http/entity/StringEntity.html#StringEntity(java.lang.String, java.lang.String, java.lang.String)"><B>StringEntity(String, String, String)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.1.3) use <A HREF="./org/apache/http/entity/StringEntity.html#StringEntity(java.lang.String, org.apache.http.entity.ContentType)"><CODE>StringEntity.StringEntity(String, ContentType)</CODE></A></I>
<DT><A HREF="./org/apache/http/entity/StringEntity.html#StringEntity(java.lang.String, java.lang.String)"><B>StringEntity(String, String)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD>Creates a StringEntity with the specified content and charset.
<DT><A HREF="./org/apache/http/entity/StringEntity.html#StringEntity(java.lang.String, java.nio.charset.Charset)"><B>StringEntity(String, Charset)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD>Creates a StringEntity with the specified content and charset.
<DT><A HREF="./org/apache/http/entity/StringEntity.html#StringEntity(java.lang.String)"><B>StringEntity(String)</B></A> - 
Constructor for class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD>Creates a StringEntity with the specified content.
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html#submitRequest(org.apache.http.HttpRequest)"><B>submitRequest(HttpRequest)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpClientConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientConnection.html#submitRequest(org.apache.http.HttpRequest)"><B>submitRequest(HttpRequest)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientConnection.html" title="interface in org.apache.http.nio">NHttpClientConnection</A>
<DD>Submits <A HREF="./org/apache/http/HttpRequest.html" title="interface in org.apache.http"><CODE>HttpRequest</CODE></A> to be sent to the target server.
<DT><A HREF="./org/apache/http/nio/protocol/HttpRequestExecutionHandler.html#submitRequest(org.apache.http.protocol.HttpContext)"><B>submitRequest(HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">HttpRequestExecutionHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the underlying connection is ready to send a new
 HTTP request to the target host.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestExecutionHandler.html#submitRequest(org.apache.http.protocol.HttpContext)"><B>submitRequest(HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestExecutionHandler.html" title="interface in org.apache.http.nio.protocol">NHttpRequestExecutionHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the underlying connection is ready to send a new
 HTTP request to the target host.
<DT><A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html#submitResponse(org.apache.http.HttpResponse)"><B>submitResponse(HttpResponse)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/DefaultNHttpServerConnection.html" title="class in org.apache.http.impl.nio">DefaultNHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpServerConnection.html#submitResponse(org.apache.http.HttpResponse)"><B>submitResponse(HttpResponse)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerConnection.html" title="interface in org.apache.http.nio">NHttpServerConnection</A>
<DD>Submits {link @HttpResponse} to be sent to the client.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html#submitResponse()"><B>submitResponse()</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol">HttpAsyncExchange</A>
<DD>Submits the default HTTP response and completed the message exchange.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html#submitResponse(org.apache.http.nio.protocol.HttpAsyncResponseProducer)"><B>submitResponse(HttpAsyncResponseProducer)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncExchange.html" title="interface in org.apache.http.nio.protocol">HttpAsyncExchange</A>
<DD>Submits an HTTP response using a custom
 <A HREF="./org/apache/http/nio/protocol/HttpAsyncResponseProducer.html" title="interface in org.apache.http.nio.protocol"><CODE>HttpAsyncResponseProducer</CODE></A>.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpResponseTrigger.html#submitResponse(org.apache.http.HttpResponse)"><B>submitResponse(HttpResponse)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpResponseTrigger.html" title="interface in org.apache.http.nio.protocol">NHttpResponseTrigger</A>
<DD><B>Deprecated.</B>&nbsp;Submits a response to be sent back to the client as a result of
 processing of the request.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#substring(int, int)"><B>substring(int, int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Returns a substring of this buffer.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#substringTrimmed(int, int)"><B>substringTrimmed(int, int)</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Returns a substring of this buffer with leading and trailing whitespace
 omitted.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#suspendInput()"><B>suspendInput()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/IOControl.html#suspendInput()"><B>suspendInput()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/IOControl.html" title="interface in org.apache.http.nio">IOControl</A>
<DD>Suspends event notifications about the underlying channel being
 ready for input operations.
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#suspendOutput()"><B>suspendOutput()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/IOControl.html#suspendOutput()"><B>suspendOutput()</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/IOControl.html" title="interface in org.apache.http.nio">IOControl</A>
<DD>Suspends event notifications about the underlying channel being
 ready for output operations.
<DT><A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html" title="class in org.apache.http.protocol"><B>SyncBasicHttpContext</B></A> - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) HttpContext instances may not be shared by multiple threads</I><DT><A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html#SyncBasicHttpContext(org.apache.http.protocol.HttpContext)"><B>SyncBasicHttpContext(HttpContext)</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html" title="class in org.apache.http.protocol">SyncBasicHttpContext</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html#SyncBasicHttpContext()"><B>SyncBasicHttpContext()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/SyncBasicHttpContext.html" title="class in org.apache.http.protocol">SyncBasicHttpContext</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/params/SyncBasicHttpParams.html" title="class in org.apache.http.params"><B>SyncBasicHttpParams</B></A> - Class in <A HREF="./org/apache/http/params/package-summary.html">org.apache.http.params</A><DD>Thread-safe extension of the <A HREF="./org/apache/http/params/BasicHttpParams.html" title="class in org.apache.http.params"><CODE>BasicHttpParams</CODE></A>.<DT><A HREF="./org/apache/http/params/SyncBasicHttpParams.html#SyncBasicHttpParams()"><B>SyncBasicHttpParams()</B></A> - 
Constructor for class org.apache.http.params.<A HREF="./org/apache/http/params/SyncBasicHttpParams.html" title="class in org.apache.http.params">SyncBasicHttpParams</A>
<DD>&nbsp;
</DL>
<HR>
<A NAME="_T_"><!-- --></A><H2>
<B>T</B></H2>
<DL>
<DT><A HREF="./org/apache/http/protocol/HTTP.html#TARGET_HOST"><B>TARGET_HOST</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/params/CoreConnectionPNames.html#TCP_NODELAY"><B>TCP_NODELAY</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreConnectionPNames.html" title="interface in org.apache.http.params">CoreConnectionPNames</A>
<DD>Determines whether Nagle's algorithm is to be used.
<DT><A HREF="./org/apache/http/HttpHeaders.html#TE"><B>TE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.39
<DT><A HREF="./org/apache/http/entity/ContentType.html#TEXT_HTML"><B>TEXT_HTML</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#TEXT_PLAIN"><B>TEXT_PLAIN</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentType.html#TEXT_XML"><B>TEXT_XML</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/annotation/ThreadSafe.html" title="annotation in org.apache.http.annotation"><B>ThreadSafe</B></A> - Annotation Type in <A HREF="./org/apache/http/annotation/package-summary.html">org.apache.http.annotation</A><DD>The class to which this annotation is applied is thread-safe.<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol"><B>ThrottlingHttpClientHandler</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><B>Deprecated.</B>&nbsp;<I>(4.2) use <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequestExecutor</CODE></A> and <A HREF="./org/apache/http/nio/protocol/HttpAsyncRequester.html" title="class in org.apache.http.nio.protocol"><CODE>HttpAsyncRequester</CODE></A></I><DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#ThrottlingHttpClientHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.nio.protocol.HttpRequestExecutionHandler, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, java.util.concurrent.Executor, org.apache.http.params.HttpParams)"><B>ThrottlingHttpClientHandler(HttpProcessor, HttpRequestExecutionHandler, ConnectionReuseStrategy, ByteBufferAllocator, Executor, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#ThrottlingHttpClientHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.nio.protocol.HttpRequestExecutionHandler, org.apache.http.ConnectionReuseStrategy, java.util.concurrent.Executor, org.apache.http.params.HttpParams)"><B>ThrottlingHttpClientHandler(HttpProcessor, HttpRequestExecutionHandler, ConnectionReuseStrategy, Executor, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol"><B>ThrottlingHttpServiceHandler</B></A> - Class in <A HREF="./org/apache/http/nio/protocol/package-summary.html">org.apache.http.nio.protocol</A><DD><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><DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#ThrottlingHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, org.apache.http.nio.util.ByteBufferAllocator, java.util.concurrent.Executor, org.apache.http.params.HttpParams)"><B>ThrottlingHttpServiceHandler(HttpProcessor, HttpResponseFactory, ConnectionReuseStrategy, ByteBufferAllocator, Executor, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#ThrottlingHttpServiceHandler(org.apache.http.protocol.HttpProcessor, org.apache.http.HttpResponseFactory, org.apache.http.ConnectionReuseStrategy, java.util.concurrent.Executor, org.apache.http.params.HttpParams)"><B>ThrottlingHttpServiceHandler(HttpProcessor, HttpResponseFactory, ConnectionReuseStrategy, Executor, HttpParams)</B></A> - 
Constructor for class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#TIMEOUT"><B>TIMEOUT</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2518 (WevDAV) Section 9.8
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html#timeout(org.apache.http.nio.reactor.IOSession)"><B>timeout(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIODispatch.html" title="class in org.apache.http.impl.nio.reactor">AbstractIODispatch</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#timeout()"><B>timeout()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html#timeout(org.apache.http.nio.reactor.IOSession)"><B>timeout(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLClientIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLClientIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html#timeout(org.apache.http.nio.reactor.IOSession)"><B>timeout(IOSession)</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/SSLServerIOEventDispatch.html" title="class in org.apache.http.impl.nio">SSLServerIOEventDispatch</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpClientEventHandler.html#timeout(org.apache.http.nio.NHttpClientConnection)"><B>timeout(NHttpClientConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientEventHandler.html" title="interface in org.apache.http.nio">NHttpClientEventHandler</A>
<DD>Triggered when no input is detected on this connection over the
 maximum period of inactivity.
<DT><A HREF="./org/apache/http/nio/NHttpClientHandler.html#timeout(org.apache.http.nio.NHttpClientConnection)"><B>timeout(NHttpClientConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpClientHandler.html" title="interface in org.apache.http.nio">NHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when no input is detected on this connection over the
 maximum period of inactivity.
<DT><A HREF="./org/apache/http/nio/NHttpServerEventHandler.html#timeout(org.apache.http.nio.NHttpServerConnection)"><B>timeout(NHttpServerConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServerEventHandler.html" title="interface in org.apache.http.nio">NHttpServerEventHandler</A>
<DD>Triggered when no input is detected on this connection over the
 maximum period of inactivity.
<DT><A HREF="./org/apache/http/nio/NHttpServiceHandler.html#timeout(org.apache.http.nio.NHttpServerConnection)"><B>timeout(NHttpServerConnection)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpServiceHandler.html" title="interface in org.apache.http.nio">NHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when no input is detected on this connection over the
 maximum period of inactivity.
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html#timeout(org.apache.http.nio.NHttpClientConnection)"><B>timeout(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpClientHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html#timeout(org.apache.http.nio.NHttpServerConnection)"><B>timeout(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/AsyncNHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">AsyncNHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html#timeout(org.apache.http.nio.NHttpClientConnection)"><B>timeout(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html#timeout(org.apache.http.nio.NHttpServerConnection)"><B>timeout(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/BufferingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">BufferingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html#timeout(org.apache.http.nio.NHttpClientConnection)"><B>timeout(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestExecutor.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestExecutor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html#timeout(org.apache.http.nio.NHttpServerConnection)"><B>timeout(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncService.html" title="class in org.apache.http.nio.protocol">HttpAsyncService</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html#timeout(org.apache.http.nio.NHttpClientConnection)"><B>timeout(NHttpClientConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpClientHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpClientHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html#timeout(org.apache.http.nio.NHttpServerConnection)"><B>timeout(NHttpServerConnection)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.html" title="class in org.apache.http.nio.protocol">ThrottlingHttpServiceHandler</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html#timeout(org.apache.http.nio.reactor.IOSession)"><B>timeout(IOSession)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOEventDispatch.html" title="interface in org.apache.http.nio.reactor">IOEventDispatch</A>
<DD>Triggered when the given session as timed out.
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequestCallback.html#timeout(org.apache.http.nio.reactor.SessionRequest)"><B>timeout(SessionRequest)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequestCallback.html" title="interface in org.apache.http.nio.reactor">SessionRequestCallback</A>
<DD>Triggered if a <A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor"><CODE>SessionRequest</CODE></A> times out.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#timeoutCheck(java.nio.channels.SelectionKey, long)"><B>timeoutCheck(SelectionKey, long)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Triggered to verify whether the I/O session associated with the
 given selection key has not timed out.
<DT><A HREF="./org/apache/http/util/ByteArrayBuffer.html#toByteArray()"><B>toByteArray()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/ByteArrayBuffer.html" title="class in org.apache.http.util">ByteArrayBuffer</A>
<DD>Converts the content of this buffer to an array of bytes.
<DT><A HREF="./org/apache/http/util/EntityUtils.html#toByteArray(org.apache.http.HttpEntity)"><B>toByteArray(HttpEntity)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EntityUtils.html" title="class in org.apache.http.util">EntityUtils</A>
<DD>Read the contents of an entity and return it as a byte array.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#toCharArray()"><B>toCharArray()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>Converts the content of this buffer to an array of chars.
<DT><A HREF="./org/apache/http/HttpHost.html#toHostString()"><B>toHostString()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>Obtains the host string, without scheme prefix.
<DT><A HREF="./org/apache/http/TokenIterator.html" title="interface in org.apache.http"><B>TokenIterator</B></A> - Interface in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>An iterator for <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="class or interface in java.lang"><CODE>String</CODE></A> tokens.<DT><A HREF="./org/apache/http/entity/ContentType.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>Converts a ContentType to a string which can be used as a ContentType header.
<DT><A HREF="./org/apache/http/HttpHost.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/ChunkDecoder.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/ChunkDecoder.html" title="class in org.apache.http.impl.nio.codecs">ChunkDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/ChunkEncoder.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/ChunkEncoder.html" title="class in org.apache.http.impl.nio.codecs">ChunkEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/IdentityDecoder.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/IdentityDecoder.html" title="class in org.apache.http.impl.nio.codecs">IdentityDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/IdentityEncoder.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/IdentityEncoder.html" title="class in org.apache.http.impl.nio.codecs">IdentityEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.html" title="class in org.apache.http.impl.nio.codecs">LengthDelimitedDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.html" title="class in org.apache.http.impl.nio.codecs">LengthDelimitedEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.nio.<A HREF="./org/apache/http/impl/nio/NHttpConnectionBase.html" title="class in org.apache.http.impl.nio">NHttpConnectionBase</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/ExceptionEvent.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ExceptionEvent.html" title="class in org.apache.http.impl.nio.reactor">ExceptionEvent</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOReactorConfig.html" title="class in org.apache.http.impl.nio.reactor">IOReactorConfig</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/IOSessionImpl.html" title="class in org.apache.http.impl.nio.reactor">IOSessionImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpClientConnection.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpClientConnection.html" title="class in org.apache.http.impl">SocketHttpClientConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/SocketHttpServerConnection.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.impl.<A HREF="./org/apache/http/impl/SocketHttpServerConnection.html" title="class in org.apache.http.impl">SocketHttpServerConnection</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeader.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeader.html" title="class in org.apache.http.message">BasicHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHeaderElement.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderElement.html" title="class in org.apache.http.message">BasicHeaderElement</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHttpRequest.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpRequest.html" title="class in org.apache.http.message">BasicHttpRequest</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicHttpResponse.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHttpResponse.html" title="class in org.apache.http.message">BasicHttpResponse</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicNameValuePair.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicNameValuePair.html" title="class in org.apache.http.message">BasicNameValuePair</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicRequestLine.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicRequestLine.html" title="class in org.apache.http.message">BasicRequestLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BasicStatusLine.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicStatusLine.html" title="class in org.apache.http.message">BasicStatusLine</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/BufferedHeader.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/BufferedHeader.html" title="class in org.apache.http.message">BufferedHeader</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/ParserCursor.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/ParserCursor.html" title="class in org.apache.http.message">ParserCursor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLIOSession.html" title="class in org.apache.http.nio.reactor.ssl">SSLIOSession</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/ExpandableBuffer.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ExpandableBuffer.html" title="class in org.apache.http.nio.util">ExpandableBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/AbstractConnPool.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/AbstractConnPool.html" title="class in org.apache.http.pool">AbstractConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/pool/PoolStats.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolStats.html" title="class in org.apache.http.pool">PoolStats</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/BasicHttpContext.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/BasicHttpContext.html" title="class in org.apache.http.protocol">BasicHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/DefaultedHttpContext.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/DefaultedHttpContext.html" title="class in org.apache.http.protocol">DefaultedHttpContext</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/ProtocolVersion.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/ProtocolVersion.html" title="class in org.apache.http">ProtocolVersion</A>
<DD>Converts this protocol version to a string.
<DT><A HREF="./org/apache/http/util/CharArrayBuffer.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/CharArrayBuffer.html" title="class in org.apache.http.util">CharArrayBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/util/EntityUtils.html#toString(org.apache.http.HttpEntity, java.nio.charset.Charset)"><B>toString(HttpEntity, Charset)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EntityUtils.html" title="class in org.apache.http.util">EntityUtils</A>
<DD>Get the entity content as a String, using the provided default character set
 if none is found in the entity.
<DT><A HREF="./org/apache/http/util/EntityUtils.html#toString(org.apache.http.HttpEntity, java.lang.String)"><B>toString(HttpEntity, String)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EntityUtils.html" title="class in org.apache.http.util">EntityUtils</A>
<DD>Get the entity content as a String, using the provided default character set
 if none is found in the entity.
<DT><A HREF="./org/apache/http/util/EntityUtils.html#toString(org.apache.http.HttpEntity)"><B>toString(HttpEntity)</B></A> - 
Static method in class org.apache.http.util.<A HREF="./org/apache/http/util/EntityUtils.html" title="class in org.apache.http.util">EntityUtils</A>
<DD>Read the contents of an entity and return it as a String.
<DT><A HREF="./org/apache/http/util/VersionInfo.html#toString()"><B>toString()</B></A> - 
Method in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>Provides the version information in human-readable format.
<DT><A HREF="./org/apache/http/HttpHost.html#toURI()"><B>toURI()</B></A> - 
Method in class org.apache.http.<A HREF="./org/apache/http/HttpHost.html" title="class in org.apache.http">HttpHost</A>
<DD>Return the host URI, as a string.
<DT><A HREF="./org/apache/http/HttpHeaders.html#TRAILER"><B>TRAILER</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.40
<DT><A HREF="./org/apache/http/impl/nio/codecs/IdentityDecoder.html#transfer(java.nio.channels.FileChannel, long, long)"><B>transfer(FileChannel, long, long)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/IdentityDecoder.html" title="class in org.apache.http.impl.nio.codecs">IdentityDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/IdentityEncoder.html#transfer(java.nio.channels.FileChannel, long, long)"><B>transfer(FileChannel, long, long)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/IdentityEncoder.html" title="class in org.apache.http.impl.nio.codecs">IdentityEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.html#transfer(java.nio.channels.FileChannel, long, long)"><B>transfer(FileChannel, long, long)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedDecoder.html" title="class in org.apache.http.impl.nio.codecs">LengthDelimitedDecoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.html#transfer(java.nio.channels.FileChannel, long, long)"><B>transfer(FileChannel, long, long)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.html" title="class in org.apache.http.impl.nio.codecs">LengthDelimitedEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/FileContentDecoder.html#transfer(java.nio.channels.FileChannel, long, long)"><B>transfer(FileChannel, long, long)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/FileContentDecoder.html" title="interface in org.apache.http.nio">FileContentDecoder</A>
<DD>Transfers a portion of entity content from the underlying network channel
 into the given file channel.<br>

 <b>Warning</b>: Many implementations cannot write beyond the length of the file.
<DT><A HREF="./org/apache/http/nio/FileContentEncoder.html#transfer(java.nio.channels.FileChannel, long, long)"><B>transfer(FileChannel, long, long)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/FileContentEncoder.html" title="interface in org.apache.http.nio">FileContentEncoder</A>
<DD>Transfers a portion of entity content from the given file channel
 to the underlying network channel.
<DT><A HREF="./org/apache/http/HttpHeaders.html#TRANSFER_ENCODING"><B>TRANSFER_ENCODING</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.41
<DT><A HREF="./org/apache/http/protocol/HTTP.html#TRANSFER_ENCODING"><B>TRANSFER_ENCODING</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>HTTP header definitions
<DT><A HREF="./org/apache/http/TruncatedChunkException.html" title="class in org.apache.http"><B>TruncatedChunkException</B></A> - Exception in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Signals a truncated chunk in a chunked stream.<DT><A HREF="./org/apache/http/TruncatedChunkException.html#TruncatedChunkException(java.lang.String)"><B>TruncatedChunkException(String)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/TruncatedChunkException.html" title="class in org.apache.http">TruncatedChunkException</A>
<DD>Creates a TruncatedChunkException with the specified detail message.
</DL>
<HR>
<A NAME="_U_"><!-- --></A><H2>
<B>U</B></H2>
<DL>
<DT><A HREF="./org/apache/http/util/VersionInfo.html#UNAVAILABLE"><B>UNAVAILABLE</B></A> - 
Static variable in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>A string constant for unavailable information.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html#unregister(java.lang.String)"><B>unregister(String)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">HttpAsyncRequestHandlerRegistry</A>
<DD>Removes registered handler, if exists, for the given pattern.
<DT><A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html#unregister(java.lang.String)"><B>unregister(String)</B></A> - 
Method in class org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/NHttpRequestHandlerRegistry.html" title="class in org.apache.http.nio.protocol">NHttpRequestHandlerRegistry</A>
<DD><B>Deprecated.</B>&nbsp;Removes registered handler, if exists, for the given pattern.
<DT><A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html#unregister(java.lang.String)"><B>unregister(String)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpRequestHandlerRegistry.html" title="class in org.apache.http.protocol">HttpRequestHandlerRegistry</A>
<DD>Removes registered handler, if exists, for the given pattern.
<DT><A HREF="./org/apache/http/protocol/UriPatternMatcher.html#unregister(java.lang.String)"><B>unregister(String)</B></A> - 
Method in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/UriPatternMatcher.html" title="class in org.apache.http.protocol">UriPatternMatcher</A>
<DD>Removes registered object, if exists, for the given pattern.
<DT><A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html#UNSAFE_CHARS"><B>UNSAFE_CHARS</B></A> - 
Static variable in class org.apache.http.message.<A HREF="./org/apache/http/message/BasicHeaderValueFormatter.html" title="class in org.apache.http.message">BasicHeaderValueFormatter</A>
<DD>Unsafe special characters that must be escaped using the backslash
 character
<DT><A HREF="./org/apache/http/UnsupportedHttpVersionException.html" title="class in org.apache.http"><B>UnsupportedHttpVersionException</B></A> - Exception in <A HREF="./org/apache/http/package-summary.html">org.apache.http</A><DD>Signals an unsupported version of the HTTP protocol.<DT><A HREF="./org/apache/http/UnsupportedHttpVersionException.html#UnsupportedHttpVersionException()"><B>UnsupportedHttpVersionException()</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/UnsupportedHttpVersionException.html" title="class in org.apache.http">UnsupportedHttpVersionException</A>
<DD>Creates an exception without a detail message.
<DT><A HREF="./org/apache/http/UnsupportedHttpVersionException.html#UnsupportedHttpVersionException(java.lang.String)"><B>UnsupportedHttpVersionException(String)</B></A> - 
Constructor for exception org.apache.http.<A HREF="./org/apache/http/UnsupportedHttpVersionException.html" title="class in org.apache.http">UnsupportedHttpVersionException</A>
<DD>Creates an exception with the specified detail message.
<DT><A HREF="./org/apache/http/pool/PoolEntry.html#updateExpiry(long, java.util.concurrent.TimeUnit)"><B>updateExpiry(long, TimeUnit)</B></A> - 
Method in class org.apache.http.pool.<A HREF="./org/apache/http/pool/PoolEntry.html" title="class in org.apache.http.pool">PoolEntry</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/message/HeaderGroup.html#updateHeader(org.apache.http.Header)"><B>updateHeader(Header)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/HeaderGroup.html" title="class in org.apache.http.message">HeaderGroup</A>
<DD>Replaces the first occurence of the header with the same name.
<DT><A HREF="./org/apache/http/message/ParserCursor.html#updatePos(int)"><B>updatePos(int)</B></A> - 
Method in class org.apache.http.message.<A HREF="./org/apache/http/message/ParserCursor.html" title="class in org.apache.http.message">ParserCursor</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#UPGRADE"><B>UPGRADE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.42
<DT><A HREF="./org/apache/http/protocol/UriPatternMatcher.html" title="class in org.apache.http.protocol"><B>UriPatternMatcher</B></A>&lt;<A HREF="./org/apache/http/protocol/UriPatternMatcher.html" title="type parameter in UriPatternMatcher">T</A>&gt; - Class in <A HREF="./org/apache/http/protocol/package-summary.html">org.apache.http.protocol</A><DD>Maintains a map of objects keyed by a request URI pattern.<DT><A HREF="./org/apache/http/protocol/UriPatternMatcher.html#UriPatternMatcher()"><B>UriPatternMatcher()</B></A> - 
Constructor for class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/UriPatternMatcher.html" title="class in org.apache.http.protocol">UriPatternMatcher</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#US_ASCII"><B>US_ASCII</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/params/CoreProtocolPNames.html#USE_EXPECT_CONTINUE"><B>USE_EXPECT_CONTINUE</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreProtocolPNames.html" title="interface in org.apache.http.params">CoreProtocolPNames</A>
<DD>
 Activates 'Expect: 100-Continue' handshake for the
 entity enclosing methods.
<DT><A HREF="./org/apache/http/params/HttpProtocolParams.html#useExpectContinue(org.apache.http.params.HttpParams)"><B>useExpectContinue(HttpParams)</B></A> - 
Static method in class org.apache.http.params.<A HREF="./org/apache/http/params/HttpProtocolParams.html" title="class in org.apache.http.params">HttpProtocolParams</A>
<DD>Obtains value of the <A HREF="./org/apache/http/params/CoreProtocolPNames.html#USE_EXPECT_CONTINUE"><CODE>CoreProtocolPNames.USE_EXPECT_CONTINUE</CODE></A> parameter.
<DT><A HREF="./org/apache/http/HttpHeaders.html#USER_AGENT"><B>USER_AGENT</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.15, RFC 2616 (HTTP/1.1) Section 14.43
<DT><A HREF="./org/apache/http/params/CoreProtocolPNames.html#USER_AGENT"><B>USER_AGENT</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreProtocolPNames.html" title="interface in org.apache.http.params">CoreProtocolPNames</A>
<DD>Defines the content of the <code>User-Agent</code> header.
<DT><A HREF="./org/apache/http/protocol/HTTP.html#USER_AGENT"><B>USER_AGENT</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#UTF_16"><B>UTF_16</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
<DT><A HREF="./org/apache/http/Consts.html#UTF_8"><B>UTF_8</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/Consts.html" title="class in org.apache.http">Consts</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/protocol/HTTP.html#UTF_8"><B>UTF_8</B></A> - 
Static variable in class org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HTTP.html" title="class in org.apache.http.protocol">HTTP</A>
<DD><B>Deprecated.</B>&nbsp;<I>(4.2)</I>
</DL>
<HR>
<A NAME="_V_"><!-- --></A><H2>
<B>V</B></H2>
<DL>
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#validate(java.util.Set)"><B>validate(Set&lt;SelectionKey&gt;)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<DD>Triggered to validate keys currently registered with the selector.
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#validate(java.util.Set)"><B>validate(Set&lt;SelectionKey&gt;)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>Verifies whether any of the sessions associated with the given selection
 keys timed out by invoking the <A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#timeoutCheck(java.nio.channels.SelectionKey, long)"><CODE>AbstractIOReactor.timeoutCheck(SelectionKey, long)</CODE></A>
 method.
<DT><A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html#validatePendingRequests()"><B>validatePendingRequests()</B></A> - 
Method in class org.apache.http.nio.pool.<A HREF="./org/apache/http/nio/pool/AbstractNIOConnPool.html" title="class in org.apache.http.nio.pool">AbstractNIOConnPool</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SSLMode.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
Static method in enum org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SSLMode.html" title="enum in org.apache.http.impl.nio.reactor">SSLMode</A>
<DD><B>Deprecated.</B>&nbsp;Returns the enum constant of this type with the specified name.
<DT><A HREF="./org/apache/http/nio/reactor/IOReactorStatus.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
Static method in enum org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOReactorStatus.html" title="enum in org.apache.http.nio.reactor">IOReactorStatus</A>
<DD>Returns the enum constant of this type with the specified name.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLMode.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
Static method in enum org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLMode.html" title="enum in org.apache.http.nio.reactor.ssl">SSLMode</A>
<DD>Returns the enum constant of this type with the specified name.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SSLMode.html#values()"><B>values()</B></A> - 
Static method in enum org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SSLMode.html" title="enum in org.apache.http.impl.nio.reactor">SSLMode</A>
<DD><B>Deprecated.</B>&nbsp;Returns an array containing the constants of this enum type, in
the order they're declared.
<DT><A HREF="./org/apache/http/nio/reactor/IOReactorStatus.html#values()"><B>values()</B></A> - 
Static method in enum org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/IOReactorStatus.html" title="enum in org.apache.http.nio.reactor">IOReactorStatus</A>
<DD>Returns an array containing the constants of this enum type, in
the order they're declared.
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLMode.html#values()"><B>values()</B></A> - 
Static method in enum org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLMode.html" title="enum in org.apache.http.nio.reactor.ssl">SSLMode</A>
<DD>Returns an array containing the constants of this enum type, in
the order they're declared.
<DT><A HREF="./org/apache/http/HttpHeaders.html#VARY"><B>VARY</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.44
<DT><A HREF="./org/apache/http/impl/nio/reactor/SSLIOSessionHandler.html#verify(java.net.SocketAddress, javax.net.ssl.SSLSession)"><B>verify(SocketAddress, SSLSession)</B></A> - 
Method in interface org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SSLIOSessionHandler.html" title="interface in org.apache.http.impl.nio.reactor">SSLIOSessionHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the SSL connection has been established and initial SSL
 handshake has been successfully completed.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SSLSetupHandler.html#verify(org.apache.http.nio.reactor.IOSession, javax.net.ssl.SSLSession)"><B>verify(IOSession, SSLSession)</B></A> - 
Method in interface org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SSLSetupHandler.html" title="interface in org.apache.http.impl.nio.reactor">SSLSetupHandler</A>
<DD><B>Deprecated.</B>&nbsp;Triggered when the SSL connection has been established and initial SSL
 handshake has been successfully completed.
<DT><A HREF="./org/apache/http/nio/protocol/HttpAsyncExpectationVerifier.html#verify(org.apache.http.nio.protocol.HttpAsyncExchange, org.apache.http.protocol.HttpContext)"><B>verify(HttpAsyncExchange, HttpContext)</B></A> - 
Method in interface org.apache.http.nio.protocol.<A HREF="./org/apache/http/nio/protocol/HttpAsyncExpectationVerifier.html" title="interface in org.apache.http.nio.protocol">HttpAsyncExpectationVerifier</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ssl/SSLSetupHandler.html#verify(org.apache.http.nio.reactor.IOSession, javax.net.ssl.SSLSession)"><B>verify(IOSession, SSLSession)</B></A> - 
Method in interface org.apache.http.nio.reactor.ssl.<A HREF="./org/apache/http/nio/reactor/ssl/SSLSetupHandler.html" title="interface in org.apache.http.nio.reactor.ssl">SSLSetupHandler</A>
<DD>Triggered when the SSL connection has been established and initial SSL
 handshake has been successfully completed.
<DT><A HREF="./org/apache/http/protocol/HttpExpectationVerifier.html#verify(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext)"><B>verify(HttpRequest, HttpResponse, HttpContext)</B></A> - 
Method in interface org.apache.http.protocol.<A HREF="./org/apache/http/protocol/HttpExpectationVerifier.html" title="interface in org.apache.http.protocol">HttpExpectationVerifier</A>
<DD>Verifies whether the given request meets the server's expectations.
<DT><A HREF="./org/apache/http/util/VersionInfo.html#VERSION_PROPERTY_FILE"><B>VERSION_PROPERTY_FILE</B></A> - 
Static variable in class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>The filename of the version information files.
<DT><A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util"><B>VersionInfo</B></A> - Class in <A HREF="./org/apache/http/util/package-summary.html">org.apache.http.util</A><DD>Provides access to version information for HTTP components.<DT><A HREF="./org/apache/http/util/VersionInfo.html#VersionInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)"><B>VersionInfo(String, String, String, String, String)</B></A> - 
Constructor for class org.apache.http.util.<A HREF="./org/apache/http/util/VersionInfo.html" title="class in org.apache.http.util">VersionInfo</A>
<DD>Instantiates version information.
<DT><A HREF="./org/apache/http/HttpHeaders.html#VIA"><B>VIA</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.45
</DL>
<HR>
<A NAME="_W_"><!-- --></A><H2>
<B>W</B></H2>
<DL>
<DT><A HREF="./org/apache/http/params/CoreProtocolPNames.html#WAIT_FOR_CONTINUE"><B>WAIT_FOR_CONTINUE</B></A> - 
Static variable in interface org.apache.http.params.<A HREF="./org/apache/http/params/CoreProtocolPNames.html" title="interface in org.apache.http.params">CoreProtocolPNames</A>
<DD>
 Defines the maximum period of time in milliseconds the client should spend
 waiting for a 100-continue response.
<DT><A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html#waitFor()"><B>waitFor()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/ListenerEndpointImpl.html" title="class in org.apache.http.impl.nio.reactor">ListenerEndpointImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html#waitFor()"><B>waitFor()</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionRequestImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionRequestImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html#waitFor()"><B>waitFor()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/ListenerEndpoint.html" title="interface in org.apache.http.nio.reactor">ListenerEndpoint</A>
<DD>Waits for completion of initialization process of this endpoint.
<DT><A HREF="./org/apache/http/nio/reactor/SessionRequest.html#waitFor()"><B>waitFor()</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionRequest.html" title="interface in org.apache.http.nio.reactor">SessionRequest</A>
<DD>Waits for completion of this session request.
<DT><A HREF="./org/apache/http/nio/util/SharedInputBuffer.html#waitForData()"><B>waitForData()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedInputBuffer.html" title="class in org.apache.http.nio.util">SharedInputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#WARNING"><B>WARNING</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 2616 (HTTP/1.1) Section 14.46
<DT><A HREF="./org/apache/http/entity/ContentType.html#WILDCARD"><B>WILDCARD</B></A> - 
Static variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentType.html" title="class in org.apache.http.entity">ContentType</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html#wrappedEntity"><B>wrappedEntity</B></A> - 
Variable in class org.apache.http.entity.<A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity">HttpEntityWrapper</A>
<DD>The wrapped entity.
<DT><A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html#writable(java.nio.channels.SelectionKey)"><B>writable(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/AbstractIOReactor.html" title="class in org.apache.http.impl.nio.reactor">AbstractIOReactor</A>
<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.
<DT><A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html#writable(java.nio.channels.SelectionKey)"><B>writable(SelectionKey)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/BaseIOReactor.html" title="class in org.apache.http.impl.nio.reactor">BaseIOReactor</A>
<DD>Processes <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> event on the given selection key.
<DT><A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html#write(T)"><B>write(T)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html" title="class in org.apache.http.impl.io">AbstractMessageWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#write(byte[], int, int)"><B>write(byte[], int, int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#write(byte[])"><B>write(byte[])</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#write(int)"><B>write(int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html#write(int)"><B>write(int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io">ChunkedOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html#write(byte[])"><B>write(byte[])</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io">ChunkedOutputStream</A>
<DD>Writes the array.
<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html#write(byte[], int, int)"><B>write(byte[], int, int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io">ChunkedOutputStream</A>
<DD>Writes the array.
<DT><A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html#write(byte[], int, int)"><B>write(byte[], int, int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html" title="class in org.apache.http.impl.io">ContentLengthOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html#write(byte[])"><B>write(byte[])</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html" title="class in org.apache.http.impl.io">ContentLengthOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html#write(int)"><B>write(int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ContentLengthOutputStream.html" title="class in org.apache.http.impl.io">ContentLengthOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/IdentityOutputStream.html#write(byte[], int, int)"><B>write(byte[], int, int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/IdentityOutputStream.html" title="class in org.apache.http.impl.io">IdentityOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/IdentityOutputStream.html#write(byte[])"><B>write(byte[])</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/IdentityOutputStream.html" title="class in org.apache.http.impl.io">IdentityOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/IdentityOutputStream.html#write(int)"><B>write(int)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/IdentityOutputStream.html" title="class in org.apache.http.impl.io">IdentityOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html#write(T)"><B>write(T)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/ChunkEncoder.html#write(java.nio.ByteBuffer)"><B>write(ByteBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/ChunkEncoder.html" title="class in org.apache.http.impl.nio.codecs">ChunkEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/IdentityEncoder.html#write(java.nio.ByteBuffer)"><B>write(ByteBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/IdentityEncoder.html" title="class in org.apache.http.impl.nio.codecs">IdentityEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.html#write(java.nio.ByteBuffer)"><B>write(ByteBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/LengthDelimitedEncoder.html" title="class in org.apache.http.impl.nio.codecs">LengthDelimitedEncoder</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html#write(java.nio.ByteBuffer)"><B>write(ByteBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionOutputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html#write(java.nio.channels.ReadableByteChannel)"><B>write(ReadableByteChannel)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionOutputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/HttpMessageWriter.html#write(T)"><B>write(T)</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/HttpMessageWriter.html" title="interface in org.apache.http.io">HttpMessageWriter</A>
<DD>Serializes an instance of <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A> to the underlying data
 sink.
<DT><A HREF="./org/apache/http/io/SessionOutputBuffer.html#write(byte[], int, int)"><B>write(byte[], int, int)</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io">SessionOutputBuffer</A>
<DD>Writes <code>len</code> bytes from the specified byte array
 starting at offset <code>off</code> to this session buffer.
<DT><A HREF="./org/apache/http/io/SessionOutputBuffer.html#write(byte[])"><B>write(byte[])</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io">SessionOutputBuffer</A>
<DD>Writes <code>b.length</code> bytes from the specified byte array
 to this session buffer.
<DT><A HREF="./org/apache/http/io/SessionOutputBuffer.html#write(int)"><B>write(int)</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io">SessionOutputBuffer</A>
<DD>Writes the specified byte to this session buffer.
<DT><A HREF="./org/apache/http/nio/ContentEncoder.html#write(java.nio.ByteBuffer)"><B>write(ByteBuffer)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentEncoder.html" title="interface in org.apache.http.nio">ContentEncoder</A>
<DD>Writes a portion of entity content to the underlying channel.
<DT><A HREF="./org/apache/http/nio/ContentEncoderChannel.html#write(java.nio.ByteBuffer)"><B>write(ByteBuffer)</B></A> - 
Method in class org.apache.http.nio.<A HREF="./org/apache/http/nio/ContentEncoderChannel.html" title="class in org.apache.http.nio">ContentEncoderChannel</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ContentOutputStream.html#write(byte[], int, int)"><B>write(byte[], int, int)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentOutputStream.html" title="class in org.apache.http.nio.entity">ContentOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ContentOutputStream.html#write(byte[])"><B>write(byte[])</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentOutputStream.html" title="class in org.apache.http.nio.entity">ContentOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ContentOutputStream.html#write(int)"><B>write(int)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ContentOutputStream.html" title="class in org.apache.http.nio.entity">ContentOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/NHttpMessageWriter.html#write(T)"><B>write(T)</B></A> - 
Method in interface org.apache.http.nio.<A HREF="./org/apache/http/nio/NHttpMessageWriter.html" title="interface in org.apache.http.nio">NHttpMessageWriter</A>
<DD>Serializes out the HTTP message head.
<DT><A HREF="./org/apache/http/nio/reactor/EventMask.html#WRITE"><B>WRITE</B></A> - 
Static variable in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/EventMask.html" title="interface in org.apache.http.nio.reactor">EventMask</A>
<DD>Interest in data output.
<DT><A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html#write(java.nio.ByteBuffer)"><B>write(ByteBuffer)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionOutputBuffer</A>
<DD>Copies content of the source buffer into this buffer.
<DT><A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html#write(java.nio.channels.ReadableByteChannel)"><B>write(ReadableByteChannel)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionOutputBuffer</A>
<DD>Reads a sequence of bytes from the source channel into this buffer.
<DT><A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html#write(byte[], int, int)"><B>write(byte[], int, int)</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html" title="interface in org.apache.http.nio.util">ContentOutputBuffer</A>
<DD>Writes <code>len</code> bytes from the specified byte array
 starting at offset <code>off</code> to this buffer.
<DT><A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html#write(int)"><B>write(int)</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html" title="interface in org.apache.http.nio.util">ContentOutputBuffer</A>
<DD>Writes the specified byte to this buffer.
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#write(byte[], int, int)"><B>write(byte[], int, int)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#write(byte[])"><B>write(byte[])</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#write(int)"><B>write(int)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html#write(byte[], int, int)"><B>write(byte[], int, int)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html" title="class in org.apache.http.nio.util">SimpleOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html#write(byte[])"><B>write(byte[])</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html" title="class in org.apache.http.nio.util">SimpleOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html#write(int)"><B>write(int)</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html" title="class in org.apache.http.nio.util">SimpleOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html#writeClosingChunk()"><B>writeClosingChunk()</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/ChunkedOutputStream.html" title="class in org.apache.http.impl.io">ChunkedOutputStream</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html#writeCompleted()"><B>writeCompleted()</B></A> - 
Method in interface org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/ContentOutputBuffer.html" title="interface in org.apache.http.nio.util">ContentOutputBuffer</A>
<DD>Indicates the content has been fully written.
<DT><A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html#writeCompleted()"><B>writeCompleted()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SharedOutputBuffer.html" title="class in org.apache.http.nio.util">SharedOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html#writeCompleted()"><B>writeCompleted()</B></A> - 
Method in class org.apache.http.nio.util.<A HREF="./org/apache/http/nio/util/SimpleOutputBuffer.html" title="class in org.apache.http.nio.util">SimpleOutputBuffer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html#writeHeadLine(T)"><B>writeHeadLine(T)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractMessageWriter.html" title="class in org.apache.http.impl.io">AbstractMessageWriter</A>
<DD>Subclasses must override this method to write out the first header line
 based on the <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A> passed as a parameter.
<DT><A HREF="./org/apache/http/impl/io/HttpRequestWriter.html#writeHeadLine(org.apache.http.HttpRequest)"><B>writeHeadLine(HttpRequest)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpRequestWriter.html" title="class in org.apache.http.impl.io">HttpRequestWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/io/HttpResponseWriter.html#writeHeadLine(org.apache.http.HttpResponse)"><B>writeHeadLine(HttpResponse)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/HttpResponseWriter.html" title="class in org.apache.http.impl.io">HttpResponseWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html#writeHeadLine(T)"><B>writeHeadLine(T)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/AbstractMessageWriter.html" title="class in org.apache.http.impl.nio.codecs">AbstractMessageWriter</A>
<DD>Writes out the first line of <A HREF="./org/apache/http/HttpMessage.html" title="interface in org.apache.http"><CODE>HttpMessage</CODE></A>.
<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.html#writeHeadLine(org.apache.http.HttpRequest)"><B>writeHeadLine(HttpRequest)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpRequestWriter.html" title="class in org.apache.http.impl.nio.codecs">DefaultHttpRequestWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.html#writeHeadLine(org.apache.http.HttpResponse)"><B>writeHeadLine(HttpResponse)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/DefaultHttpResponseWriter.html" title="class in org.apache.http.impl.nio.codecs">DefaultHttpResponseWriter</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/HttpRequestWriter.html#writeHeadLine(org.apache.http.HttpMessage)"><B>writeHeadLine(HttpMessage)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/HttpRequestWriter.html" title="class in org.apache.http.impl.nio.codecs">HttpRequestWriter</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/codecs/HttpResponseWriter.html#writeHeadLine(org.apache.http.HttpMessage)"><B>writeHeadLine(HttpMessage)</B></A> - 
Method in class org.apache.http.impl.nio.codecs.<A HREF="./org/apache/http/impl/nio/codecs/HttpResponseWriter.html" title="class in org.apache.http.impl.nio.codecs">HttpResponseWriter</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#writeLine(java.lang.String)"><B>writeLine(String)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>Writes characters from the specified string followed by a line delimiter
 to this session buffer.
<DT><A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html#writeLine(org.apache.http.util.CharArrayBuffer)"><B>writeLine(CharArrayBuffer)</B></A> - 
Method in class org.apache.http.impl.io.<A HREF="./org/apache/http/impl/io/AbstractSessionOutputBuffer.html" title="class in org.apache.http.impl.io">AbstractSessionOutputBuffer</A>
<DD>Writes characters from the specified char array followed by a line
 delimiter to this session buffer.
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html#writeLine(org.apache.http.util.CharArrayBuffer)"><B>writeLine(CharArrayBuffer)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionOutputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html#writeLine(java.lang.String)"><B>writeLine(String)</B></A> - 
Method in class org.apache.http.impl.nio.reactor.<A HREF="./org/apache/http/impl/nio/reactor/SessionOutputBufferImpl.html" title="class in org.apache.http.impl.nio.reactor">SessionOutputBufferImpl</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/io/SessionOutputBuffer.html#writeLine(java.lang.String)"><B>writeLine(String)</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io">SessionOutputBuffer</A>
<DD>Writes characters from the specified string followed by a line delimiter
 to this session buffer.
<DT><A HREF="./org/apache/http/io/SessionOutputBuffer.html#writeLine(org.apache.http.util.CharArrayBuffer)"><B>writeLine(CharArrayBuffer)</B></A> - 
Method in interface org.apache.http.io.<A HREF="./org/apache/http/io/SessionOutputBuffer.html" title="interface in org.apache.http.io">SessionOutputBuffer</A>
<DD>Writes characters from the specified char array followed by a line
 delimiter to this session buffer.
<DT><A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html#writeLine(org.apache.http.util.CharArrayBuffer)"><B>writeLine(CharArrayBuffer)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionOutputBuffer</A>
<DD>Copies content of the source buffer into this buffer as one line of text
 including a line delimiter.
<DT><A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html#writeLine(java.lang.String)"><B>writeLine(String)</B></A> - 
Method in interface org.apache.http.nio.reactor.<A HREF="./org/apache/http/nio/reactor/SessionOutputBuffer.html" title="interface in org.apache.http.nio.reactor">SessionOutputBuffer</A>
<DD>Copies content of the given string into this buffer as one line of text
 including a line delimiter.
<DT><A HREF="./org/apache/http/entity/BasicHttpEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BasicHttpEntity.html" title="class in org.apache.http.entity">BasicHttpEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/BufferedHttpEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/BufferedHttpEntity.html" title="class in org.apache.http.entity">BufferedHttpEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ByteArrayEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/ByteArrayEntity.html" title="class in org.apache.http.entity">ByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/ContentProducer.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in interface org.apache.http.entity.<A HREF="./org/apache/http/entity/ContentProducer.html" title="interface in org.apache.http.entity">ContentProducer</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/EntityTemplate.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/EntityTemplate.html" title="class in org.apache.http.entity">EntityTemplate</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/FileEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/FileEntity.html" title="class in org.apache.http.entity">FileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/HttpEntityWrapper.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/HttpEntityWrapper.html" title="class in org.apache.http.entity">HttpEntityWrapper</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/InputStreamEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/InputStreamEntity.html" title="class in org.apache.http.entity">InputStreamEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/SerializableEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/SerializableEntity.html" title="class in org.apache.http.entity">SerializableEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/entity/StringEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.entity.<A HREF="./org/apache/http/entity/StringEntity.html" title="class in org.apache.http.entity">StringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in interface org.apache.http.<A HREF="./org/apache/http/HttpEntity.html" title="interface in org.apache.http">HttpEntity</A>
<DD>Writes the entity content out to the output stream.
<DT><A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/BufferingNHttpEntity.html" title="class in org.apache.http.nio.entity">BufferingNHttpEntity</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/ConsumingNHttpEntityTemplate.html" title="class in org.apache.http.nio.entity">ConsumingNHttpEntityTemplate</A>
<DD><B>Deprecated.</B>&nbsp;&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NByteArrayEntity.html" title="class in org.apache.http.nio.entity">NByteArrayEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NFileEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NFileEntity.html" title="class in org.apache.http.nio.entity">NFileEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NHttpEntityWrapper.html" title="class in org.apache.http.nio.entity">NHttpEntityWrapper</A>
<DD><B>Deprecated.</B>&nbsp;This method throws <A HREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang"><CODE>UnsupportedOperationException</CODE></A>.
<DT><A HREF="./org/apache/http/nio/entity/NStringEntity.html#writeTo(java.io.OutputStream)"><B>writeTo(OutputStream)</B></A> - 
Method in class org.apache.http.nio.entity.<A HREF="./org/apache/http/nio/entity/NStringEntity.html" title="class in org.apache.http.nio.entity">NStringEntity</A>
<DD>&nbsp;
<DT><A HREF="./org/apache/http/HttpHeaders.html#WWW_AUTHENTICATE"><B>WWW_AUTHENTICATE</B></A> - 
Static variable in class org.apache.http.<A HREF="./org/apache/http/HttpHeaders.html" title="class in org.apache.http">HttpHeaders</A>
<DD>RFC 1945 (HTTP/1.0) Section 10.16, RFC 2616 (HTTP/1.1) Section 14.47
</DL>
<HR>
<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_K_">K</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_Q_">Q</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> 

<!-- ======= 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">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./overview-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="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&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;PREV&nbsp;
&nbsp;NEXT</FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="index-all.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>
</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>
