Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / mcr-test / WWW / Doc / Programmer / api / org / w3c / www / protocol / http / micp / MICPFilter.html
diff --git a/JMCR-Stable/mcr-test/WWW/Doc/Programmer/api/org/w3c/www/protocol/http/micp/MICPFilter.html b/JMCR-Stable/mcr-test/WWW/Doc/Programmer/api/org/w3c/www/protocol/http/micp/MICPFilter.html
new file mode 100644 (file)
index 0000000..f13c8c5
--- /dev/null
@@ -0,0 +1,1021 @@
+<!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:52 UTC 2007 -->\r
+<TITLE>\r
+MICPFilter\r
+</TITLE>\r
+\r
+<META NAME="keywords" CONTENT="org.w3c.www.protocol.http.micp.MICPFilter 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="MICPFilter";\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/micp/MICP.html" title="interface in org.w3c.www.protocol.http.micp"><B>PREV CLASS</B></A>&nbsp;\r
+&nbsp;<A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPMessage.html" title="class in org.w3c.www.protocol.http.micp"><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/micp/MICPFilter.html" target="_top"><B>FRAMES</B></A>  &nbsp;\r
+&nbsp;<A HREF="MICPFilter.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;<A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&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;<A HREF="#constructor_detail">CONSTR</A>&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.micp</FONT>\r
+<BR>\r
+Class MICPFilter</H2>\r
+<PRE>\r
+java.lang.Object\r
+  <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by ">java.lang.Thread\r
+      <IMG SRC="../../../../../../resources/inherit.gif" ALT="extended by "><B>org.w3c.www.protocol.http.micp.MICPFilter</B>\r
+</PRE>\r
+<DL>\r
+<DT><B>All Implemented Interfaces:</B> <DD>java.lang.Runnable, <A HREF="../../../../../../org/w3c/util/PropertyMonitoring.html" title="interface in org.w3c.util">PropertyMonitoring</A>, <A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICP.html" title="interface in org.w3c.www.protocol.http.micp">MICP</A>, <A HREF="../../../../../../org/w3c/www/protocol/http/PropRequestFilter.html" title="interface in org.w3c.www.protocol.http">PropRequestFilter</A>, <A HREF="../../../../../../org/w3c/www/protocol/http/RequestFilter.html" title="interface in org.w3c.www.protocol.http">RequestFilter</A></DD>\r
+</DL>\r
+<HR>\r
+<DL>\r
+<DT><PRE>public class <B>MICPFilter</B><DT>extends java.lang.Thread<DT>implements <A HREF="../../../../../../org/w3c/www/protocol/http/PropRequestFilter.html" title="interface in org.w3c.www.protocol.http">PropRequestFilter</A>, <A HREF="../../../../../../org/w3c/util/PropertyMonitoring.html" title="interface in org.w3c.util">PropertyMonitoring</A>, <A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICP.html" title="interface in org.w3c.www.protocol.http.micp">MICP</A></DL>\r
+</PRE>\r
+\r
+<P>\r
+<HR>\r
+\r
+<P>\r
+<!-- ======== NESTED CLASS SUMMARY ======== -->\r
+\r
+<A NAME="nested_class_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>Nested Class Summary</B></FONT></TH>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="nested_classes_inherited_from_class_java.lang.Thread"><!-- --></A>\r
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">\r
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.lang.Thread</B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE>java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler</CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;\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;java.net.InetAddress</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#addr">addr</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our multicast group address.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#ADDRESS_P">ADDRESS_P</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties - Our multicast group address.</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/cache/CacheFilter.html" title="class in org.w3c.www.protocol.http.cache">CacheFilter</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#cache">cache</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The CacheFilter we are working for.</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/micp/MICPFilter.html#debug">debug</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our we in debug mode ?</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#DEBUG_P">DEBUG_P</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties - Our debug flag.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#DISABLE_CACHE_P">DISABLE_CACHE_P</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties - disable caching when fetching from a neighbour proxy.</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/micp/MICPFilter.html#disableCache">disableCache</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Should we disablecaching when fetching through a proxy ?</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;byte[]</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#localaddr">localaddr</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our local internet address as a byte array.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;byte[]</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#localproxy">localproxy</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our local proxy address, in a byte array.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;long</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#localsrc">localsrc</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our local internet address, as a long.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#PORT_P">PORT_P</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties - Our own UDP port number.</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/util/ObservableProperties.html" title="class in org.w3c.util">ObservableProperties</A></CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#props">props</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The properties we are initialized from.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#PROXY_P">PROXY_P</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties - location of proxy to redirect to (if success)</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.net.MulticastSocket</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#socket">socket</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our socket to the group.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#STATE_HOW">STATE_HOW</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;State - To mark requests that have been redirected.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#TIMEOUT_P">TIMEOUT_P</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties - Our default timeout value.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>protected &nbsp;long</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#timeoutValue">timeoutValue</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our default timeout value for waiting for replies (in ms).</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/micp/MICPFilter.html#ttl">ttl</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Our TTL for writing packets.</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.util.Vector</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#waiters">waiters</A></B></CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Queue of threads waiting for some replies.</TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="fields_inherited_from_class_java.lang.Thread"><!-- --></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 java.lang.Thread</B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE>MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY</CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="fields_inherited_from_class_org.w3c.www.protocol.http.micp.MICP"><!-- --></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 interface org.w3c.www.protocol.http.micp.<A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICP.html" title="interface in org.w3c.www.protocol.http.micp">MICP</A></B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICP.html#MICP_OP_QUERY">MICP_OP_QUERY</A>, <A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICP.html#MICP_OP_REPLY">MICP_OP_REPLY</A>, <A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICP.html#MICP_VERSION">MICP_VERSION</A></CODE></TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;\r
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->\r
+\r
+<A NAME="constructor_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>Constructor Summary</B></FONT></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#MICPFilter()">MICPFilter</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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.micp.ReplyWaiter</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#addWaiter(int)">addWaiter</A></B>(int&nbsp;id)</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;boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#exceptionFilter(org.w3c.www.protocol.http.Request, org.w3c.www.protocol.http.HttpException)">exceptionFilter</A></B>(<A HREF="../../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request,\r
+                <A HREF="../../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http">HttpException</A>&nbsp;ex)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter doesn't handle exceptions.</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/micp/MICPFilter.html#handle(byte[], int)">handle</A></B>(byte[]&nbsp;buf,\r
+       int&nbsp;len)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Parse and handle the given MICP packet.</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/micp/MICPFilter.html#ingoingFilter(org.w3c.www.protocol.http.Request)">ingoingFilter</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;Our ingoingFilter method.</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/micp/MICPFilter.html#initialize(org.w3c.www.protocol.http.HttpManager)">initialize</A></B>(<A HREF="../../../../../../org/w3c/www/protocol/http/HttpManager.html" title="class in org.w3c.www.protocol.http">HttpManager</A>&nbsp;manager)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize the ICP filter.</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/micp/MICPFilter.html#locateProxy(java.net.URL)">locateProxy</A></B>(java.net.URL&nbsp;u)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Locate some proxy for the given URL.</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.micp.ReplyWaiter</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#lookupWaiter(int)">lookupWaiter</A></B>(int&nbsp;id)</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;<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/micp/MICPFilter.html#outgoingFilter(org.w3c.www.protocol.http.Request, org.w3c.www.protocol.http.Reply)">outgoingFilter</A></B>(<A HREF="../../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request,\r
+               <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;Our outgoingFilter does nothing (at all).</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;boolean</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#propertyChanged(java.lang.String)">propertyChanged</A></B>(java.lang.String&nbsp;name)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The callback method, invoked when any property change occurs.</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/micp/MICPFilter.html#removeWaiter(org.w3c.www.protocol.http.micp.ReplyWaiter)">removeWaiter</A></B>(org.w3c.www.protocol.http.micp.ReplyWaiter&nbsp;w)</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/micp/MICPFilter.html#run()">run</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/micp/MICPFilter.html#sync()">sync</A></B>()</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This filter doesn't maintain dynamic state.</TD>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
+<CODE>&nbsp;java.net.URL</CODE></FONT></TD>\r
+<TD><CODE><B><A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPFilter.html#waitOn(int)">waitOn</A></B>(int&nbsp;id)</CODE>\r
+\r
+<BR>\r
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wait for the reply on this reqiest identifier.</TD>\r
+</TR>\r
+</TABLE>\r
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Thread"><!-- --></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.Thread</B></TH>\r
+</TR>\r
+<TR BGCOLOR="white" CLASS="TableRowColor">\r
+<TD><CODE>activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield</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="STATE_HOW"><!-- --></A><H3>\r
+STATE_HOW</H3>\r
+<PRE>\r
+public static final java.lang.String <B>STATE_HOW</B></PRE>\r
+<DL>\r
+<DD>State - To mark requests that have been redirected.\r
+ This state is set to the URL of the proxy that has been used to run\r
+ the request, if any.\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../../constant-values.html#org.w3c.www.protocol.http.micp.MICPFilter.STATE_HOW">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="DEBUG_P"><!-- --></A><H3>\r
+DEBUG_P</H3>\r
+<PRE>\r
+public static final java.lang.String <B>DEBUG_P</B></PRE>\r
+<DL>\r
+<DD>Properties - Our debug flag.\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../../constant-values.html#org.w3c.www.protocol.http.micp.MICPFilter.DEBUG_P">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="ADDRESS_P"><!-- --></A><H3>\r
+ADDRESS_P</H3>\r
+<PRE>\r
+public static final java.lang.String <B>ADDRESS_P</B></PRE>\r
+<DL>\r
+<DD>Properties - Our multicast group address.\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../../constant-values.html#org.w3c.www.protocol.http.micp.MICPFilter.ADDRESS_P">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="PORT_P"><!-- --></A><H3>\r
+PORT_P</H3>\r
+<PRE>\r
+public static final java.lang.String <B>PORT_P</B></PRE>\r
+<DL>\r
+<DD>Properties - Our own UDP port number.\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../../constant-values.html#org.w3c.www.protocol.http.micp.MICPFilter.PORT_P">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="TIMEOUT_P"><!-- --></A><H3>\r
+TIMEOUT_P</H3>\r
+<PRE>\r
+public static final java.lang.String <B>TIMEOUT_P</B></PRE>\r
+<DL>\r
+<DD>Properties - Our default timeout value.\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../../constant-values.html#org.w3c.www.protocol.http.micp.MICPFilter.TIMEOUT_P">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="DISABLE_CACHE_P"><!-- --></A><H3>\r
+DISABLE_CACHE_P</H3>\r
+<PRE>\r
+public static final java.lang.String <B>DISABLE_CACHE_P</B></PRE>\r
+<DL>\r
+<DD>Properties - disable caching when fetching from a neighbour proxy.\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../../constant-values.html#org.w3c.www.protocol.http.micp.MICPFilter.DISABLE_CACHE_P">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="PROXY_P"><!-- --></A><H3>\r
+PROXY_P</H3>\r
+<PRE>\r
+public static final java.lang.String <B>PROXY_P</B></PRE>\r
+<DL>\r
+<DD>Properties - location of proxy to redirect to (if success)\r
+<P>\r
+<DL>\r
+<DT><B>See Also:</B><DD><A HREF="../../../../../../constant-values.html#org.w3c.www.protocol.http.micp.MICPFilter.PROXY_P">Constant Field Values</A></DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="props"><!-- --></A><H3>\r
+props</H3>\r
+<PRE>\r
+protected <A HREF="../../../../../../org/w3c/util/ObservableProperties.html" title="class in org.w3c.util">ObservableProperties</A> <B>props</B></PRE>\r
+<DL>\r
+<DD>The properties we are initialized from.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="cache"><!-- --></A><H3>\r
+cache</H3>\r
+<PRE>\r
+protected <A HREF="../../../../../../org/w3c/www/protocol/http/cache/CacheFilter.html" title="class in org.w3c.www.protocol.http.cache">CacheFilter</A> <B>cache</B></PRE>\r
+<DL>\r
+<DD>The CacheFilter we are working for.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="timeoutValue"><!-- --></A><H3>\r
+timeoutValue</H3>\r
+<PRE>\r
+protected long <B>timeoutValue</B></PRE>\r
+<DL>\r
+<DD>Our default timeout value for waiting for replies (in ms).\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="debug"><!-- --></A><H3>\r
+debug</H3>\r
+<PRE>\r
+protected boolean <B>debug</B></PRE>\r
+<DL>\r
+<DD>Our we in debug mode ?\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="disableCache"><!-- --></A><H3>\r
+disableCache</H3>\r
+<PRE>\r
+protected boolean <B>disableCache</B></PRE>\r
+<DL>\r
+<DD>Should we disablecaching when fetching through a proxy ?\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="waiters"><!-- --></A><H3>\r
+waiters</H3>\r
+<PRE>\r
+protected java.util.Vector <B>waiters</B></PRE>\r
+<DL>\r
+<DD>Queue of threads waiting for some replies.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="addr"><!-- --></A><H3>\r
+addr</H3>\r
+<PRE>\r
+protected java.net.InetAddress <B>addr</B></PRE>\r
+<DL>\r
+<DD>Our multicast group address.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="localproxy"><!-- --></A><H3>\r
+localproxy</H3>\r
+<PRE>\r
+protected byte[] <B>localproxy</B></PRE>\r
+<DL>\r
+<DD>Our local proxy address, in a byte array.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="localsrc"><!-- --></A><H3>\r
+localsrc</H3>\r
+<PRE>\r
+protected long <B>localsrc</B></PRE>\r
+<DL>\r
+<DD>Our local internet address, as a long.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="localaddr"><!-- --></A><H3>\r
+localaddr</H3>\r
+<PRE>\r
+protected byte[] <B>localaddr</B></PRE>\r
+<DL>\r
+<DD>Our local internet address as a byte array.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="socket"><!-- --></A><H3>\r
+socket</H3>\r
+<PRE>\r
+protected java.net.MulticastSocket <B>socket</B></PRE>\r
+<DL>\r
+<DD>Our socket to the group.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="ttl"><!-- --></A><H3>\r
+ttl</H3>\r
+<PRE>\r
+protected int <B>ttl</B></PRE>\r
+<DL>\r
+<DD>Our TTL for writing packets.\r
+<P>\r
+<DL>\r
+</DL>\r
+</DL>\r
+\r
+<!-- ========= CONSTRUCTOR DETAIL ======== -->\r
+\r
+<A NAME="constructor_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>Constructor Detail</B></FONT></TH>\r
+</TR>\r
+</TABLE>\r
+\r
+<A NAME="MICPFilter()"><!-- --></A><H3>\r
+MICPFilter</H3>\r
+<PRE>\r
+public <B>MICPFilter</B>()</PRE>\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="lookupWaiter(int)"><!-- --></A><H3>\r
+lookupWaiter</H3>\r
+<PRE>\r
+protected final org.w3c.www.protocol.http.micp.ReplyWaiter <B>lookupWaiter</B>(int&nbsp;id)</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="removeWaiter(org.w3c.www.protocol.http.micp.ReplyWaiter)"><!-- --></A><H3>\r
+removeWaiter</H3>\r
+<PRE>\r
+protected final void <B>removeWaiter</B>(org.w3c.www.protocol.http.micp.ReplyWaiter&nbsp;w)</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="addWaiter(int)"><!-- --></A><H3>\r
+addWaiter</H3>\r
+<PRE>\r
+protected final org.w3c.www.protocol.http.micp.ReplyWaiter <B>addWaiter</B>(int&nbsp;id)</PRE>\r
+<DL>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="waitOn(int)"><!-- --></A><H3>\r
+waitOn</H3>\r
+<PRE>\r
+public java.net.URL <B>waitOn</B>(int&nbsp;id)</PRE>\r
+<DL>\r
+<DD>Wait for the reply on this reqiest identifier.\r
+ Don't wait for more than the timeout value.\r
+<P>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+<DD><DL>\r
+\r
+<DT><B>Returns:</B><DD>The replied URL if any, or <strong>null</strong>.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="handle(byte[], int)"><!-- --></A><H3>\r
+handle</H3>\r
+<PRE>\r
+protected void <B>handle</B>(byte[]&nbsp;buf,\r
+                      int&nbsp;len)\r
+               throws java.io.IOException</PRE>\r
+<DL>\r
+<DD>Parse and handle the given MICP packet.\r
+ This method does not use (currently) the reader/writer. The point is \r
+ that on queries, it tries to reuse the receive buffer for output\r
+ (which allows to handle queries without nearly zero allocations).\r
+<P>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>buf</CODE> - The packet.<DD><CODE>len</CODE> - Total length of packet.\r
+<DT><B>Throws:</B>\r
+<DD><CODE>java.io.IOException</CODE></DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="locateProxy(java.net.URL)"><!-- --></A><H3>\r
+locateProxy</H3>\r
+<PRE>\r
+protected int <B>locateProxy</B>(java.net.URL&nbsp;u)\r
+                   throws java.io.IOException</PRE>\r
+<DL>\r
+<DD>Locate some proxy for the given URL.\r
+ Synchronizing this method allows to reuse the emit buffer (kind of\r
+ nice), and anyway, there will be a synchronized point when writting\r
+ to the network (see, I am not convinced)\r
+<P>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>u</CODE> - The URL to locate.\r
+<DT><B>Returns:</B><DD>An integer reply identifier to wait on for the reply.\r
+<DT><B>Throws:</B>\r
+<DD><CODE>java.io.IOException</CODE> - If the multicast group wasn't available.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="propertyChanged(java.lang.String)"><!-- --></A><H3>\r
+propertyChanged</H3>\r
+<PRE>\r
+public boolean <B>propertyChanged</B>(java.lang.String&nbsp;name)</PRE>\r
+<DL>\r
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../../../org/w3c/util/PropertyMonitoring.html#propertyChanged(java.lang.String)">PropertyMonitoring</A></CODE></B></DD>\r
+<DD>The callback method, invoked when any property change occurs.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/w3c/util/PropertyMonitoring.html#propertyChanged(java.lang.String)">propertyChanged</A></CODE> in interface <CODE><A HREF="../../../../../../org/w3c/util/PropertyMonitoring.html" title="interface in org.w3c.util">PropertyMonitoring</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the property that changed.\r
+<DT><B>Returns:</B><DD>A boolean, if <strong>true</strong>, accept the new property\r
+    value, otherwise, reject it and reset the property to its old\r
+    value.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="exceptionFilter(org.w3c.www.protocol.http.Request, org.w3c.www.protocol.http.HttpException)"><!-- --></A><H3>\r
+exceptionFilter</H3>\r
+<PRE>\r
+public boolean <B>exceptionFilter</B>(<A HREF="../../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request,\r
+                               <A HREF="../../../../../../org/w3c/www/protocol/http/HttpException.html" title="class in org.w3c.www.protocol.http">HttpException</A>&nbsp;ex)</PRE>\r
+<DL>\r
+<DD>This filter doesn't handle exceptions.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/w3c/www/protocol/http/RequestFilter.html#exceptionFilter(org.w3c.www.protocol.http.Request, org.w3c.www.protocol.http.HttpException)">exceptionFilter</A></CODE> in interface <CODE><A HREF="../../../../../../org/w3c/www/protocol/http/RequestFilter.html" title="interface in org.w3c.www.protocol.http">RequestFilter</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>request</CODE> - The request that triggered the exception.<DD><CODE>ex</CODE> - The triggered exception.\r
+<DT><B>Returns:</B><DD>Always <strong>false</strong>.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="ingoingFilter(org.w3c.www.protocol.http.Request)"><!-- --></A><H3>\r
+ingoingFilter</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>ingoingFilter</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>Our ingoingFilter method.\r
+ This method emits (only for GET requestst currently) an ICP query\r
+ to all our neighbors, and wait for either one of them to\r
+ reply with a hit, or, our timeout value to expire.\r
+ <p>If a hit reply is received, we then use the corresponding proxy\r
+ to fullfill the request.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/w3c/www/protocol/http/RequestFilter.html#ingoingFilter(org.w3c.www.protocol.http.Request)">ingoingFilter</A></CODE> in interface <CODE><A HREF="../../../../../../org/w3c/www/protocol/http/RequestFilter.html" title="interface in org.w3c.www.protocol.http">RequestFilter</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>request</CODE> - The request that is about to be emitted.\r
+<DT><B>Returns:</B><DD>Always <strong>null</strong>.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="outgoingFilter(org.w3c.www.protocol.http.Request, org.w3c.www.protocol.http.Reply)"><!-- --></A><H3>\r
+outgoingFilter</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>outgoingFilter</B>(<A HREF="../../../../../../org/w3c/www/protocol/http/Request.html" title="class in org.w3c.www.protocol.http">Request</A>&nbsp;request,\r
+                            <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>Our outgoingFilter does nothing (at all).\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/w3c/www/protocol/http/RequestFilter.html#outgoingFilter(org.w3c.www.protocol.http.Request, org.w3c.www.protocol.http.Reply)">outgoingFilter</A></CODE> in interface <CODE><A HREF="../../../../../../org/w3c/www/protocol/http/RequestFilter.html" title="interface in org.w3c.www.protocol.http">RequestFilter</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>request</CODE> - The request that has been processed.<DD><CODE>reply</CODE> - The original reply (from origin server)\r
+<DT><B>Returns:</B><DD>Always <strong>null</strong>.</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="sync()"><!-- --></A><H3>\r
+sync</H3>\r
+<PRE>\r
+public void <B>sync</B>()</PRE>\r
+<DL>\r
+<DD>This filter doesn't maintain dynamic state.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/w3c/www/protocol/http/RequestFilter.html#sync()">sync</A></CODE> in interface <CODE><A HREF="../../../../../../org/w3c/www/protocol/http/RequestFilter.html" title="interface in org.w3c.www.protocol.http">RequestFilter</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="run()"><!-- --></A><H3>\r
+run</H3>\r
+<PRE>\r
+public void <B>run</B>()</PRE>\r
+<DL>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE>run</CODE> in interface <CODE>java.lang.Runnable</CODE><DT><B>Overrides:</B><DD><CODE>run</CODE> in class <CODE>java.lang.Thread</CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+</DL>\r
+</DD>\r
+</DL>\r
+<HR>\r
+\r
+<A NAME="initialize(org.w3c.www.protocol.http.HttpManager)"><!-- --></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
+                throws <A HREF="../../../../../../org/w3c/www/protocol/http/PropRequestFilterException.html" title="class in org.w3c.www.protocol.http">PropRequestFilterException</A></PRE>\r
+<DL>\r
+<DD>Initialize the ICP filter.\r
+ This is where we parse the configuration file in order to know\r
+ about our neighbors. We then register ourself to the HTTP manager.\r
+<P>\r
+<DD><DL>\r
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../../org/w3c/www/protocol/http/PropRequestFilter.html#initialize(org.w3c.www.protocol.http.HttpManager)">initialize</A></CODE> in interface <CODE><A HREF="../../../../../../org/w3c/www/protocol/http/PropRequestFilter.html" title="interface in org.w3c.www.protocol.http">PropRequestFilter</A></CODE></DL>\r
+</DD>\r
+<DD><DL>\r
+<DT><B>Parameters:</B><DD><CODE>manager</CODE> - The HTTP manager.\r
+<DT><B>Throws:</B>\r
+<DD><CODE><A HREF="../../../../../../org/w3c/www/protocol/http/PropRequestFilterException.html" title="class in org.w3c.www.protocol.http">PropRequestFilterException</A></CODE> - If the filter cannot launch\r
+ its server part (listening for incomming ICP requests)</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/micp/MICP.html" title="interface in org.w3c.www.protocol.http.micp"><B>PREV CLASS</B></A>&nbsp;\r
+&nbsp;<A HREF="../../../../../../org/w3c/www/protocol/http/micp/MICPMessage.html" title="class in org.w3c.www.protocol.http.micp"><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/micp/MICPFilter.html" target="_top"><B>FRAMES</B></A>  &nbsp;\r
+&nbsp;<A HREF="MICPFilter.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;<A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&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;<A HREF="#constructor_detail">CONSTR</A>&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