|
||||||||
| 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.snarf.Abraham
|
+--org.abora.gold.turtle.AgendaItem
|
+--org.abora.gold.turtle.Agenda
An AgendaItem composed of other AgendaItems. My stepping action consists of stepping one
of my component items. When I exhaust a component item, I unregister and destroy it.
Note: The order in which I select a component item is currently unspecified and
uncontrolled (depending on "MuSet::stepper()"). Eventually, it may make sense for me to
use the Escalator Algorithm to do prioritized scheduling.
Empty Agendas are also made as do-nothing AgendaItems. The currently get duely get
scheduled, stepped, and unscheduled. A possible optimization would be to avoid scheduling
do-nothing AgendaItems.
| Field Summary | |
protected MuSet |
myToDoList
|
| 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 | |
Agenda()
|
|
Agenda(Rcvr receiver)
|
|
| Method Summary | |
void |
dismantle()
Disconnect me from the universe and throw me off the disk. For GC safety, we keep a strongptr to ourself -- is this still necessary? |
static Heaper |
make()
|
void |
registerItem(AgendaItem item)
By registering the item, we ensure that if we crash and reboot, the item will be eventually and repeatedly stepped until step returns FALSE, provided we are registered up through the Turtle. |
void |
sendSelfTo(Xmtr xmtr)
do nothing |
boolean |
step()
'step' one of my component items. |
void |
unregisterItem(AgendaItem item)
An item should be unregistered either when it is done (when 'step' returns FALSE) or when it no longer represents something that needs to be done should we crash and reboot. Unregistering an item which is not registered and already forgotten is legal and has no effect. |
| Methods inherited from class org.abora.gold.turtle.AgendaItem |
forgetYourself, newShepherd, rememberYourself, schedule, unschedule |
| Methods inherited from class org.abora.gold.snarf.Abraham |
actualHashForEqual, becomeStub, cleanupGarbage, contentsHash, destroy, destruct, diskUpdate, dismantleStatistics, fetchInfo, fetchShepherd, flockInfo, forget, getInfo, getShepherdStubCategory, initTimeNonInherited, isConstructed, isDestructed, isEqual, isKindOf, isPurgeable, isShepherd, isStub, isUnlocked, linkTimeNonInherited, remember, restartAbraham, restartAbraham, returnToken, staticTimeNonInherited, token |
| Methods inherited from class org.abora.gold.java.AboraHeaper |
asOop, basicInspect, displayString, error, hack, halt, inspect, 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 MuSet myToDoList
| Constructor Detail |
public Agenda()
public Agenda(Rcvr receiver)
| Method Detail |
public void registerItem(AgendaItem item)
public boolean step()
step in class AgendaItempublic void unregisterItem(AgendaItem item)
public void dismantle()
Abraham
dismantle in class AgendaItempublic void sendSelfTo(Xmtr xmtr)
Heaper
sendSelfTo in class AgendaItempublic static Heaper make()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||