991 lines
50 KiB
HTML
Raw Permalink 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>
Moraine (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="Moraine (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/Moraine.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/JavaSerializedAggregateFactory.html" title="class in rice.p2p.aggregation"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../rice/p2p/aggregation/ObjectDescriptor.html" title="class 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/Moraine.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Moraine.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 Moraine</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>rice.p2p.aggregation.Moraine</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><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></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>Moraine</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></DL>
</PRE>
<P>
This Past takes 2 pasts, an old Past and a new
Past. It treats the old Past as a backing store for the new Past.
Pretty much it's only going to work with glacier, and maybe aggregation
A Moraine is the hill of rubble (aggregate as it were) left behind at
the edges of a glacier or at the end of a retreating glacier
<P>
<P>
<DL>
<DT><B>Author:</B></DT>
<DD>jstewart</DD>
</DL>
<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/environment/logging/Logger.html" title="class in rice.environment.logging">Logger</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/Moraine.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;<A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/Moraine.html#newPast">newPast</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/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/Moraine.html#oldPast">oldPast</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/glacier/VersioningPast.html" title="interface in rice.p2p.glacier">VersioningPast</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/Moraine.html#vNewPast">vNewPast</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/glacier/VersioningPast.html" title="interface in rice.p2p.glacier">VersioningPast</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/Moraine.html#vOldPast">vOldPast</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/Moraine.html#Moraine(rice.p2p.past.gc.GCPast, rice.p2p.past.gc.GCPast)">Moraine</A></B>(<A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A>&nbsp;newPast,
<A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A>&nbsp;oldPast)</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/Moraine.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;<A HREF="../../../rice/environment/Environment.html" title="class in rice.environment">Environment</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/Moraine.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.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/Moraine.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/Moraine.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/Moraine.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;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../rice/p2p/aggregation/Moraine.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/Moraine.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;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;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/Moraine.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/Moraine.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/Moraine.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/Moraine.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/Moraine.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/Moraine.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;num,
<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/Moraine.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/Moraine.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/Moraine.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/Moraine.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/Moraine.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>
</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="newPast"><!-- --></A><H3>
newPast</H3>
<PRE>
protected <A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A> <B>newPast</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="oldPast"><!-- --></A><H3>
oldPast</H3>
<PRE>
protected <A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A> <B>oldPast</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="vNewPast"><!-- --></A><H3>
vNewPast</H3>
<PRE>
protected <A HREF="../../../rice/p2p/glacier/VersioningPast.html" title="interface in rice.p2p.glacier">VersioningPast</A> <B>vNewPast</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="vOldPast"><!-- --></A><H3>
vOldPast</H3>
<PRE>
protected <A HREF="../../../rice/p2p/glacier/VersioningPast.html" title="interface in rice.p2p.glacier">VersioningPast</A> <B>vOldPast</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>
<!-- ========= 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="Moraine(rice.p2p.past.gc.GCPast, rice.p2p.past.gc.GCPast)"><!-- --></A><H3>
Moraine</H3>
<PRE>
public <B>Moraine</B>(<A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A>&nbsp;newPast,
<A HREF="../../../rice/p2p/past/gc/GCPast.html" title="interface in rice.p2p.past.gc">GCPast</A>&nbsp;oldPast)</PRE>
<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="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="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="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="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="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="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="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="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="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="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>
<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;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#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>expiration</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="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, 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="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="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;num,
<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="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>
<!-- ========= 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/Moraine.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/JavaSerializedAggregateFactory.html" title="class in rice.p2p.aggregation"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../rice/p2p/aggregation/ObjectDescriptor.html" title="class 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/Moraine.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Moraine.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>