|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object
|
+--org.abora.gold.java.AboraHeaper
|
+--org.abora.gold.xpp.basic.Heaper
|
+--org.abora.gold.be.ents.HistoryCrum
invariant: the parent''s trace >= the child''s trace
The subclasses should differentiate between the number
of children: 0, 1, or more. ORoots have 0 children and
always have a canopyCrum. HCrums for OCrums in the
body of the ent have one child if they are at the top
of an unshared subtreee, and more if they are at the top
of a shared subtree. HCrums with more than one child
almost always have a canopyCrum to represent the join
between the canopies of their multiple hchildren.
The change would make the updateH method return a
new crum, which the oCrums would install.
They don''t do so now because I''m not sure if a crum with
no parents can appear in the middle of the ent. If so, then
the version compare operations would gag. Hmmm. The
change doesn''t make any difference for that....
| Field Summary | |
protected int |
myHash
|
protected static int |
SequenceNumber
|
| Fields inherited from class org.abora.gold.xpp.basic.Heaper |
AllBlasts, BecomeMap, GarbageCount, InGC, InitializedClasses, InitializingClasses, LastMemory, NextClientRequestNumber, NotOneElementSignal, PackageTable, PromiseNameTable, StringHashSBoxes |
| Fields inherited from class org.abora.gold.java.AboraHeaper |
ActiveClubs, CurrentAuthor, CurrentBertCanopyCache, CurrentBertCrum, CurrentChunk, CurrentGrandMap, CurrentKeyMaster, CurrentPacker, CurrentSensorCanopyCache, CurrentServer, CurrentSession, CurrentSessions, CurrentTrace, InitialEditClub, InitialOwner, InitialReadClub, InitialSponsor, InsideTransactionFlag |
| Constructor Summary | |
HistoryCrum()
|
|
HistoryCrum(Rcvr receiver)
|
|
| Method Summary | |
void |
actualDelayedStoreBackfollow(PropFinder finder,
RecorderFossil recorder,
HashSetCache hCrumCache)
|
void |
actualDelayedStoreBackfollow(PropFinder finder,
RecorderFossil fossil,
ResultRecorder recorder,
HashSetCache hCrumCache)
See comment in HistoryCrum>>delayedStoreBackfollow:with:with: |
int |
actualHashForEqual()
|
void |
actualStoreBackfollow(PropFinder finder,
MuTable table,
HashSetCache hCrumCache)
|
boolean |
anyPasses(PropFinder finder)
|
BertCrum |
bertCrum()
These objects must have a crum in the bert canopy. |
void |
delayedStoreBackfollow(PropFinder finder,
RecorderFossil recorder,
HashSetCache hCrumCache)
|
void |
delayedStoreBackfollow(PropFinder finder,
RecorderFossil fossil,
ResultRecorder recorder,
HashSetCache hCrumCache)
Do the northward H-tree walk for the 'now' part of a backfollow. |
java.lang.String |
displayString()
|
ImmuSet |
hCrums()
|
TracePosition |
hCut()
|
void |
inspect()
|
void |
inspectCanopy()
|
void |
inspectMenuArray()
|
void |
inspectOrgls()
|
boolean |
inTrace(TracePosition trace)
Return true if the receiver can backfollow to trace. |
boolean |
isEmpty()
Return true if their are no upward pointers. |
boolean |
isEqual(Heaper other)
Return true if the two objects are equal. |
static void |
linkTimeNonInherited()
|
Mapping |
mappingTo(TracePosition trace,
Mapping initial)
return the mapping into the domain space of the given trace |
static int |
nextHistoryCrumSequenceNumber()
Shepherds use a sequence number for their hash. |
ImmuSet |
oParents()
|
void |
printOn(java.io.PrintWriter aStream)
|
boolean |
propagateBCrum(BertCrum newBCrum)
If bertCrum is leafward of newBCrum then change it and return true, otherwise return false. |
void |
ringDetectors(FeEdition edition)
Ring all the detectors north of me with the given Edition as argument |
void |
sendSelfTo(Xmtr xmtr)
do nothing |
void |
showOn(java.lang.Object oo)
|
void |
storeBackfollow(PropFinder finder,
MuTable table,
HashSetCache hCrumCache)
|
| Methods inherited from class org.abora.gold.java.AboraHeaper |
asOop, basicInspect, error, hack, halt, knownBug, mightNotImplement, REQUIRES, shouldImplement, shouldNotImplement, stubbleForSubclassResponsibility, thingToDo, willNotImplement |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected int myHash
protected static int SequenceNumber
| Constructor Detail |
public HistoryCrum()
public HistoryCrum(Rcvr receiver)
| Method Detail |
public java.lang.String displayString()
displayString in class AboraHeaperpublic void inspect()
inspect in class AboraHeaperpublic void inspectCanopy()
public void inspectMenuArray()
public void inspectOrgls()
public void printOn(java.io.PrintWriter aStream)
printOn in class Heaperpublic void showOn(java.lang.Object oo)
public void actualDelayedStoreBackfollow(PropFinder finder,
RecorderFossil fossil,
ResultRecorder recorder,
HashSetCache hCrumCache)
public boolean anyPasses(PropFinder finder)
public BertCrum bertCrum()
public void delayedStoreBackfollow(PropFinder finder,
RecorderFossil fossil,
ResultRecorder recorder,
HashSetCache hCrumCache)
public void ringDetectors(FeEdition edition)
public int actualHashForEqual()
actualHashForEqual in class Heaperpublic boolean isEmpty()
public boolean isEqual(Heaper other)
Heaper
isEqual in class Heaperpublic boolean inTrace(TracePosition trace)
public TracePosition hCut()
public Mapping mappingTo(TracePosition trace,
Mapping initial)
public ImmuSet oParents()
public boolean propagateBCrum(BertCrum newBCrum)
public void actualDelayedStoreBackfollow(PropFinder finder,
RecorderFossil recorder,
HashSetCache hCrumCache)
public void actualStoreBackfollow(PropFinder finder,
MuTable table,
HashSetCache hCrumCache)
public void delayedStoreBackfollow(PropFinder finder,
RecorderFossil recorder,
HashSetCache hCrumCache)
public ImmuSet hCrums()
public void storeBackfollow(PropFinder finder,
MuTable table,
HashSetCache hCrumCache)
public void sendSelfTo(Xmtr xmtr)
Heaper
sendSelfTo in class Heaperpublic static void linkTimeNonInherited()
public static int nextHistoryCrumSequenceNumber()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||