org.abora.gold.traces
Class DagWood

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.snarf.Abraham
                    |
                    +--org.abora.gold.traces.DagWood

public class DagWood
extends Abraham

Each dagwood defines a partial ordering of TracePositions. Several implementation
variables use longs because they represent the size of an in-core array (which can''t get
that large). The variable ''myRoot'' is just for debugging for the moment.


Field Summary
protected  TracePosition myCachedPosition
           
protected  PrimIndexTable myNavCache
           
protected  TracePosition myRoot
           
protected  MuTable myTrunk
           
 
Fields inherited from class org.abora.gold.snarf.Abraham
DismantleStatistics, myHash, myInfo, myToken, TheTokenSource
 
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
DagWood()
           
DagWood(Rcvr receiver)
           
 
Method Summary
 PrimIndexTable cacheTracePos(TracePosition tracePos)
          Install the supplied branch and position as the navCache and return it.
 int contentsHash()
          A hash of the contents of this flock
 void inspect()
           
 void installBranchAfter(BranchDescription branch, TracePosition anchorTrace)
          Lookup the anchorTrace to find the branch hanging off it.
 TracePosition newPosition()
          This should really create a new root, but that's harder to draw!!.
 void restartDagWood(Rcvr trans)
          re-initialize the non-persistent part
 TracePosition root()
           
 void sendSelfTo(Xmtr xmtr)
          do nothing
 BranchDescription successorBranchOfPosition(BranchDescription branch, int position)
          Return all the successors of the receiver in the trace tree.
 MuSet successorsOf(TracePosition trace)
          Return the first used positions on all the successors of trace.
 
Methods inherited from class org.abora.gold.snarf.Abraham
actualHashForEqual, becomeStub, cleanupGarbage, destroy, destruct, diskUpdate, dismantle, dismantleStatistics, fetchInfo, fetchShepherd, flockInfo, forget, getInfo, getShepherdStubCategory, initTimeNonInherited, isConstructed, isDestructed, isEqual, isKindOf, isPurgeable, isShepherd, isStub, isUnlocked, linkTimeNonInherited, newShepherd, remember, restartAbraham, restartAbraham, returnToken, staticTimeNonInherited, token
 
Methods inherited from class org.abora.gold.xpp.basic.Heaper
abstractDeclarationFor, abstractTypeFor, addMethodAttributeToInOf, addPackage, addPackageCategory, allClientProtocolOn, argumentTypesFor, arrow, blast, blast, BLAST, cachePromiseNameTable, cachePromiseNameTableIn, canYouBecome, cast, cleanPromiseClasses, clientClassesDo, clientFunctionsOn, clientMethodsOn, clientProtocol, clientProtocolDo, clientProtocolOn, clientProtocolOn, collectibleClasses, compare, compileClientSubclasses, compileConstantPromiseMethods, compileCreateFromRcvr, compileEQ, compileGeneratedClassMethod, compileGeneratedMethod, compileHook, compilePromise, compilePromiseDefaultMethods, compilePromiseFluidDeclarations, compilePromiseHandlers, compilePromiseMethods, compileRequestCreateMsgInArguments, compileRequestEvaluateMsgInReturningArguments, compileRPCSpecialistEvaluateMsgForReturningArguments, compileSendSelfTo, compileSendSelfToSendHook, compileStubbleMethods, compileSubclassStubbleMethods, computeMangle, computePreorder, constantTypeValue, convert, convertCopyDeclarations, convertDeferredDeclarations, convertProxyDeclarations, convertSubclassCopyDeclarations, convertSubclassDeferredDeclarations, convertSubclassProxyDeclarations, copyReferencesToType, create, create, create, create, create, create, create, create, create, create, createRequestClassArguments, definesProxyMethods, delete, deref, destructor, enum, enumFlags, equals, exportName, fetchAttribute, fetchPackage, fetchSuperCategory, fileOutClientProtocol, findCategory, findSenderAndReceiverMethods, findTailInto, flushPromiseNameTable, foo, freezeClientClasses, freezeClientProtocol, freezeStProtocol, frozenClasses, garbageCollect, garbageCollectFrom, gcOpportunity, gcOpportunity, generatedCategory, generatePromiseNames, getCategory, getOrMakePackage, getSuperCategory, handlerSignaturesFrom, hash, hashForEqual, hasProxyMethods, info_clientClasses, info_clientSideClasses, info_promiseClasses, info_stProtocol, inGC, initializedClasses, initializingClasses, initPackages, initStringHashSBoxes, inspectPieces, instanceSize, IntegerVar, isByProxy, isConstructed, isDestructed, isEqualOrSubclassOf, isGenerated, isIntType, isKindOf, isRawType, make, makeClassTable, makeFillTable, makeRequestTable, mangle, markChildren, markCount, markInstances, mayBecome, mayBecomeAnySubclassOf, new1, newX, nonCopyVariables, notWorking, pack, packageClasses, packagingCategory, parseExportName, passe, pointerToStaticMember, pointerToStaticMember, pointerToVirtualMember, preorderMax, preorderNumber, printOn, PROBLEM, problems, promiseClass, promiseDefaultValue, promiseName, promiseNameTable, promiseToAbstract, registerPackageCategory, removeGeneratedCode, removeStubbleMethods, removeSubclassGeneratedCode, removeSubclassStubbleMethods, requestProcedure, requestProceduresFrom, returnTypeFor, rootName, scheduleTermination, sendProxyTo, serverNameFor, setGC, signal, signals, smalltalkSelector, stClientProtocol, stubbleSelectorTokenReturnsArguments, subclassNonCopyVariables, takeOop, togglePromiseName, togglePromiseOfParse, unimplemented, unmangle, verifyFreeze, wipeStubble
 
Methods inherited from class org.abora.gold.java.AboraHeaper
asOop, basicInspect, displayString, 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

myRoot

protected TracePosition myRoot

myTrunk

protected MuTable myTrunk

myCachedPosition

protected TracePosition myCachedPosition

myNavCache

protected PrimIndexTable myNavCache
Constructor Detail

DagWood

public DagWood()

DagWood

public DagWood(Rcvr receiver)
Method Detail

root

public TracePosition root()

successorBranchOfPosition

public BranchDescription successorBranchOfPosition(BranchDescription branch,
                                                   int position)
Return all the successors of the receiver in the trace tree.


successorsOf

public MuSet successorsOf(TracePosition trace)
Return the first used positions on all the successors of trace.


installBranchAfter

public void installBranchAfter(BranchDescription branch,
                               TracePosition anchorTrace)
Lookup the anchorTrace to find the branch hanging off it. If there isn't one,
then install branch as that branch. Otherwise walk a balanced walk down the
binary tree of branches to find a place to hang the new branch.


newPosition

public TracePosition newPosition()
This should really create a new root, but that's harder to draw!!.


cacheTracePos

public PrimIndexTable cacheTracePos(TracePosition tracePos)
Install the supplied branch and position as the navCache and return it.


inspect

public void inspect()
Overrides:
inspect in class AboraHeaper

restartDagWood

public void restartDagWood(Rcvr trans)
re-initialize the non-persistent part


contentsHash

public int contentsHash()
Description copied from class: Abraham
A hash of the contents of this flock

Overrides:
contentsHash in class Abraham

sendSelfTo

public void sendSelfTo(Xmtr xmtr)
Description copied from class: Heaper
do nothing

Overrides:
sendSelfTo in class Abraham


Translation - Copyright © 2003 David G Jones. All Rights Reserved.
Original Udanax-Gold - Copyright © 1979-1999 Udanax.com. All rights reserved.