Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / real-world application / jigsaw / WWW / Doc / Programmer / api / org / w3c / www / protocol / http / HttpBasicServer.html
diff --git a/JMCR-Stable/real-world application/jigsaw/WWW/Doc/Programmer/api/org/w3c/www/protocol/http/HttpBasicServer.html b/JMCR-Stable/real-world application/jigsaw/WWW/Doc/Programmer/api/org/w3c/www/protocol/http/HttpBasicServer.html
new file mode 100644 (file)
index 0000000..afb2591
--- /dev/null
@@ -0,0 +1,1287 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
+<!--NewPage-->\r
+<HTML>\r
+<HEAD>\r
+<!-- Generated by javadoc (build 1.5.0_11) on Tue Apr 10 15:02:51 UTC 2007 -->\r
+<TITLE>\r
+HttpBasicServer\r
+</TITLE>\r
+\r
+<META NAME="keywords" CONTENT="org.w3c.www.protocol.http.HttpBasicServer class">\r
+\r
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">\r
+\r
+<SCRIPT type="text/javascript">\r
+function windowTitle()\r
+{\r
+    parent.document.title="HttpBasicServer";\r
+}\r
+</SCRIPT>\r
+<NOSCRIPT>\r
+</NOSCRIPT>\r
+\r
+</HEAD>\r
+\r
+<BODY BGCOLOR="white" onload="windowTitle();">\r
+\r
+\r
+<!-- ========= START OF TOP NAVBAR ======= -->\r
+<A NAME="navbar_top"><!-- --></A>\r
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>\r
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">\r
+<TR>\r
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
+<A NAME="navbar_top_firstrow"><!-- --></A>\r
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">\r
+  <TR ALIGN="center" VALIGN="top">\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
+  </TR>\r
+</TABLE>\r
+</TD>\r
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
+</EM>\r
+</TD>\r
+</TR>\r
+\r
+<TR>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+&nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/Handler.html" title="class in org.w3c.www.protocol.http"><B>PREV CLASS</B></A>&nbsp;\r
+&nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http"><B>NEXT CLASS</B></A></FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+  <A HREF="../../../../../index.html?org/w3c/www/protocol/http/HttpBasicServer.html" target="_top"><B>FRAMES</B></A>  &nbsp;\r
+&nbsp;<A HREF="HttpBasicServer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;\r
+&nbsp;<SCRIPT type="text/javascript">\r
+  <!--\r
+  if(window==top) {\r
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');\r
+  }\r
+  //-->\r
+</SCRIPT>\r
+<NOSCRIPT>\r
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>\r
+</NOSCRIPT>\r
+\r
+\r
+</FONT></TD>\r
+</TR>\r
+<TR>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>\r
+</TR>\r
+</TABLE>\r
+<A NAME="skip-navbar_top"></A>\r
+<!-- ========= END OF TOP NAVBAR ========= -->\r
+\r
+<HR>\r
+<!-- ======== START OF CLASS DATA ======== -->\r
+<H2>\r
+<FONT SIZE="-1">\r
+org.w3c.www.protocol.http</FONT>\r
+<BR>\r
+Class HttpBasicServer</H2>\r
+<PRE>\r
+java.lang.Object\r
+  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">org.w3c.www.protocol.http.HttpServer</A>\r
+      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.w3c.www.protocol.http.HttpBasicServer</B>\r
+</PRE>\r
+<HR>\r
+<DL>\r
+<DT><PRE>public class <B>HttpBasicServer</B><DT>extends <A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></DL>\r
+</PRE>\r
+\r
+<P>\r
+The basic server class, to run requests.\r
+ A server instance (ie an object conforming to the <code>HttpServer</code>\r
+ interface is resposnsible for running all requests to a given host.\r
+ <p>To do so, it manages a connnnection pool (ie a set of available\r
+ connections) which it negotiates with the global HTTP manager. It keeps\r
+ track of the connections it creates in order to serialize requests\r
+ to the target server (when possible). In order to avoid deadlock due\r
+ to implicit ordering of requests, a server that manages persistent\r
+ (ie > 1.0) connections will always be able to open at least two\r
+ connections to the same target.\r
+ <p>Connections are kept track of by the server instance, which maintains\r
+ at all point in time a list of <em>idle</em> connections. The way this is\r
+ done may seem quite tricky, but beleive me, it's the best way I have\r
+ found to handle it (there is here a typical deadlock situation - the same\r
+ which is found in org.w3c.jigsaw.http.Client \r
+ - due to the fact that the server instances need to be locked in order\r
+ to change the connection pool, and at the same time each connection of \r
+ the pool might have to notify the pool  of some events. This can easily\r
+ produce a deadlock...This situation is avoided here, by having the server \r
+ locked only when appropriate...\r
+<P>\r
+\r
+<P>\r
+<HR>\r
+\r
+<P>\r
+<!-- =========== FIELD SUMMARY =========== -->\r
+\r
+<A NAME="field_summary"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">\r
+<B>Field Summary</B></FONT></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#conn_timeout">conn_timeout</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The connectiontimeout for the socket</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#connid">connid</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connections management - Allocate a new connection for this server.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#host">host</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The host name of the server we handle.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/HttpManager.html" title="class in org.w3c.www.protocol.http">HttpManager</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#manager">manager</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our central HTTP manager.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#port">port</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The port number of the server we handle.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected static&nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#RQ_HTTP10">RQ_HTTP10</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Request mode - HTTP/1.0 with no keep-alive support.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected static&nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#RQ_HTTP10_KA">RQ_HTTP10_KA</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Request mode - HTTP/1.0 with keep-alive support.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected static&nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#RQ_HTTP11">RQ_HTTP11</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Request mode - Full HTTP/1.1 compliant mode.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected static&nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#RQ_HTTP11_TS">RQ_HTTP11_TS</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Request mode - Full two stage HTTP/1.1 compliant mode.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected static&nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#RQ_UNKNOWN">RQ_UNKNOWN</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Request mode - Unknown target server.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#timeout">timeout</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The timeout on the socket</TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="fields_inherited_from_class_org.w3c.www.protocol.http.HttpServer"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TH ALIGN="left"><B>Fields inherited from class org.w3c.www.protocol.http.<A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html#state">state</A></CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;\r
+<!-- ========== METHOD SUMMARY =========== -->\r
+\r
+<A NAME="method_summary"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">\r
+<B>Method Summary</B></FONT></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;org.w3c.www.protocol.http.HttpBasicConnection</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#allocateConnection()">allocateConnection</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#deleteConnection(org.w3c.www.protocol.http.HttpConnection)">deleteConnection</A></B>(org.w3c.www.protocol.http.HttpConnection&nbsp;conn)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#doRequest(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)">doRequest</A></B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+          <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exceute given request on given conection, according to server.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;org.w3c.www.protocol.http.HttpBasicConnection</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#getConnection()">getConnection</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connections management - Get an idle connection to run a request.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;short</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#getMajorVersion()">getMajorVersion</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServer implementation - Get this server's major version number.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;short</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#getMinorVersion()">getMinorVersion</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServer implementation - Get this server's minor version number.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#getProtocol()">getProtocol</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServer implementation - Get this servers' protocol.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;int</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#getRequestMode(org.w3c.www.protocol.http.Request)">getRequestMode</A></B>(<A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the current mode of running request for that server.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#http_unknown(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)">http_unknown</A></B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+             <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run that request, we don't know what server we have at the other end.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#http10_ka_run(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)">http10_ka_run</A></B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+              <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run an HTTP/1.0 request that has support for keep alive.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#http10_run(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)">http10_run</A></B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+           <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run a simple HTTP/1.0 request.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#http11_run(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)">http11_run</A></B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+           <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run a fully HTTP/1.1 compliant request.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#http11_ts_run(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)">http11_ts_run</A></B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+              <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run a two stage HTTP/1.1 compliant request.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#initialize(org.w3c.www.protocol.http.HttpManager, org.w3c.www.protocol.http.HttpServerState, java.lang.String, int, int)">initialize</A></B>(<A HREF="../../../../../org/w3c/www/protocol/http/HttpManager.html" title="class in org.w3c.www.protocol.http">HttpManager</A>&nbsp;manager,\r
+           org.w3c.www.protocol.http.HttpServerState&nbsp;state,\r
+           java.lang.String&nbsp;host,\r
+           int&nbsp;port,\r
+           int&nbsp;timeout)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServer implementation - Initialize this server to its target.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#initialize(org.w3c.www.protocol.http.HttpManager, org.w3c.www.protocol.http.HttpServerState, java.lang.String, int, int, int)">initialize</A></B>(<A HREF="../../../../../org/w3c/www/protocol/http/HttpManager.html" title="class in org.w3c.www.protocol.http">HttpManager</A>&nbsp;manager,\r
+           org.w3c.www.protocol.http.HttpServerState&nbsp;state,\r
+           java.lang.String&nbsp;host,\r
+           int&nbsp;port,\r
+           int&nbsp;timeout,\r
+           int&nbsp;conn_timeout)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HttpServer implementation - Initialize this server to its target.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#interruptRequest(org.w3c.www.protocol.http.Request)">interruptRequest</A></B>(<A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interrupt given request, that was launched by ourself.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#isTwoStage_10(org.w3c.www.protocol.http.Request)">isTwoStage_10</A></B>(<A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is this request a two stage request.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#isTwoStage_11(org.w3c.www.protocol.http.Request)">isTwoStage_11</A></B>(<A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is this request a two stage request.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#notifyObserver(org.w3c.www.protocol.http.RequestObserver, org.w3c.www.protocol.http.RequestEvent)">notifyObserver</A></B>(<A HREF="../../../../../org/w3c/www/protocol/http/RequestObserver.html" title="interface in org.w3c.www.protocol.http">RequestObserver</A>&nbsp;obs,\r
+               <A HREF="../../../../../org/w3c/www/protocol/http/RequestEvent.html" title="class in org.w3c.www.protocol.http">RequestEvent</A>&nbsp;evt)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#notifyObserver(org.w3c.www.protocol.http.RequestObserver, org.w3c.www.protocol.http.Request, int)">notifyObserver</A></B>(<A HREF="../../../../../org/w3c/www/protocol/http/RequestObserver.html" title="interface in org.w3c.www.protocol.http">RequestObserver</A>&nbsp;obs,\r
+               <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request,\r
+               int&nbsp;code)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#registerConnection(org.w3c.www.protocol.http.HttpConnection)">registerConnection</A></B>(org.w3c.www.protocol.http.HttpConnection&nbsp;conn)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Connections management - Register a connection as being idle.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#runRequest(org.w3c.www.protocol.http.Request)">runRequest</A></B>(<A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run the given request in synchronous mode.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#setConnTimeout(int)">setConnTimeout</A></B>(int&nbsp;conn_timeout)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the connection timeout for the next connections</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#setHostAddr(java.net.InetAddress[])">setHostAddr</A></B>(java.net.InetAddress[]&nbsp;hostAddrs)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set the inet addresses of this host, and timestamp it\r
+ to avoid caching IPs forever</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#setTimeout(int)">setTimeout</A></B>(int&nbsp;timeout)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the timeout for the next connections</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#toString()">toString</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Display this server into a String.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#unregisterConnection(org.w3c.www.protocol.http.HttpConnection)">unregisterConnection</A></B>(org.w3c.www.protocol.http.HttpConnection&nbsp;conn)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unregister a connection from the idle list.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#updateHostAddr()">updateHostAddr</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;check the validity of the host address\r
+ if invalid, it will update the InetAddress associated with this host</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;void</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../org/w3c/www/protocol/http/HttpBasicServer.html#updateServerInfo(org.w3c.www.protocol.http.Reply)">updateServerInfo</A></B>(<A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A>&nbsp;reply)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A full round-trip has been run with the target server, update infos.</TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="methods_inherited_from_class_org.w3c.www.protocol.http.HttpServer"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TH ALIGN="left"><B>Methods inherited from class org.w3c.www.protocol.http.<A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html#getState()">getState</A></CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;\r
+<P>\r
+\r
+<!-- ============ FIELD DETAIL =========== -->\r
+\r
+<A NAME="field_detail"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">\r
+<B>Field Detail</B></FONT></TH>\r
+</TR>\r
+</TABLE>\r
+\r
+<A NAME="RQ_HTTP11"><!-- --></A><H3>\r
+RQ_HTTP11</H3>\r
+<PRE>\r
+protected static final int <B>RQ_HTTP11</B></PRE>\r
+<DL>\r
+<DD>Request mode - Full HTTP/1.1 compliant mode.\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.w3c.www.protocol.http.HttpBasicServer.RQ_HTTP11">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="RQ_HTTP11_TS"><!-- --></A><H3>\r
+RQ_HTTP11_TS</H3>\r
+<PRE>\r
+protected static final int <B>RQ_HTTP11_TS</B></PRE>\r
+<DL>\r
+<DD>Request mode - Full two stage HTTP/1.1 compliant mode.\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.w3c.www.protocol.http.HttpBasicServer.RQ_HTTP11_TS">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="RQ_HTTP10"><!-- --></A><H3>\r
+RQ_HTTP10</H3>\r
+<PRE>\r
+protected static final int <B>RQ_HTTP10</B></PRE>\r
+<DL>\r
+<DD>Request mode - HTTP/1.0 with no keep-alive support.\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.w3c.www.protocol.http.HttpBasicServer.RQ_HTTP10">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="RQ_HTTP10_KA"><!-- --></A><H3>\r
+RQ_HTTP10_KA</H3>\r
+<PRE>\r
+protected static final int <B>RQ_HTTP10_KA</B></PRE>\r
+<DL>\r
+<DD>Request mode - HTTP/1.0 with keep-alive support.\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.w3c.www.protocol.http.HttpBasicServer.RQ_HTTP10_KA">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="RQ_UNKNOWN"><!-- --></A><H3>\r
+RQ_UNKNOWN</H3>\r
+<PRE>\r
+protected static final int <B>RQ_UNKNOWN</B></PRE>\r
+<DL>\r
+<DD>Request mode - Unknown target server.\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.w3c.www.protocol.http.HttpBasicServer.RQ_UNKNOWN">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="manager"><!-- --></A><H3>\r
+manager</H3>\r
+<PRE>\r
+protected <A HREF="../../../../../org/w3c/www/protocol/http/HttpManager.html" title="class in org.w3c.www.protocol.http">HttpManager</A> <B>manager</B></PRE>\r
+<DL>\r
+<DD>Our central HTTP manager.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="host"><!-- --></A><H3>\r
+host</H3>\r
+<PRE>\r
+protected java.lang.String <B>host</B></PRE>\r
+<DL>\r
+<DD>The host name of the server we handle.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="port"><!-- --></A><H3>\r
+port</H3>\r
+<PRE>\r
+protected int <B>port</B></PRE>\r
+<DL>\r
+<DD>The port number of the server we handle.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="timeout"><!-- --></A><H3>\r
+timeout</H3>\r
+<PRE>\r
+protected int <B>timeout</B></PRE>\r
+<DL>\r
+<DD>The timeout on the socket\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="conn_timeout"><!-- --></A><H3>\r
+conn_timeout</H3>\r
+<PRE>\r
+protected int <B>conn_timeout</B></PRE>\r
+<DL>\r
+<DD>The connectiontimeout for the socket\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="connid"><!-- --></A><H3>\r
+connid</H3>\r
+<PRE>\r
+protected int <B>connid</B></PRE>\r
+<DL>\r
+<DD>Connections management - Allocate a new connection for this server.\r
+ The connection is bound to the next available IP address, so that\r
+ we are able to round-robin on them. If one of the DNS advertized\r
+ IP address fails, we just try the next one, until one of them\r
+ succeed or all of them fail.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+\r
+<!-- ============ METHOD DETAIL ========== -->\r
+\r
+<A NAME="method_detail"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">\r
+<B>Method Detail</B></FONT></TH>\r
+</TR>\r
+</TABLE>\r
+\r
+<A NAME="setHostAddr(java.net.InetAddress[])"><!-- --></A><H3>\r
+setHostAddr</H3>\r
+<PRE>\r
+protected void <B>setHostAddr</B>(java.net.InetAddress[]&nbsp;hostAddrs)</PRE>\r
+<DL>\r
+<DD>set the inet addresses of this host, and timestamp it\r
+ to avoid caching IPs forever\r
+<P>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>hostAddrs,</CODE> - an array of InetAddress</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="updateHostAddr()"><!-- --></A><H3>\r
+updateHostAddr</H3>\r
+<PRE>\r
+protected void <B>updateHostAddr</B>()\r
+                       throws <A HREF="../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http">HttpException</A></PRE>\r
+<DL>\r
+<DD>check the validity of the host address\r
+ if invalid, it will update the InetAddress associated with this host\r
+<P>\r
+<DD><DL>\r
+\r
+<DT><B>Throws:</B>\r
+<DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http">HttpException</A></CODE></DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getProtocol()"><!-- --></A><H3>\r
+getProtocol</H3>\r
+<PRE>\r
+public java.lang.String <B>getProtocol</B>()</PRE>\r
+<DL>\r
+<DD>HttpServer implementation - Get this servers' protocol.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html#getProtocol()">getProtocol</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>A String encoding the protocol used to dialog with the target\r
+ server.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getMajorVersion()"><!-- --></A><H3>\r
+getMajorVersion</H3>\r
+<PRE>\r
+public short <B>getMajorVersion</B>()</PRE>\r
+<DL>\r
+<DD>HttpServer implementation - Get this server's major version number.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html#getMajorVersion()">getMajorVersion</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>The server's major number version, or <strong>-1</strong>\r
+ if still unknown.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getMinorVersion()"><!-- --></A><H3>\r
+getMinorVersion</H3>\r
+<PRE>\r
+public short <B>getMinorVersion</B>()</PRE>\r
+<DL>\r
+<DD>HttpServer implementation - Get this server's minor version number.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html#getMinorVersion()">getMinorVersion</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>The server's minor number version, or <strong>-1</strong>\r
+ if still unknown.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setTimeout(int)"><!-- --></A><H3>\r
+setTimeout</H3>\r
+<PRE>\r
+public void <B>setTimeout</B>(int&nbsp;timeout)</PRE>\r
+<DL>\r
+<DD>Set the timeout for the next connections\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html#setTimeout(int)">setTimeout</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>timeout</CODE> - The timeout in milliseconds</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="setConnTimeout(int)"><!-- --></A><H3>\r
+setConnTimeout</H3>\r
+<PRE>\r
+public void <B>setConnTimeout</B>(int&nbsp;conn_timeout)</PRE>\r
+<DL>\r
+<DD>Set the connection timeout for the next connections\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html#setConnTimeout(int)">setConnTimeout</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>timeout</CODE> - The timeout in milliseconds</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="allocateConnection()"><!-- --></A><H3>\r
+allocateConnection</H3>\r
+<PRE>\r
+protected org.w3c.www.protocol.http.HttpBasicConnection <B>allocateConnection</B>()\r
+                                                                    throws java.io.IOException</PRE>\r
+<DL>\r
+<DD><DL>\r
+\r
+<DT><B>Throws:</B>\r
+<DD><CODE>java.io.IOException</CODE></DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="registerConnection(org.w3c.www.protocol.http.HttpConnection)"><!-- --></A><H3>\r
+registerConnection</H3>\r
+<PRE>\r
+public void <B>registerConnection</B>(org.w3c.www.protocol.http.HttpConnection&nbsp;conn)</PRE>\r
+<DL>\r
+<DD>Connections management - Register a connection as being idle.\r
+ When a connection is created, or when it becomes idle again (after\r
+ having been used to handle a request), it has to be registered back to\r
+ the idle list of connection for the server. All connections\r
+ contained in this idle list are candidates for being elected to handle\r
+ some pending or incoming request to the host we manager.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>conn</CODE> - The connection that is now idle.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="unregisterConnection(org.w3c.www.protocol.http.HttpConnection)"><!-- --></A><H3>\r
+unregisterConnection</H3>\r
+<PRE>\r
+public void <B>unregisterConnection</B>(org.w3c.www.protocol.http.HttpConnection&nbsp;conn)</PRE>\r
+<DL>\r
+<DD>Unregister a connection from the idle list.\r
+ Unregistering a connection means that the server shouldn't keep\r
+ track of it any more. This can happen in two situations:\r
+ <ul>\r
+ <li>The connection won't be reusable, so there is no point\r
+ for the server to try to keep track of it. In this case, the\r
+ connection is forgotten, and the caller will terminate it by invoking\r
+ the connection's input stream close method.\r
+ <li>The connection has successfully handle a connection, and the\r
+ connection is about to be reused. During the time of the request\r
+ processing, the server looses track of this connection, which will\r
+ register itself again when back to idle.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>conn</CODE> - The connection to unregister from the idle list.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="deleteConnection(org.w3c.www.protocol.http.HttpConnection)"><!-- --></A><H3>\r
+deleteConnection</H3>\r
+<PRE>\r
+public void <B>deleteConnection</B>(org.w3c.www.protocol.http.HttpConnection&nbsp;conn)</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getConnection()"><!-- --></A><H3>\r
+getConnection</H3>\r
+<PRE>\r
+protected org.w3c.www.protocol.http.HttpBasicConnection <B>getConnection</B>()\r
+                                                               throws java.io.IOException</PRE>\r
+<DL>\r
+<DD>Connections management - Get an idle connection to run a request.\r
+ The server has been asked to run a new request, and it now wants \r
+ a connection to run it on. This method will try various ways of\r
+ aqcuiring a connection:\r
+ <ul>\r
+ <li>It will look for an idle connection.\r
+ <li>It will then try to negotiate with the HTTP manager the creation\r
+ of a new connection to the target server.\r
+ <li>If this fails too, it will just wait until a connection becomes\r
+ available.\r
+ </ul>\r
+ The connection returned is marked for use (ie it is unregistered from\r
+ the idle connection list), it is up to the caller to make sure that\r
+ if possible, the connection registers itself again to the idle list\r
+ after the processing is done.\r
+ <p>This method can return <strong>null</strong> to indicate to the \r
+ caller that it should try again, in the hope that the target\r
+ server has multiple (different) IP addresses.\r
+<P>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>A connection marked in use, and which should be marked as\r
+ idle after the processing it is use for is done, or <strong>null\r
+ </strong> if a fresh connection cannot be established.\r
+<DT><B>Throws:</B>\r
+<DD><CODE>java.io.IOException</CODE></DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="toString()"><!-- --></A><H3>\r
+toString</H3>\r
+<PRE>\r
+public java.lang.String <B>toString</B>()</PRE>\r
+<DL>\r
+<DD>Display this server into a String.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>A String based representation of the server object.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="updateServerInfo(org.w3c.www.protocol.http.Reply)"><!-- --></A><H3>\r
+updateServerInfo</H3>\r
+<PRE>\r
+protected void <B>updateServerInfo</B>(<A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A>&nbsp;reply)</PRE>\r
+<DL>\r
+<DD>A full round-trip has been run with the target server, update infos.\r
+ Each server instance maintains a set of informations to be reused\r
+ if needed when recontacting the server later. After a full round\r
+ trip has been performed with the server, it is time to update\r
+ the target server version number, and keeps-alive flag.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>reply</CODE> - The first reply we got from this server.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="initialize(org.w3c.www.protocol.http.HttpManager, org.w3c.www.protocol.http.HttpServerState, java.lang.String, int, int)"><!-- --></A><H3>\r
+initialize</H3>\r
+<PRE>\r
+public void <B>initialize</B>(<A HREF="../../../../../org/w3c/www/protocol/http/HttpManager.html" title="class in org.w3c.www.protocol.http">HttpManager</A>&nbsp;manager,\r
+                       org.w3c.www.protocol.http.HttpServerState&nbsp;state,\r
+                       java.lang.String&nbsp;host,\r
+                       int&nbsp;port,\r
+                       int&nbsp;timeout)\r
+                throws <A HREF="../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http">HttpException</A></PRE>\r
+<DL>\r
+<DD>HttpServer implementation - Initialize this server to its target.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html#initialize(org.w3c.www.protocol.http.HttpManager, org.w3c.www.protocol.http.HttpServerState, java.lang.String, int, int)">initialize</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>manager</CODE> - The central HTTP manager.<DD><CODE>state</CODE> - The manager's state for that server.<DD><CODE>host</CODE> - The target server's host name.<DD><CODE>port</CODE> - The target server's port number.<DD><CODE>timeout</CODE> - The timeout for the connection handled by the server\r
+<DT><B>Throws:</B>\r
+<DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http">HttpException</A></CODE> - If the server host couldn't be resolved\r
+ to one or more IP addresses.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="initialize(org.w3c.www.protocol.http.HttpManager, org.w3c.www.protocol.http.HttpServerState, java.lang.String, int, int, int)"><!-- --></A><H3>\r
+initialize</H3>\r
+<PRE>\r
+public void <B>initialize</B>(<A HREF="../../../../../org/w3c/www/protocol/http/HttpManager.html" title="class in org.w3c.www.protocol.http">HttpManager</A>&nbsp;manager,\r
+                       org.w3c.www.protocol.http.HttpServerState&nbsp;state,\r
+                       java.lang.String&nbsp;host,\r
+                       int&nbsp;port,\r
+                       int&nbsp;timeout,\r
+                       int&nbsp;conn_timeout)\r
+                throws <A HREF="../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http">HttpException</A></PRE>\r
+<DL>\r
+<DD>HttpServer implementation - Initialize this server to its target.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html#initialize(org.w3c.www.protocol.http.HttpManager, org.w3c.www.protocol.http.HttpServerState, java.lang.String, int, int, int)">initialize</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>manager</CODE> - The central HTTP manager.<DD><CODE>state</CODE> - The manager's state for that server.<DD><CODE>host</CODE> - The target server's host name.<DD><CODE>port</CODE> - The target server's port number.<DD><CODE>timeout</CODE> - The timeout for the connection handled by the server<DD><CODE>timeout</CODE> - The connection timeout in millisecond for the sockets\r
+<DT><B>Throws:</B>\r
+<DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http">HttpException</A></CODE> - If the server host couldn't be resolved\r
+ to one or more IP addresses.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="notifyObserver(org.w3c.www.protocol.http.RequestObserver, org.w3c.www.protocol.http.Request, int)"><!-- --></A><H3>\r
+notifyObserver</H3>\r
+<PRE>\r
+protected void <B>notifyObserver</B>(<A HREF="../../../../../org/w3c/www/protocol/http/RequestObserver.html" title="interface in org.w3c.www.protocol.http">RequestObserver</A>&nbsp;obs,\r
+                              <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request,\r
+                              int&nbsp;code)</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="notifyObserver(org.w3c.www.protocol.http.RequestObserver, org.w3c.www.protocol.http.RequestEvent)"><!-- --></A><H3>\r
+notifyObserver</H3>\r
+<PRE>\r
+protected void <B>notifyObserver</B>(<A HREF="../../../../../org/w3c/www/protocol/http/RequestObserver.html" title="interface in org.w3c.www.protocol.http">RequestObserver</A>&nbsp;obs,\r
+                              <A HREF="../../../../../org/w3c/www/protocol/http/RequestEvent.html" title="class in org.w3c.www.protocol.http">RequestEvent</A>&nbsp;evt)</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="isTwoStage_10(org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+isTwoStage_10</H3>\r
+<PRE>\r
+protected boolean <B>isTwoStage_10</B>(<A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</PRE>\r
+<DL>\r
+<DD>Is this request a two stage request.\r
+<P>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>A boolean, <strong>true</strong> if the request is two\r
+ stage, <strong>false</strong> otherwise.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="isTwoStage_11(org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+isTwoStage_11</H3>\r
+<PRE>\r
+protected boolean <B>isTwoStage_11</B>(<A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</PRE>\r
+<DL>\r
+<DD>Is this request a two stage request.\r
+<P>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>A boolean, <strong>true</strong> if the request is two\r
+ stage, <strong>false</strong> otherwise.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="getRequestMode(org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+getRequestMode</H3>\r
+<PRE>\r
+protected int <B>getRequestMode</B>(<A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</PRE>\r
+<DL>\r
+<DD>Get the current mode of running request for that server.\r
+ This method check our knowledge of the target server, and deduce\r
+ the mode in which the given request should be run.\r
+<P>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>An integer code, indicating the mode in which the request should\r
+ be run:\r
+ <dl>\r
+ <dt>RQ_HTTP11<dl>The request should be run as an HTTP/1.1 request.\r
+ <dt>RQ_HTTP10<dl>The request should be run as an HTTP/1.0 request.\r
+ <dt>RQ_HTTP10_KA<dl>HTTP/1.0 with keep-alive support.\r
+ <dt>RQ_UNKNOWN</dl>This is the first request, we don't know yet.\r
+ </dl></DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="http11_run(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+http11_run</H3>\r
+<PRE>\r
+protected <A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A> <B>http11_run</B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+                           <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)\r
+                    throws java.io.IOException,\r
+                           <A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></PRE>\r
+<DL>\r
+<DD>Run a fully HTTP/1.1 compliant request.\r
+ This request has no body, so we can do whatever we want with it,\r
+ and retry as many time as we want.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>conn</CODE> - The connection to run the request on.<DD><CODE>request</CODE> - The request to run.\r
+<DT><B>Returns:</B><DD>A Reply instance, if success; <strong>null</strong> if the \r
+ request should be retried.\r
+<DT><B>Throws:</B>\r
+<DD><CODE>java.io.IOException</CODE> - If some IO error occured.\r
+<DD><CODE><A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></CODE> - If some MIME parsing error occured.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="http11_ts_run(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+http11_ts_run</H3>\r
+<PRE>\r
+protected <A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A> <B>http11_ts_run</B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+                              <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)\r
+                       throws java.io.IOException,\r
+                              <A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></PRE>\r
+<DL>\r
+<DD>Run a two stage HTTP/1.1 compliant request.\r
+ The neat thing about this sort of request is that as they support \r
+ <strong>100</strong> status codes, we <em>know</em> when we have\r
+ to retry them.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>conn</CODE> - The connection to run the request on.<DD><CODE>request</CODE> - The request to run.\r
+<DT><B>Returns:</B><DD>A Reply instance, if success; <strong>null</strong> if the \r
+ request should be retried.\r
+<DT><B>Throws:</B>\r
+<DD><CODE>java.io.IOException</CODE> - If some IO error occured.\r
+<DD><CODE><A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></CODE> - If some MIME parsing error occured.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="http10_ka_run(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+http10_ka_run</H3>\r
+<PRE>\r
+protected <A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A> <B>http10_ka_run</B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+                              <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)\r
+                       throws java.io.IOException,\r
+                              <A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></PRE>\r
+<DL>\r
+<DD>Run an HTTP/1.0 request that has support for keep alive.\r
+ This kind of request are the worst one with regard to the retry \r
+ strategy we can adopt.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>conn</CODE> - The connection to run the request on.<DD><CODE>request</CODE> - The request to run.\r
+<DT><B>Returns:</B><DD>A Reply instance, if success; <strong>null</strong> if the \r
+ request should be retried.\r
+<DT><B>Throws:</B>\r
+<DD><CODE>java.io.IOException</CODE> - If some IO error occured.\r
+<DD><CODE><A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></CODE> - If some MIME parsing error occured.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="http10_run(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+http10_run</H3>\r
+<PRE>\r
+protected <A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A> <B>http10_run</B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+                           <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)\r
+                    throws java.io.IOException,\r
+                           <A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></PRE>\r
+<DL>\r
+<DD>Run a simple HTTP/1.0 request.\r
+ This server doesn't support keep-alive, we know the connection is\r
+ always fresh, we don't need to go into the retry buisness.\r
+ <p>That's <strong>cool</strong> !\r
+<P>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>conn</CODE> - The connection to run the request on.<DD><CODE>request</CODE> - The request to run.\r
+<DT><B>Returns:</B><DD>A Reply instance, if success; <strong>null</strong> if the \r
+ request should be retried.\r
+<DT><B>Throws:</B>\r
+<DD><CODE>java.io.IOException</CODE> - If some IO error occured.\r
+<DD><CODE><A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></CODE> - If some MIME parsing error occured.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="http_unknown(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+http_unknown</H3>\r
+<PRE>\r
+protected <A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A> <B>http_unknown</B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+                             <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)\r
+                      throws java.io.IOException,\r
+                             <A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></PRE>\r
+<DL>\r
+<DD>Run that request, we don't know what server we have at the other end.\r
+ We know the connection is fresh, we use the <code>http10_run</code>\r
+ and update the server infos by the end of processing.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>conn</CODE> - The connection to run the request on.<DD><CODE>request</CODE> - The request to run.\r
+<DT><B>Returns:</B><DD>A Reply instance, if success; <strong>null</strong> if the \r
+ request should be retried.\r
+<DT><B>Throws:</B>\r
+<DD><CODE>java.io.IOException</CODE> - If some IO error occured.\r
+<DD><CODE><A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></CODE> - If some MIME parsing error occured.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="doRequest(org.w3c.www.protocol.http.HttpBasicConnection, org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+doRequest</H3>\r
+<PRE>\r
+protected <A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A> <B>doRequest</B>(org.w3c.www.protocol.http.HttpBasicConnection&nbsp;conn,\r
+                          <A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)\r
+                   throws java.io.IOException,\r
+                          <A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></PRE>\r
+<DL>\r
+<DD>Exceute given request on given conection, according to server.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>conn</CODE> - The connection to use to run that request.<DD><CODE>request</CODE> - The request to execute.\r
+<DT><B>Throws:</B>\r
+<DD><CODE>java.io.IOException</CODE> - If some IO error occurs, or if the \r
+ request is interrupted.\r
+<DD><CODE><A HREF="../../../../../org/w3c/www/mime/MimeParserException.html" title="class in org.w3c.www.mime">MimeParserException</A></CODE> - If taregt server doesn't conform to \r
+ the HTTP specification.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="interruptRequest(org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+interruptRequest</H3>\r
+<PRE>\r
+protected void <B>interruptRequest</B>(<A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)</PRE>\r
+<DL>\r
+<DD>Interrupt given request, that was launched by ourself.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html#interruptRequest(org.w3c.www.protocol.http.Request)">interruptRequest</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>request</CODE> - The request to interrupt.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="runRequest(org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+runRequest</H3>\r
+<PRE>\r
+public <A HREF="../../../../../org/w3c/www/protocol/http/Reply.html" title="class in org.w3c.www.protocol.http">Reply</A> <B>runRequest</B>(<A HREF="../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request)\r
+                 throws <A HREF="../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http">HttpException</A></PRE>\r
+<DL>\r
+<DD>Run the given request in synchronous mode.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html#runRequest(org.w3c.www.protocol.http.Request)">runRequest</A></CODE> in class <CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpServer.html" title="class in org.w3c.www.protocol.http">HttpServer</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>request</CODE> - The request to run.\r
+<DT><B>Returns:</B><DD>A Reply instance, containing the reply headers, and the \r
+ optional reply entity, to be read by the calling thread.\r
+<DT><B>Throws:</B>\r
+<DD><CODE><A HREF="../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http">HttpException</A></CODE> - If the request processing failed.</DL>\r
+</DD>\r
+</DL>\r
+<!-- ========= END OF CLASS DATA ========= -->\r
+<HR>\r
+\r
+\r
+<!-- ======= START OF BOTTOM NAVBAR ====== -->\r
+<A NAME="navbar_bottom"><!-- --></A>\r
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>\r
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">\r
+<TR>\r
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
+<A NAME="navbar_bottom_firstrow"><!-- --></A>\r
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">\r
+  <TR ALIGN="center" VALIGN="top">\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
+  </TR>\r
+</TABLE>\r
+</TD>\r
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
+</EM>\r
+</TD>\r
+</TR>\r
+\r
+<TR>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+&nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/Handler.html" title="class in org.w3c.www.protocol.http"><B>PREV CLASS</B></A>&nbsp;\r
+&nbsp;<A HREF="../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http"><B>NEXT CLASS</B></A></FONT></TD>\r
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
+  <A HREF="../../../../../index.html?org/w3c/www/protocol/http/HttpBasicServer.html" target="_top"><B>FRAMES</B></A>  &nbsp;\r
+&nbsp;<A HREF="HttpBasicServer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;\r
+&nbsp;<SCRIPT type="text/javascript">\r
+  <!--\r
+  if(window==top) {\r
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');\r
+  }\r
+  //-->\r
+</SCRIPT>\r
+<NOSCRIPT>\r
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>\r
+</NOSCRIPT>\r
+\r
+\r
+</FONT></TD>\r
+</TR>\r
+<TR>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>\r
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>\r
+</TR>\r
+</TABLE>\r
+<A NAME="skip-navbar_bottom"></A>\r
+<!-- ======== END OF BOTTOM NAVBAR ======= -->\r
+\r
+<HR>\r
+\r
+</BODY>\r
+</HTML>\r