FreePastry/docs/javadoc/rice/p2p/aggregation/AggregationImpl.html

1826 lines
87 KiB
HTML
Raw Normal View History

2019-05-13 16:45:05 +04:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_07) on Fri Mar 13 20:00:57 CET 2009 -->
<TITLE>
AggregationImpl (Rice Pastry - API Specifications)
</TITLE>
<META NAME="date" CONTENT="2009-03-13">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AggregationImpl (Rice Pastry - API Specifications)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AggregationImpl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Rice Pastry API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../rice/p2p/aggregation/AggregationException.html" title="class in rice.p2p.aggregation"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../rice/p2p/aggregation/AggregationPolicy.html" title="interface in rice.p2p.aggregation"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?rice/p2p/aggregation/AggregationImpl.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AggregationImpl.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
rice.p2p.aggregation</FONT>
<BR>
Class AggregationImpl</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>rice.p2p.aggregation.AggregationImpl</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../rice/p2p/aggregation/Aggregation.html" title="interface in rice.p2p.aggregation">Aggregation</A>, <A HREF="../../../rice/p2p/commonapi/Application.html" title="interface in rice.p2p.commonapi">Application</A>, <A HREF="../../../rice/p2p/glacier/VersioningPast.html" title="interface in rice.p2p.glacier">VersioningPast</A>, <A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A>, <A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A>, <A HREF="../../../rice/p2p/util/DebugCommandHandler.html" title="interface in rice.p2p.util">DebugCommandHandler</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>AggregationImpl</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A>, <A HREF="../../../rice/p2p/glacier/VersioningPast.html" title="interface in rice.p2p.glacier">VersioningPast</A>, <A HREF="../../../rice/p2p/aggregation/Aggregation.html" title="interface in rice.p2p.aggregation">Aggregation</A>, <A HREF="../../../rice/p2p/commonapi/Application.html" title="interface in rice.p2p.commonapi">Application</A>, <A HREF="../../../rice/p2p/util/DebugCommandHandler.html" title="interface in rice.p2p.util">DebugCommandHandler</A></DL>
</PRE>
<P>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/aggregation/AggregateFactory.html" title="interface in rice.p2p.aggregation">AggregateFactory</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#aggregateFactory">aggregateFactory</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/aggregation/AggregateList.html" title="class in rice.p2p.aggregation">AggregateList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#aggregateList">aggregateList</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#aggregateStore">aggregateStore</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/past/rawserialization/PastContentDeserializer.html" title="interface in rice.p2p.past.rawserialization">PastContentDeserializer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#contentDeserializer">contentDeserializer</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/past/rawserialization/PastContentHandleDeserializer.html" title="interface in rice.p2p.past.rawserialization">PastContentHandleDeserializer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#contentHandleDeserializer">contentHandleDeserializer</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/commonapi/Endpoint.html" title="interface in rice.p2p.commonapi">Endpoint</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#endpoint">endpoint</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/commonapi/IdFactory.html" title="interface in rice.p2p.commonapi">IdFactory</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#factory">factory</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#flushWait">flushWait</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#instance">instance</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/environment/logging/Logger.html" title="class in rice.environment.logging">Logger</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#logger">logger</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#monitorIDs">monitorIDs</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/commonapi/Node.html" title="interface in rice.p2p.commonapi">Node</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#node">node</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#objectStore">objectStore</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/aggregation/AggregationPolicy.html" title="interface in rice.p2p.aggregation">AggregationPolicy</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#policy">policy</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#rebuildInProgress">rebuildInProgress</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/p2p/aggregation/AggregationStatistics.html" title="class in rice.p2p.aggregation">AggregationStatistics</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#stats">stats</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Hashtable</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#timers">timers</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../rice/persistence/StorageManager.html" title="interface in rice.persistence">StorageManager</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#waitingList">waitingList</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_rice.p2p.past.gc.GCPast"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface rice.p2p.past.gc.<A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html#INFINITY_EXPIRATION">INFINITY_EXPIRATION</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#AggregationImpl(rice.p2p.commonapi.Node, rice.p2p.past.Past, rice.p2p.past.Past, rice.persistence.StorageManager, java.lang.String, rice.p2p.commonapi.IdFactory, java.lang.String)">AggregationImpl</A></B>(<A HREF="../../../rice/p2p/commonapi/Node.html" title="interface in rice.p2p.commonapi">Node</A>&nbsp;node,
<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A>&nbsp;aggregateStore,
<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A>&nbsp;objectStore,
<A HREF="../../../rice/persistence/StorageManager.html" title="interface in rice.persistence">StorageManager</A>&nbsp;waitingList,
java.lang.String&nbsp;configFileName,
<A HREF="../../../rice/p2p/commonapi/IdFactory.html" title="interface in rice.p2p.commonapi">IdFactory</A>&nbsp;factory,
java.lang.String&nbsp;instance)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#AggregationImpl(rice.p2p.commonapi.Node, rice.p2p.past.Past, rice.p2p.past.Past, rice.persistence.StorageManager, java.lang.String, rice.p2p.commonapi.IdFactory, java.lang.String, rice.p2p.aggregation.AggregationPolicy, rice.p2p.aggregation.AggregateFactory)">AggregationImpl</A></B>(<A HREF="../../../rice/p2p/commonapi/Node.html" title="interface in rice.p2p.commonapi">Node</A>&nbsp;node,
<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A>&nbsp;aggregateStore,
<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A>&nbsp;objectStore,
<A HREF="../../../rice/persistence/StorageManager.html" title="interface in rice.persistence">StorageManager</A>&nbsp;waitingList,
java.lang.String&nbsp;configFileName,
<A HREF="../../../rice/p2p/commonapi/IdFactory.html" title="interface in rice.p2p.commonapi">IdFactory</A>&nbsp;factory,
java.lang.String&nbsp;instance,
<A HREF="../../../rice/p2p/aggregation/AggregationPolicy.html" title="interface in rice.p2p.aggregation">AggregationPolicy</A>&nbsp;policy,
<A HREF="../../../rice/p2p/aggregation/AggregateFactory.html" title="interface in rice.p2p.aggregation">AggregateFactory</A>&nbsp;aggregateFactory)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#deliver(rice.p2p.commonapi.Id, rice.p2p.commonapi.Message)">deliver</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
<A HREF="../../../rice/p2p/commonapi/Message.html" title="interface in rice.p2p.commonapi">Message</A>&nbsp;message)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is called on the application at the destination node
for the given id.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#fetch(rice.p2p.past.PastContentHandle, rice.Continuation)">fetch</A></B>(<A HREF="../../../rice/p2p/past/PastContentHandle.html" title="interface in rice.p2p.past">PastContentHandle</A>&nbsp;handle,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the object associated with a given content handle.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#flush(rice.Continuation)">flush</A></B>(<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates aggregates from all objects in the local object cache.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#flush(rice.p2p.commonapi.Id, rice.Continuation)">flush</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an aggregate that includes the most current object
with the specified key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#forward(rice.p2p.commonapi.RouteMessage)">forward</A></B>(<A HREF="../../../rice/p2p/commonapi/RouteMessage.html" title="interface in rice.p2p.commonapi">RouteMessage</A>&nbsp;message)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is invoked on applications when the underlying node
is about to forward the given message with the provided target to
the specified next hop.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#getAggregateStore()">getAggregateStore</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../rice/environment/Environment.html" title="class in rice.environment">Environment</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#getEnvironment()">getEnvironment</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.io.Serializable</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#getHandle()">getHandle</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fetches the handle object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#getInstance()">getInstance</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../rice/p2p/commonapi/NodeHandle.html" title="class in rice.p2p.commonapi">NodeHandle</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#getLocalNodeHandle()">getLocalNodeHandle</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get the nodeHandle of the local Past node</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#getNumObjectsWaiting()">getNumObjectsWaiting</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#getObjectStore()">getObjectStore</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#getReplicationFactor()">getReplicationFactor</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of replicas used in this Past</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../rice/p2p/aggregation/AggregationStatistics.html" title="class in rice.p2p.aggregation">AggregationStatistics</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#getStatistics()">getStatistics</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#handleDebugCommand(java.lang.String)">handleDebugCommand</A></B>(java.lang.String&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#insert(rice.p2p.past.PastContent, rice.Continuation)">insert</A></B>(<A HREF="../../../rice/p2p/past/PastContent.html" title="interface in rice.p2p.past">PastContent</A>&nbsp;obj,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inserts an object with the given ID into this instance of Past.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#insert(rice.p2p.past.PastContent, long, rice.Continuation)">insert</A></B>(<A HREF="../../../rice/p2p/past/PastContent.html" title="interface in rice.p2p.past">PastContent</A>&nbsp;obj,
long&nbsp;lifetime,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inserts an object with the given ID into this instance of Past.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#lookup(rice.p2p.commonapi.Id, boolean, rice.Continuation)">lookup</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
boolean&nbsp;cache,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the object stored in this instance of Past with the
given ID.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#lookup(rice.p2p.commonapi.Id, rice.Continuation)">lookup</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the object stored in this instance of Past with the
given ID.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#lookup(rice.p2p.commonapi.Id, long, rice.Continuation)">lookup</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
long&nbsp;version,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the object stored in this instance of Past with the
given ID and the specified version.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#lookupHandle(rice.p2p.commonapi.Id, rice.p2p.commonapi.NodeHandle, rice.Continuation)">lookupHandle</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
<A HREF="../../../rice/p2p/commonapi/NodeHandle.html" title="class in rice.p2p.commonapi">NodeHandle</A>&nbsp;handle,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the handle for the given object stored on the requested
node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#lookupHandles(rice.p2p.commonapi.Id, int, rice.Continuation)">lookupHandles</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
int&nbsp;max,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the handles of up to max replicas of the object stored
in this instance of Past with the given ID.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#lookupHandles(rice.p2p.commonapi.Id, long, int, rice.Continuation)">lookupHandles</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
long&nbsp;version,
int&nbsp;max,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the handles of up to max replicas of the object stored
in this instance of Past with the given ID.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#refresh(rice.p2p.commonapi.Id[], long[], rice.Continuation)">refresh</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>[]&nbsp;ids,
long[]&nbsp;expirations,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Updates the objects stored under the provided keys id to expire no
earlier than the provided expiration time.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#refresh(rice.p2p.commonapi.Id[], long[], long[], rice.Continuation)">refresh</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>[]&nbsp;ids,
long[]&nbsp;versions,
long[]&nbsp;expirations,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Updates the objects stored under the provided keys id to expire no
earlier than the provided expiration time.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#refresh(rice.p2p.commonapi.Id[], long, rice.Continuation)">refresh</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>[]&nbsp;ids,
long&nbsp;expiration,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Updates the objects stored under the provided keys id to expire no
earlier than the provided expiration time.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#reset(rice.Continuation)">reset</A></B>(<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deletes all local state, including the aggregate list and all
objects waiting in the local buffer.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#rollback(rice.p2p.commonapi.Id, rice.Continuation)">rollback</A></B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attempts to retrieve the most recent object that has been inserted
by the local node under the specified key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#setConsolidationInterval(long)">setConsolidationInterval</A></B>(long&nbsp;consolidationIntervalSec)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#setConsolidationMinObjectsPerAggregate(int)">setConsolidationMinObjectsPerAggregate</A></B>(int&nbsp;minObjectsInAggregateArg)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#setConsolidationMinUtilization(double)">setConsolidationMinUtilization</A></B>(double&nbsp;minUtilization)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#setConsolidationThreshold(long)">setConsolidationThreshold</A></B>(long&nbsp;consolidationThresholdSec)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#setContentDeserializer(rice.p2p.past.rawserialization.PastContentDeserializer)">setContentDeserializer</A></B>(<A HREF="../../../rice/p2p/past/rawserialization/PastContentDeserializer.html" title="interface in rice.p2p.past.rawserialization">PastContentDeserializer</A>&nbsp;deserializer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#setContentHandleDeserializer(rice.p2p.past.rawserialization.PastContentHandleDeserializer)">setContentHandleDeserializer</A></B>(<A HREF="../../../rice/p2p/past/rawserialization/PastContentHandleDeserializer.html" title="interface in rice.p2p.past.rawserialization">PastContentHandleDeserializer</A>&nbsp;deserializer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#setFlushInterval(int)">setFlushInterval</A></B>(int&nbsp;flushIntervalSec)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#setHandle(java.io.Serializable, rice.Continuation)">setHandle</A></B>(java.io.Serializable&nbsp;handle,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restores the handle object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#setMaxAggregateSize(int)">setMaxAggregateSize</A></B>(int&nbsp;maxAggregateSize)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#setMaxObjectsInAggregate(int)">setMaxObjectsInAggregate</A></B>(int&nbsp;maxObjectsInAggregate)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#setRenewThreshold(int)">setRenewThreshold</A></B>(int&nbsp;expirationRenewThresholdHrs)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/AggregationImpl.html#update(rice.p2p.commonapi.NodeHandle, boolean)">update</A></B>(<A HREF="../../../rice/p2p/commonapi/NodeHandle.html" title="class in rice.p2p.commonapi">NodeHandle</A>&nbsp;handle,
boolean&nbsp;joined)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method is invoked to inform the application that the given node
has either joined or left the neighbor set of the local node, as the set
would be returned by the neighborSet call.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="aggregateStore"><!-- --></A><H3>
aggregateStore</H3>
<PRE>
protected final <A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A> <B>aggregateStore</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="waitingList"><!-- --></A><H3>
waitingList</H3>
<PRE>
protected final <A HREF="../../../rice/persistence/StorageManager.html" title="interface in rice.persistence">StorageManager</A> <B>waitingList</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="policy"><!-- --></A><H3>
policy</H3>
<PRE>
protected final <A HREF="../../../rice/p2p/aggregation/AggregationPolicy.html" title="interface in rice.p2p.aggregation">AggregationPolicy</A> <B>policy</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="aggregateList"><!-- --></A><H3>
aggregateList</H3>
<PRE>
protected final <A HREF="../../../rice/p2p/aggregation/AggregateList.html" title="class in rice.p2p.aggregation">AggregateList</A> <B>aggregateList</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="endpoint"><!-- --></A><H3>
endpoint</H3>
<PRE>
protected final <A HREF="../../../rice/p2p/commonapi/Endpoint.html" title="interface in rice.p2p.commonapi">Endpoint</A> <B>endpoint</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="objectStore"><!-- --></A><H3>
objectStore</H3>
<PRE>
protected final <A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A> <B>objectStore</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="instance"><!-- --></A><H3>
instance</H3>
<PRE>
protected final java.lang.String <B>instance</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="factory"><!-- --></A><H3>
factory</H3>
<PRE>
protected final <A HREF="../../../rice/p2p/commonapi/IdFactory.html" title="interface in rice.p2p.commonapi">IdFactory</A> <B>factory</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="node"><!-- --></A><H3>
node</H3>
<PRE>
protected final <A HREF="../../../rice/p2p/commonapi/Node.html" title="interface in rice.p2p.commonapi">Node</A> <B>node</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="timers"><!-- --></A><H3>
timers</H3>
<PRE>
protected java.util.Hashtable <B>timers</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="flushWait"><!-- --></A><H3>
flushWait</H3>
<PRE>
protected <A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A> <B>flushWait</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="rebuildInProgress"><!-- --></A><H3>
rebuildInProgress</H3>
<PRE>
protected boolean <B>rebuildInProgress</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="monitorIDs"><!-- --></A><H3>
monitorIDs</H3>
<PRE>
protected java.util.Vector <B>monitorIDs</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="stats"><!-- --></A><H3>
stats</H3>
<PRE>
protected <A HREF="../../../rice/p2p/aggregation/AggregationStatistics.html" title="class in rice.p2p.aggregation">AggregationStatistics</A> <B>stats</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="logger"><!-- --></A><H3>
logger</H3>
<PRE>
protected <A HREF="../../../rice/environment/logging/Logger.html" title="class in rice.environment.logging">Logger</A> <B>logger</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="contentDeserializer"><!-- --></A><H3>
contentDeserializer</H3>
<PRE>
protected <A HREF="../../../rice/p2p/past/rawserialization/PastContentDeserializer.html" title="interface in rice.p2p.past.rawserialization">PastContentDeserializer</A> <B>contentDeserializer</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="contentHandleDeserializer"><!-- --></A><H3>
contentHandleDeserializer</H3>
<PRE>
protected <A HREF="../../../rice/p2p/past/rawserialization/PastContentHandleDeserializer.html" title="interface in rice.p2p.past.rawserialization">PastContentHandleDeserializer</A> <B>contentHandleDeserializer</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="aggregateFactory"><!-- --></A><H3>
aggregateFactory</H3>
<PRE>
protected <A HREF="../../../rice/p2p/aggregation/AggregateFactory.html" title="interface in rice.p2p.aggregation">AggregateFactory</A> <B>aggregateFactory</B></PRE>
<DL>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="AggregationImpl(rice.p2p.commonapi.Node, rice.p2p.past.Past, rice.p2p.past.Past, rice.persistence.StorageManager, java.lang.String, rice.p2p.commonapi.IdFactory, java.lang.String)"><!-- --></A><H3>
AggregationImpl</H3>
<PRE>
public <B>AggregationImpl</B>(<A HREF="../../../rice/p2p/commonapi/Node.html" title="interface in rice.p2p.commonapi">Node</A>&nbsp;node,
<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A>&nbsp;aggregateStore,
<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A>&nbsp;objectStore,
<A HREF="../../../rice/persistence/StorageManager.html" title="interface in rice.persistence">StorageManager</A>&nbsp;waitingList,
java.lang.String&nbsp;configFileName,
<A HREF="../../../rice/p2p/commonapi/IdFactory.html" title="interface in rice.p2p.commonapi">IdFactory</A>&nbsp;factory,
java.lang.String&nbsp;instance)
throws java.io.IOException</PRE>
<DL>
<DL>
<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE></DL>
</DL>
<HR>
<A NAME="AggregationImpl(rice.p2p.commonapi.Node, rice.p2p.past.Past, rice.p2p.past.Past, rice.persistence.StorageManager, java.lang.String, rice.p2p.commonapi.IdFactory, java.lang.String, rice.p2p.aggregation.AggregationPolicy, rice.p2p.aggregation.AggregateFactory)"><!-- --></A><H3>
AggregationImpl</H3>
<PRE>
public <B>AggregationImpl</B>(<A HREF="../../../rice/p2p/commonapi/Node.html" title="interface in rice.p2p.commonapi">Node</A>&nbsp;node,
<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A>&nbsp;aggregateStore,
<A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A>&nbsp;objectStore,
<A HREF="../../../rice/persistence/StorageManager.html" title="interface in rice.persistence">StorageManager</A>&nbsp;waitingList,
java.lang.String&nbsp;configFileName,
<A HREF="../../../rice/p2p/commonapi/IdFactory.html" title="interface in rice.p2p.commonapi">IdFactory</A>&nbsp;factory,
java.lang.String&nbsp;instance,
<A HREF="../../../rice/p2p/aggregation/AggregationPolicy.html" title="interface in rice.p2p.aggregation">AggregationPolicy</A>&nbsp;policy,
<A HREF="../../../rice/p2p/aggregation/AggregateFactory.html" title="interface in rice.p2p.aggregation">AggregateFactory</A>&nbsp;aggregateFactory)
throws java.io.IOException</PRE>
<DL>
<DL>
<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE></DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="handleDebugCommand(java.lang.String)"><!-- --></A><H3>
handleDebugCommand</H3>
<PRE>
public java.lang.String <B>handleDebugCommand</B>(java.lang.String&nbsp;command)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/util/DebugCommandHandler.html#handleDebugCommand(java.lang.String)">handleDebugCommand</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/util/DebugCommandHandler.html" title="interface in rice.p2p.util">DebugCommandHandler</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="refresh(rice.p2p.commonapi.Id[], long, rice.Continuation)"><!-- --></A><H3>
refresh</H3>
<PRE>
public void <B>refresh</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>[]&nbsp;ids,
long&nbsp;expiration,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html#refresh(rice.p2p.commonapi.Id[], long, rice.Continuation)">GCPast</A></CODE></B></DD>
<DD>Updates the objects stored under the provided keys id to expire no
earlier than the provided expiration time. Asyncroniously returns
the result to the caller via the provided continuation.
The result of this operation is an Object[], which is the same length
as the input array of Ids. Each element in the array is either
Boolean(true), representing that the refresh succeeded for the
cooresponding Id, or an Exception describing why the refresh failed.
Specifically, the possible exceptions which can be returned are:
ObjectNotFoundException - if no object was found under the given key
RefreshFailedException - if the refresh operation failed for any other
reason (the getMessage() will describe the failure)
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html#refresh(rice.p2p.commonapi.Id[], long, rice.Continuation)">refresh</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A></CODE></DL>
</DD>
<DD><DL>
<DD><CODE>expiration</CODE> - The time to extend the lifetime to (applies to all keys)<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="refresh(rice.p2p.commonapi.Id[], long[], rice.Continuation)"><!-- --></A><H3>
refresh</H3>
<PRE>
public void <B>refresh</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>[]&nbsp;ids,
long[]&nbsp;expirations,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html#refresh(rice.p2p.commonapi.Id[], long[], rice.Continuation)">GCPast</A></CODE></B></DD>
<DD>Updates the objects stored under the provided keys id to expire no
earlier than the provided expiration time. Asyncroniously returns
the result to the caller via the provided continuation.
The result of this operation is an Object[], which is the same length
as the input array of Ids. Each element in the array is either
Boolean(true), representing that the refresh succeeded for the
cooresponding Id, or an Exception describing why the refresh failed.
Specifically, the possible exceptions which can be returned are:
ObjectNotFoundException - if no object was found under the given key
RefreshFailedException - if the refresh operation failed for any other
reason (the getMessage() will describe the failure)
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html#refresh(rice.p2p.commonapi.Id[], long[], rice.Continuation)">refresh</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A></CODE></DL>
</DD>
<DD><DL>
<DD><CODE>expirations</CODE> - The time to extend the lifetime to<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="refresh(rice.p2p.commonapi.Id[], long[], long[], rice.Continuation)"><!-- --></A><H3>
refresh</H3>
<PRE>
public void <B>refresh</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>[]&nbsp;ids,
long[]&nbsp;versions,
long[]&nbsp;expirations,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/glacier/VersioningPast.html#refresh(rice.p2p.commonapi.Id[], long[], long[], rice.Continuation)">VersioningPast</A></CODE></B></DD>
<DD>Updates the objects stored under the provided keys id to expire no
earlier than the provided expiration time. Asyncroniously returns
the result to the caller via the provided continuation.
The result of this operation is an Object[], which is the same length
as the input array of Ids. Each element in the array is either
Boolean(true), representing that the refresh succeeded for the
cooresponding Id, or an Exception describing why the refresh failed.
Specifically, the possible exceptions which can be returned are:
ObjectNotFoundException - if no object was found under the given key
RefreshFailedException - if the refresh operation failed for any other
reason (the getMessage() will describe the failure)
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/glacier/VersioningPast.html#refresh(rice.p2p.commonapi.Id[], long[], long[], rice.Continuation)">refresh</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/glacier/VersioningPast.html" title="interface in rice.p2p.glacier">VersioningPast</A></CODE></DL>
</DD>
<DD><DL>
<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="getHandle()"><!-- --></A><H3>
getHandle</H3>
<PRE>
public java.io.Serializable <B>getHandle</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#getHandle()">Aggregation</A></CODE></B></DD>
<DD>Fetches the handle object. This object is important in the event
of a failure that causes Aggregation to lose its local metadata
cache. When the handle object is later restored via setHandle(),
Aggregation can recover all objects that have been aggregated
prior to the getHandle() call, except objects that have already
expired. Note that this does not include objects that were still
in the local buffer when the failure occurred. To prevent data
loss, it is recommended to invoke flush() before fetching
the handle object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#getHandle()">getHandle</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html" title="interface in rice.p2p.aggregation">Aggregation</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the current handle object</DL>
</DD>
</DL>
<HR>
<A NAME="setHandle(java.io.Serializable, rice.Continuation)"><!-- --></A><H3>
setHandle</H3>
<PRE>
public void <B>setHandle</B>(java.io.Serializable&nbsp;handle,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#setHandle(java.io.Serializable, rice.Continuation)">Aggregation</A></CODE></B></DD>
<DD>Restores the handle object. This method should always be invoked
at startup, using the most current handle object available.
When the continuation is invoked, all non-expired objects linked
to the handle are accessible from the local node.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#setHandle(java.io.Serializable, rice.Continuation)">setHandle</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html" title="interface in rice.p2p.aggregation">Aggregation</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>handle</CODE> - the handle object<DD><CODE>command</CODE> - Command to be performed when the method completes.</DL>
</DD>
</DL>
<HR>
<A NAME="insert(rice.p2p.past.PastContent, rice.Continuation)"><!-- --></A><H3>
insert</H3>
<PRE>
public void <B>insert</B>(<A HREF="../../../rice/p2p/past/PastContent.html" title="interface in rice.p2p.past">PastContent</A>&nbsp;obj,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html#insert(rice.p2p.past.PastContent, rice.Continuation)">GCPast</A></CODE></B></DD>
<DD>Inserts an object with the given ID into this instance of Past.
Asynchronously returns a PastException to command, if the
operation was unsuccessful. If the operation was successful, a
Boolean[] is returned representing the responses from each of
the replicas which inserted the object.
This method is equivalent to
insert(obj, INFINITY_EXPIRATION, command)
as it inserts the object with a timeout value of infinity. This
is done for simplicity, as well as backwards-compatibility for
applications.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html#insert(rice.p2p.past.PastContent, rice.Continuation)">insert</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#insert(rice.p2p.past.PastContent, rice.Continuation)">insert</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>obj</CODE> - the object to be inserted<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="insert(rice.p2p.past.PastContent, long, rice.Continuation)"><!-- --></A><H3>
insert</H3>
<PRE>
public void <B>insert</B>(<A HREF="../../../rice/p2p/past/PastContent.html" title="interface in rice.p2p.past">PastContent</A>&nbsp;obj,
long&nbsp;lifetime,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html#insert(rice.p2p.past.PastContent, long, rice.Continuation)">GCPast</A></CODE></B></DD>
<DD>Inserts an object with the given ID into this instance of Past.
Asynchronously returns a PastException to command, if the
operation was unsuccessful. If the operation was successful, a
Boolean[] is returned representing the responses from each of
the replicas which inserted the object.
The contract for this method is that the provided object will be
stored until the provided expiration time. Thus, if the application
determines that it is still interested in this object, it must refresh
the object via the refresh() method.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html#insert(rice.p2p.past.PastContent, long, rice.Continuation)">insert</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>obj</CODE> - the object to be inserted<DD><CODE>lifetime</CODE> - the time until which the object must be stored<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="lookup(rice.p2p.commonapi.Id, boolean, rice.Continuation)"><!-- --></A><H3>
lookup</H3>
<PRE>
public void <B>lookup</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
boolean&nbsp;cache,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/past/Past.html#lookup(rice.p2p.commonapi.Id, boolean, rice.Continuation)">Past</A></CODE></B></DD>
<DD>Retrieves the object stored in this instance of Past with the
given ID. Asynchronously returns a PastContent object as the
result to the provided Continuation, or a PastException. This
method is provided for convenience; its effect is identical to a
lookupHandles() and a subsequent fetch() to the handle that is
nearest in the network.
The client must authenticate the object. In case of failure, an
alternate replica of the object can be obtained via
lookupHandles() and fetch().
This method is not safe if the object is immutable and storage
nodes are not trusted. In this case, clients should used the
lookUpHandles method to obtains the handles of all primary
replicas and determine which replica is fresh in an
application-specific manner.
This method also allows applications to specify if the result should
be cached locally.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#lookup(rice.p2p.commonapi.Id, boolean, rice.Continuation)">lookup</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the key to be queried<DD><CODE>cache</CODE> - Whether or not the result should be cached<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="lookup(rice.p2p.commonapi.Id, long, rice.Continuation)"><!-- --></A><H3>
lookup</H3>
<PRE>
public void <B>lookup</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
long&nbsp;version,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/glacier/VersioningPast.html#lookup(rice.p2p.commonapi.Id, long, rice.Continuation)">VersioningPast</A></CODE></B></DD>
<DD>Retrieves the object stored in this instance of Past with the
given ID and the specified version. Asynchronously returns
a PastContent object as the result to the provided Continuation,
or a PastException.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/glacier/VersioningPast.html#lookup(rice.p2p.commonapi.Id, long, rice.Continuation)">lookup</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/glacier/VersioningPast.html" title="interface in rice.p2p.glacier">VersioningPast</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the key to be queried<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="lookup(rice.p2p.commonapi.Id, rice.Continuation)"><!-- --></A><H3>
lookup</H3>
<PRE>
public void <B>lookup</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/past/Past.html#lookup(rice.p2p.commonapi.Id, rice.Continuation)">Past</A></CODE></B></DD>
<DD>Retrieves the object stored in this instance of Past with the
given ID. Asynchronously returns a PastContent object as the
result to the provided Continuation, or a PastException. This
method is provided for convenience; its effect is identical to a
lookupHandles() and a subsequent fetch() to the handle that is
nearest in the network.
The client must authenticate the object. In case of failure, an
alternate replica of the object can be obtained via
lookupHandles() and fetch().
This method is not safe if the object is immutable and storage
nodes are not trusted. In this case, clients should used the
lookUpHandles method to obtains the handles of all primary
replicas and determine which replica is fresh in an
application-specific manner.
By default, this method attempts to cache the result locally for
future use. Applications which do not desire this behavior should
use the lookup(id, boolean, command) method.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#lookup(rice.p2p.commonapi.Id, rice.Continuation)">lookup</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the key to be queried<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="lookupHandles(rice.p2p.commonapi.Id, long, int, rice.Continuation)"><!-- --></A><H3>
lookupHandles</H3>
<PRE>
public void <B>lookupHandles</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
long&nbsp;version,
int&nbsp;max,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/glacier/VersioningPast.html#lookupHandles(rice.p2p.commonapi.Id, long, int, rice.Continuation)">VersioningPast</A></CODE></B></DD>
<DD>Retrieves the handles of up to max replicas of the object stored
in this instance of Past with the given ID. Asynchronously
returns an array of PastContentHandles as the result to the
provided Continuation, or a PastException.
Each replica handle is obtained from a different primary storage
root for the the given key. If max exceeds the replication factor
r of this Past instance, only r replicas are returned.
This method will return a PastContentHandle[] array containing all
of the handles.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/glacier/VersioningPast.html#lookupHandles(rice.p2p.commonapi.Id, long, int, rice.Continuation)">lookupHandles</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/glacier/VersioningPast.html" title="interface in rice.p2p.glacier">VersioningPast</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the key to be queried<DD><CODE>version</CODE> - the requested version<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="lookupHandle(rice.p2p.commonapi.Id, rice.p2p.commonapi.NodeHandle, rice.Continuation)"><!-- --></A><H3>
lookupHandle</H3>
<PRE>
public void <B>lookupHandle</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
<A HREF="../../../rice/p2p/commonapi/NodeHandle.html" title="class in rice.p2p.commonapi">NodeHandle</A>&nbsp;handle,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/past/Past.html#lookupHandle(rice.p2p.commonapi.Id, rice.p2p.commonapi.NodeHandle, rice.Continuation)">Past</A></CODE></B></DD>
<DD>Retrieves the handle for the given object stored on the requested
node. Asynchronously returns a PostContentHandle (or null) to
the provided continuation.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#lookupHandle(rice.p2p.commonapi.Id, rice.p2p.commonapi.NodeHandle, rice.Continuation)">lookupHandle</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the key to be queried<DD><CODE>handle</CODE> - The node on which the handle is requested<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="lookupHandles(rice.p2p.commonapi.Id, int, rice.Continuation)"><!-- --></A><H3>
lookupHandles</H3>
<PRE>
public void <B>lookupHandles</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
int&nbsp;max,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/past/Past.html#lookupHandles(rice.p2p.commonapi.Id, int, rice.Continuation)">Past</A></CODE></B></DD>
<DD>Retrieves the handles of up to max replicas of the object stored
in this instance of Past with the given ID. Asynchronously
returns an array of PastContentHandles as the result to the
provided Continuation, or a PastException.
Each replica handle is obtained from a different primary storage
root for the the given key. If max exceeds the replication factor
r of this Past instance, only r replicas are returned.
This method will return a PastContentHandle[] array containing all
of the handles.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#lookupHandles(rice.p2p.commonapi.Id, int, rice.Continuation)">lookupHandles</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the key to be queried<DD><CODE>max</CODE> - the maximal number of replicas requested<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="fetch(rice.p2p.past.PastContentHandle, rice.Continuation)"><!-- --></A><H3>
fetch</H3>
<PRE>
public void <B>fetch</B>(<A HREF="../../../rice/p2p/past/PastContentHandle.html" title="interface in rice.p2p.past">PastContentHandle</A>&nbsp;handle,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/past/Past.html#fetch(rice.p2p.past.PastContentHandle, rice.Continuation)">Past</A></CODE></B></DD>
<DD>Retrieves the object associated with a given content handle.
Asynchronously returns a PastContent object as the result to the
provided Continuation, or a PastException.
The client must authenticate the object. In case of failure, an
alternate replica can be obtained using a different handle obtained via
lookupHandles().
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#fetch(rice.p2p.past.PastContentHandle, rice.Continuation)">fetch</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>handle</CODE> - the key to be queried<DD><CODE>command</CODE> - Command to be performed when the result is received</DL>
</DD>
</DL>
<HR>
<A NAME="flush(rice.p2p.commonapi.Id, rice.Continuation)"><!-- --></A><H3>
flush</H3>
<PRE>
public void <B>flush</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#flush(rice.p2p.commonapi.Id, rice.Continuation)">Aggregation</A></CODE></B></DD>
<DD>Creates an aggregate that includes the most current object
with the specified key. When the continuation is invoked,
the object is persistent and linked to the current handle object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#flush(rice.p2p.commonapi.Id, rice.Continuation)">flush</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html" title="interface in rice.p2p.aggregation">Aggregation</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the key of the object to be made persistent.<DD><CODE>command</CODE> - Command to be performed when the method completes.</DL>
</DD>
</DL>
<HR>
<A NAME="flush(rice.Continuation)"><!-- --></A><H3>
flush</H3>
<PRE>
public void <B>flush</B>(<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#flush(rice.Continuation)">Aggregation</A></CODE></B></DD>
<DD>Creates aggregates from all objects in the local object cache.
When the continuation is invoked, all objects that were inserted
prior to flush() are persistent and linked to the current
handle object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#flush(rice.Continuation)">flush</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html" title="interface in rice.p2p.aggregation">Aggregation</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>command</CODE> - Command to be performed when the method completes.</DL>
</DD>
</DL>
<HR>
<A NAME="rollback(rice.p2p.commonapi.Id, rice.Continuation)"><!-- --></A><H3>
rollback</H3>
<PRE>
public void <B>rollback</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#rollback(rice.p2p.commonapi.Id, rice.Continuation)">Aggregation</A></CODE></B></DD>
<DD>Attempts to retrieve the most recent object that has been inserted
by the local node under the specified key. This is useful when
the object has been overwritten by an attacker. This method may
fail or return an outdated version of the object if a) the object
is not linked to the current handle, or b) the object was never
aggregated because of the aggregation policy.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#rollback(rice.p2p.commonapi.Id, rice.Continuation)">rollback</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html" title="interface in rice.p2p.aggregation">Aggregation</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - the key of the object to be retrieved<DD><CODE>command</CODE> - Command to be performed when the method completes.</DL>
</DD>
</DL>
<HR>
<A NAME="reset(rice.Continuation)"><!-- --></A><H3>
reset</H3>
<PRE>
public void <B>reset</B>(<A HREF="../../../rice/Continuation.html" title="interface in rice">Continuation</A>&nbsp;command)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#reset(rice.Continuation)">Aggregation</A></CODE></B></DD>
<DD>Deletes all local state, including the aggregate list and all
objects waiting in the local buffer. This is useful when the
local instance appears to have been corrupted or tampered with.
The state can be recovered by invoking setHandle() with an
earlier handle object, and by using rollback() on objects that
appear to have been overwritten.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html#reset(rice.Continuation)">reset</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/aggregation/Aggregation.html" title="interface in rice.p2p.aggregation">Aggregation</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>command</CODE> - Command to be performed when the method completes.</DL>
</DD>
</DL>
<HR>
<A NAME="getLocalNodeHandle()"><!-- --></A><H3>
getLocalNodeHandle</H3>
<PRE>
public <A HREF="../../../rice/p2p/commonapi/NodeHandle.html" title="class in rice.p2p.commonapi">NodeHandle</A> <B>getLocalNodeHandle</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/past/Past.html#getLocalNodeHandle()">Past</A></CODE></B></DD>
<DD>get the nodeHandle of the local Past node
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#getLocalNodeHandle()">getLocalNodeHandle</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the nodehandle</DL>
</DD>
</DL>
<HR>
<A NAME="getReplicationFactor()"><!-- --></A><H3>
getReplicationFactor</H3>
<PRE>
public int <B>getReplicationFactor</B>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/past/Past.html#getReplicationFactor()">Past</A></CODE></B></DD>
<DD>Returns the number of replicas used in this Past
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#getReplicationFactor()">getReplicationFactor</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the number of replicas for each object</DL>
</DD>
</DL>
<HR>
<A NAME="forward(rice.p2p.commonapi.RouteMessage)"><!-- --></A><H3>
forward</H3>
<PRE>
public boolean <B>forward</B>(<A HREF="../../../rice/p2p/commonapi/RouteMessage.html" title="interface in rice.p2p.commonapi">RouteMessage</A>&nbsp;message)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/commonapi/Application.html#forward(rice.p2p.commonapi.RouteMessage)">Application</A></CODE></B></DD>
<DD>This method is invoked on applications when the underlying node
is about to forward the given message with the provided target to
the specified next hop. Applications can change the contents of
the message, specify a different nextHop (through re-routing), or
completely terminate the message.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/commonapi/Application.html#forward(rice.p2p.commonapi.RouteMessage)">forward</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/commonapi/Application.html" title="interface in rice.p2p.commonapi">Application</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>message</CODE> - The message being sent, containing an internal message
along with a destination key and nodeHandle next hop.
<DT><B>Returns:</B><DD>Whether or not to forward the message further</DL>
</DD>
</DL>
<HR>
<A NAME="update(rice.p2p.commonapi.NodeHandle, boolean)"><!-- --></A><H3>
update</H3>
<PRE>
public void <B>update</B>(<A HREF="../../../rice/p2p/commonapi/NodeHandle.html" title="class in rice.p2p.commonapi">NodeHandle</A>&nbsp;handle,
boolean&nbsp;joined)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/commonapi/Application.html#update(rice.p2p.commonapi.NodeHandle, boolean)">Application</A></CODE></B></DD>
<DD>This method is invoked to inform the application that the given node
has either joined or left the neighbor set of the local node, as the set
would be returned by the neighborSet call.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/commonapi/Application.html#update(rice.p2p.commonapi.NodeHandle, boolean)">update</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/commonapi/Application.html" title="interface in rice.p2p.commonapi">Application</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>handle</CODE> - The handle that has joined/left<DD><CODE>joined</CODE> - Whether the node has joined or left</DL>
</DD>
</DL>
<HR>
<A NAME="deliver(rice.p2p.commonapi.Id, rice.p2p.commonapi.Message)"><!-- --></A><H3>
deliver</H3>
<PRE>
public void <B>deliver</B>(<A HREF="../../../rice/p2p/commonapi/Id.html" title="interface in rice.p2p.commonapi">Id</A>&nbsp;id,
<A HREF="../../../rice/p2p/commonapi/Message.html" title="interface in rice.p2p.commonapi">Message</A>&nbsp;message)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../rice/p2p/commonapi/Application.html#deliver(rice.p2p.commonapi.Id, rice.p2p.commonapi.Message)">Application</A></CODE></B></DD>
<DD>This method is called on the application at the destination node
for the given id.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/commonapi/Application.html#deliver(rice.p2p.commonapi.Id, rice.p2p.commonapi.Message)">deliver</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/commonapi/Application.html" title="interface in rice.p2p.commonapi">Application</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>id</CODE> - The destination id of the message<DD><CODE>message</CODE> - The message being sent</DL>
</DD>
</DL>
<HR>
<A NAME="setFlushInterval(int)"><!-- --></A><H3>
setFlushInterval</H3>
<PRE>
public void <B>setFlushInterval</B>(int&nbsp;flushIntervalSec)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setMaxAggregateSize(int)"><!-- --></A><H3>
setMaxAggregateSize</H3>
<PRE>
public void <B>setMaxAggregateSize</B>(int&nbsp;maxAggregateSize)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setMaxObjectsInAggregate(int)"><!-- --></A><H3>
setMaxObjectsInAggregate</H3>
<PRE>
public void <B>setMaxObjectsInAggregate</B>(int&nbsp;maxObjectsInAggregate)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setRenewThreshold(int)"><!-- --></A><H3>
setRenewThreshold</H3>
<PRE>
public void <B>setRenewThreshold</B>(int&nbsp;expirationRenewThresholdHrs)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setConsolidationInterval(long)"><!-- --></A><H3>
setConsolidationInterval</H3>
<PRE>
public void <B>setConsolidationInterval</B>(long&nbsp;consolidationIntervalSec)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setConsolidationThreshold(long)"><!-- --></A><H3>
setConsolidationThreshold</H3>
<PRE>
public void <B>setConsolidationThreshold</B>(long&nbsp;consolidationThresholdSec)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setConsolidationMinObjectsPerAggregate(int)"><!-- --></A><H3>
setConsolidationMinObjectsPerAggregate</H3>
<PRE>
public void <B>setConsolidationMinObjectsPerAggregate</B>(int&nbsp;minObjectsInAggregateArg)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setConsolidationMinUtilization(double)"><!-- --></A><H3>
setConsolidationMinUtilization</H3>
<PRE>
public void <B>setConsolidationMinUtilization</B>(double&nbsp;minUtilization)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getAggregateStore()"><!-- --></A><H3>
getAggregateStore</H3>
<PRE>
public <A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A> <B>getAggregateStore</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getObjectStore()"><!-- --></A><H3>
getObjectStore</H3>
<PRE>
public <A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A> <B>getObjectStore</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getNumObjectsWaiting()"><!-- --></A><H3>
getNumObjectsWaiting</H3>
<PRE>
public int <B>getNumObjectsWaiting</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getStatistics()"><!-- --></A><H3>
getStatistics</H3>
<PRE>
public <A HREF="../../../rice/p2p/aggregation/AggregationStatistics.html" title="class in rice.p2p.aggregation">AggregationStatistics</A> <B>getStatistics</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getInstance()"><!-- --></A><H3>
getInstance</H3>
<PRE>
public java.lang.String <B>getInstance</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#getInstance()">getInstance</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD></DL>
</DD>
</DL>
<HR>
<A NAME="getEnvironment()"><!-- --></A><H3>
getEnvironment</H3>
<PRE>
public <A HREF="../../../rice/environment/Environment.html" title="class in rice.environment">Environment</A> <B>getEnvironment</B>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#getEnvironment()">getEnvironment</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setContentDeserializer(rice.p2p.past.rawserialization.PastContentDeserializer)"><!-- --></A><H3>
setContentDeserializer</H3>
<PRE>
public void <B>setContentDeserializer</B>(<A HREF="../../../rice/p2p/past/rawserialization/PastContentDeserializer.html" title="interface in rice.p2p.past.rawserialization">PastContentDeserializer</A>&nbsp;deserializer)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#setContentDeserializer(rice.p2p.past.rawserialization.PastContentDeserializer)">setContentDeserializer</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setContentHandleDeserializer(rice.p2p.past.rawserialization.PastContentHandleDeserializer)"><!-- --></A><H3>
setContentHandleDeserializer</H3>
<PRE>
public void <B>setContentHandleDeserializer</B>(<A HREF="../../../rice/p2p/past/rawserialization/PastContentHandleDeserializer.html" title="interface in rice.p2p.past.rawserialization">PastContentHandleDeserializer</A>&nbsp;deserializer)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../rice/p2p/past/Past.html#setContentHandleDeserializer(rice.p2p.past.rawserialization.PastContentHandleDeserializer)">setContentHandleDeserializer</A></CODE> in interface <CODE><A HREF="../../../rice/p2p/past/Past.html" title="interface in rice.p2p.past">Past</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AggregationImpl.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Rice Pastry API</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../rice/p2p/aggregation/AggregationException.html" title="class in rice.p2p.aggregation"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../rice/p2p/aggregation/AggregationPolicy.html" title="interface in rice.p2p.aggregation"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?rice/p2p/aggregation/AggregationImpl.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AggregationImpl.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
<i>Copyright &#169; 2001-2005 - Rice Pastry.</i>
</BODY>
</HTML>