Index - All Packages - All Categories - All Classes

Class FlockInfo

Contains all the information the packer needs to know about the flock on disk (except forwarder stuff). The packer knows about forwarders by having several FlockInfo objects for the same flock. We should consider having a separate class for forward information that does not contain the flags and the oldSize.

myOldSize - this is the size of the flock on disk as of the last commit. If this is zero, it is uninitialized. This is used to refitting without bringing in the snarf for this flock.

myFlags - keeps track of whether the receive is a new flock (isn't on disk yet), is forgotten, is in the process is fchanging its forggten state (isChanging), and is Update (contents have changed).

Package: Udanax-Gold
All Superclasses: Object Heaper FlockLocation
Immediate Subclasses: TestFlockInfo
Protocols: Object
Categories: Xanadu-Snarf

Class Methods

contentsDirty


destroyed


dismantled


forgotten: shep with: snarfID with: index



Overridden by: TestFlockInfo class

forgottenMask


forgottenStateDirty


forwarded


getInfo: index


isNewMask


make: shep with: index

Make a ShepherdLocation for a new shepherd. Index is the index into
the new flocks table in the snarfPacker. The newmask indicates
that the index is into the newFlocks table rather than a snarf.

Overrides: FlockLocation class
Overridden by: TestFlockInfo class

make: info with: snarfID with: index

Make a flockInfo to a new location for the same shepherd. Clear the new flag, and keep the rest the same.

Overridden by: TestFlockInfo class

remembered: shep with: snarfID with: index



Overridden by: TestFlockInfo class

removeInfo: token


shepNilInPersistent


staticTimeNonInherited


testContentsDirty: info


testForgotten: info



Instance Methods

clearContentsDirty

Reset my contentsDirty flag. This is primarily used to know when a flock has
changed again after some info has been computed from it.

commitFlags

A write to the disk has happened. Commit all the changes in the flags.

create: shep with: snarfID with: index with: flags with: size



Overridden by: TestFlockInfo

fetchShepherd


flags


flockHash


forward: index

As a freshly forwarded flock, I'll be treated as new for a while.

getShepherd


isContentsDirty

Return true if my shepherd has changed and informed the SnarfPacker.

isDestroyed

Return true if our shepherd has received destroy

isDirty

Return true if anything about my flock is changing (including if the flock is new).

isDismantled

Return true if our shepherd has been dismantled

isForgotten

Return true if my Shepherd's new state is it should be forgotten.

isForgottenStateDirty

Return true if the shepherd I describe is changing between being forgotten and being remembered.

isForwarded

Return true if my shepherd has been forwarded.

isNew

Return true if the associated flock is new. If so, myIndex
is an offset into the new flocks table inside the SnarfPacker.

markContentsDirty

Set my contentsDirty flag. Return false if I was already dirty (in either way).

markDestroyed

Set my shepNil flag.

markDismantled

Set my Dismantled flag. BLAST if already set.

markForgotten

Set my Forgotten flag. Return false if I was already dirty.

markRemembered

Clear my Forgotten flag. Return false if I was already dirty.

markShepNil

Set my shepNil flag.

oldSize


printOn: oo



Overrides: FlockLocation

registerInfo

Register this info as the best known informatino about the flock.

setSize: size


token


wasForgotten

Return true if my shepherd was forgotten after the last commit.

wasShepNilInPersistent

Return true if our shepherd pointer was nil in makePersistent


Index - All Packages - All Categories - All Classes