org.abora.gold.nkernel
Class FeServer

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.basic.Heaper
              |
              +--org.abora.gold.nkernel.FeServer

public class FeServer
extends Heaper

The fundamental Server object. Used for managing the global name space, creating Works,
Editions, and Clubs, and other general server management operations.
Many operations in the protocol use fluidly bound parameters. The possible parameters are:
FeServer defineClientFluid: #CurrentServer with: Listener emulsion with: [NULL].
CurrentKeyMaster - a KeyMaster for providing authority to read and/or edit
CurrentAuthor - the ID of the Club under whose name Work revisions are being done;
requires signature authority
InitialReadClub - the ID of the initial read Club of all newly created Works and Clubs
InitialEditClub - the ID of the initial edit Club of all newly created Works and Clubs
InitialOwner - the ID of the Club which owns newly created RangeElements
InitialSponsor - the ID of the Club which sponsors newly created Works and Clubs; requires
signature authority


Field Summary
protected  Encrypter myEncrypter
           
protected  Sequence myEncrypterName
           
 
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
FeServer(Sequence encrypterName, Encrypter encrypter)
           
 
Method Summary
static ID accessClubID()
          Essential.
 int actualHashForEqual()
           
static ID adminClubID()
          Essential.
static ID archiveClubID()
          Essential.
static ID assignID(FeRangeElement range)
          Essential.
static ID assignID(FeRangeElement range, ID iD)
          Essential.
static void cleanupGarbage()
          Heaper cleanupGarbage
static ID clubDirectoryID()
          The ID of a Work mapping Club names to FeClubs
static ID clubID(Sequence clubName)
          Looks up the ID of a named Club in the directory maintained by the System Admin Club.
Requires read permission on the directory.
static Sequence clubName(ID iD)
          Finds the name of a Club in the global directory maintained by the System Admin Club.
Blasts if there is no name for that Club, or if there is more than one.
static SequenceRegion clubNames()
          The names of all global Clubs.
static FeServer current()
          The Server object for the current connection to Xanadu
static IntegerVar currentTime()
          The current clock time on the Server, in seconds since the 'beginning of time'
static void disableAccess(ID clubID)
          Disable login access to a Club, by revoking its direct membership of the System Access
Club
static ID emptyClubID()
          Essential.
static void enableAccess(ID clubID)
          Enable login access to a Club, by listing it as a direct member of the System Access Club
 Encrypter encrypter()
          Return the Encrypter used for sending sensitive parameters to the Server.
static Sequence encrypterName()
          Essential.
static FilterSpace endorsementFilterSpace()
          The CoordinateSpace used for filtering endorsements on this Server.
static CrossRegion endorsementRegion(IDRegion clubs, IDRegion tokens)
          A set of endorsements for each Club endorsing with each token
static CrossSpace endorsementSpace()
          A set of endorsements for each Club endorsing with each token
static void exitTimeNonInherited()
           
static void force()
          Flush the Server's output buffers.
static FeLockSmith gateLockSmith()
          The LockSmith which hands out locks when a client tries to login through the GateKeeper
with an invalid Club ID or name.
static FeRangeElement get(ID iD)
          Essential.
 Sequence getEncrypterName()
          Essential.
static FeWork globalClubs()
          The Work mapping names to global Club Works
static Sequence identifier()
          Essential.
static ID iDOf(FeRangeElement value)
          Find the unique global ID on this Server that has been assigned to this RangeElement.
Blast if there is none, or more than one.
Equivalent to
CAST(ID, this->iDsOf (value)->theOne ())
static IDRegion iDsOf(FeRangeElement value)
          Essential.
static IDRegion iDsOfRange(FeEdition edition)
          Find all the global IDs on this Server that have been assigned to any of the RangeElements
in an Edition
static FeServer implicitReceiver()
          Get the receiver for wire requests.
static void info()
          {ID CLIENT} accessClubID
{ID CLIENT} adminClubID
{FeAdminer CLIENT} adminer
{ID CLIENT} archiveClubID
{FeArchiver CLIENT} archiver
{ID CLIENT} assignID: range {FeRangeElement} with: iD {ID default: NULL}
{ID CLIENT} clubDirectoryID
{CrossSpace CLIENT} crossSpace: subSpaces {PtrArray of: CoordinateSpace}
{IntegerVar CLIENT} currentTime
{FilterSpace CLIENT} endorsementFilterSpace
{CrossRegion CLIENT of: IDRegion and: IDRegion} endorsementRegion: clubs {IDRegion | NULL}
with: tokens {IDRegion | NULL}
{CrossSpace CLIENT of: IDSpace and: IDSpace} endorsementSpace
{FilterSpace CLIENT} filterSpace: baseSpace {CoordinateSpace}
{FeRangeElement CLIENT} get: iD {ID}
{Sequence CLIENT} identifier
{ID CLIENT} iDOf: value {FeRangeElement}
{IDRegion CLIENT} iDsOf: value {FeRangeElement}
{IDRegion CLIENT} iDsOfRange: edition {FeEdition}
{PrimFloatSpec CLIENT} iEEESpec: precision {Int32}
{ID CLIENT} importID: data {UInt8Array}
{IDRegion CLIENT} importIDRegion: data {UInt8Array}
{IDSpace CLIENT} importIDSpace: data {UInt8Array}
{IntegerSpace CLIENT} integerSpace
{FeBooLockSmith CLIENT} newBooLockSmith
{FeChallengeLockSmith CLIENT} newChallengeLockSmith: publicKey {UInt8Array} with:
encrypterName {PrimIntegerArray}
{FeClub CLIENT} newClub: description {FeEdition}
{FeClubDescription CLIENT} newClubDescription: membership {(FeSet of: FeClub)
| NULL} with: lockSmith {FeLockSmith default: NULL}
{FeClubDescription CLIENT} newClubDescription: members {FeWorkSet} with: lockSmith
{FeLockSmith} with: home {FeWork | NULL}
{FeDataHolder CLIENT} newDataHolder: value {PrimValue}
{FeEdition CLIENT} newEdition: values {PrimArray of: FeRangeElement} with: positions
{XuRegion default: NULL} with: ordering {OrderSpec default: NULL}
{FeEdition CLIENT} newEditionWith: position {Position} with: value {FeRangeElement}
{FeEdition CLIENT} newEditionWithAll: domain {XuRegion} with: value {FeRangeElement}
{FeEdition CLIENT} newEmptyEdition: cs {CoordinateSpace}
{FeHyperLink CLIENT} newHyperLink: types {(FeSet of: FeWork)
default: NULL} with: leftEnd {FeHyperRef default: NULL} with: rightEnd {FeHyperRef
default: NULL}
{ID CLIENT} newID
{FeIDHolder CLIENT} newIDHolder: iD {ID}
{IDSpace CLIENT} newIDSpace
{FeLabel CLIENT} newLabel
{FeMatchLockSmith CLIENT} newMatchLockSmith: scrambledPassword {UInt8Array} with:
scramblerName {PrimIntegerArray}
{FeMultiLockSmith CLIENT} newMultiLockSmith
{FeMultiRef CLIENT} newMultiRef: refs {(PtrArray of: FeHyperRef)
default: NULL} with: workContext {FeWork default: NULL} with: originalContext {FeWork
default: NULL} with: pathContext {FePath default: NULL}
{FePath CLIENT} newPath: labels {(PtrArray of: FeLabel)
default: NULL}
{FeRangeElement CLIENT} newPlaceHolder
{FeEdition CLIENT} newPlaceHolders: domain {XuRegion}
{FeSet CLIENT} newSet: values {(PtrArray of: FeRangeElement)
default: NULL}
{FeSingleRef CLIENT} newSingleRef: excerpt {FeEdition | NULL} with: workContext {FeWork
default: NULL} with: originalContext {FeWork default: NULL} with: pathContext {FePath
default: NULL}
{FeText CLIENT} newText: data {PrimArray.X default: NULL}
{FeWallLockSmith CLIENT} newWallLockSmith
{FeWork CLIENT} newWork: contents {FeEdition}
{ID CLIENT} nullClubID
{PrimPointerSpec CLIENT} pointerSpec
{ID CLIENT} publicClubID
{FeKeyMaster CLIENT} publicKeyMaster
{RealSpace CLIENT} realSpace
{FeSession CLIENT} session
{void CLIENT} waitForConsequences: detector {PrWaitDetector}
{void CLIENT} waitForWrite: detector {PrWaitDetector}
{FeWrapperSpec CLIENT} wrapperSpec: name {Sequence}
static boolean isAdmitted()
          Return true if the current session has successfully logged into the Server yet.
 boolean isEqual(java.lang.Object other)
           
static void linkTimeNonInherited()
           
static Lock login(ID clubID)
          Essential.
static Lock loginByName(Sequence clubName)
          Essential.
static Heaper make()
           
static void nameClub(Sequence clubName, ID clubID)
          Add a Club to the global list of club names.
 FeClubDescription newClubDescription(FeSet membership)
           
static ID nullClubID()
           
 PrimPointerSpec pointerSpec()
          Essential.
static ID publicClubID()
          Essential.
static UInt8Array publicKey()
          Essential.
static void removeWaitDetector(FeWaitDetector detector)
          This is currently a no-op.
static void renameClub(Sequence oldName, Sequence newName)
          Changes the name of an existing Club.
static void setCurrentAuthor(ID iD)
          Set the Server side fluid for the CurrentAuthor.
static void setCurrentKeyMaster(FeKeyMaster km)
          Set the Server side fluid for the CurrentKeyMaster.
static void setInitialEditClub(ID iD)
          Set the Server side fluid for the InitialEditClub.
static void setInitialOwner(ID iD)
          Set the Server side fluid for the InitialOwner.
static void setInitialReadClub(ID iD)
          Set the Server side fluid for the InitialReadClub.
static void setInitialSponsor(ID iD)
          Set the Server side fluid for the InitialSponsor.
static void staticTimeNonInherited()
           
static void unnameClub(Sequence clubName)
          Removes a naming for a Club.
static FeWaitDetector waitForConsequences()
          Essential.
static void waitForConsequences(FeWaitDetector detector)
          Essential.
static FeWaitDetector waitForWrite()
          Essential.
static void waitForWrite(FeWaitDetector detector)
          Essential.
 
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, destroy, destruct, 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, isEqual, isEqualOrSubclassOf, isGenerated, isIntType, isKindOf, isRawType, isUnlocked, 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, sendSelfTo, 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, 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

myEncrypterName

protected Sequence myEncrypterName

myEncrypter

protected Encrypter myEncrypter
Constructor Detail

FeServer

public FeServer(Sequence encrypterName,
                Encrypter encrypter)
Method Detail

pointerSpec

public PrimPointerSpec pointerSpec()
Essential. A specification for arrays of pointers.


encrypter

public Encrypter encrypter()
Return the Encrypter used for sending sensitive parameters to the Server. (e.g.
MatchLock::encryptedPassword ())


getEncrypterName

public Sequence getEncrypterName()
Essential. The encryption scheme to be used for sending sensitive parameters to the
Server. (e.g. MatchLock::encryptedPassword ())


newClubDescription

public FeClubDescription newClubDescription(FeSet membership)

actualHashForEqual

public int actualHashForEqual()
Overrides:
actualHashForEqual in class Heaper

isEqual

public boolean isEqual(java.lang.Object other)

cleanupGarbage

public static void cleanupGarbage()
Description copied from class: Heaper
Heaper cleanupGarbage


exitTimeNonInherited

public static void exitTimeNonInherited()

linkTimeNonInherited

public static void linkTimeNonInherited()

staticTimeNonInherited

public static void staticTimeNonInherited()

assignID

public static ID assignID(FeRangeElement range)
Essential. Assign a new global ID to a RangeElement. If NULL, then a new unique ID is
generated for it, and this requires no permissions. If an ID is supplied, the
CurrentKeyMaster must have been granted authority to assign this ID by the Adminer.
Returns the newly assigned ID.


current

public static FeServer current()
The Server object for the current connection to Xanadu


nullClubID

public static ID nullClubID()

clubID

public static ID clubID(Sequence clubName)
Looks up the ID of a named Club in the directory maintained by the System Admin Club.
Requires read permission on the directory. Blasts if there is no Club with that name.


clubName

public static Sequence clubName(ID iD)
Finds the name of a Club in the global directory maintained by the System Admin Club.
Blasts if there is no name for that Club, or if there is more than one. Requires read
permission on the clubDirectory Work


clubNames

public static SequenceRegion clubNames()
The names of all global Clubs. Requires read permission on the clubDirectory Work


disableAccess

public static void disableAccess(ID clubID)
Disable login access to a Club, by revoking its direct membership of the System Access
Club


enableAccess

public static void enableAccess(ID clubID)
Enable login access to a Club, by listing it as a direct member of the System Access Club


endorsementFilterSpace

public static FilterSpace endorsementFilterSpace()
The CoordinateSpace used for filtering endorsements on this Server. Equivalent to
this->filterSpace (this->endorsementSpace ())


endorsementRegion

public static CrossRegion endorsementRegion(IDRegion clubs,
                                            IDRegion tokens)
A set of endorsements for each Club endorsing with each token


endorsementSpace

public static CrossSpace endorsementSpace()
A set of endorsements for each Club endorsing with each token


globalClubs

public static FeWork globalClubs()
The Work mapping names to global Club Works


isAdmitted

public static boolean isAdmitted()
Return true if the current session has successfully logged into the Server yet.


nameClub

public static void nameClub(Sequence clubName,
                            ID clubID)
Add a Club to the global list of club names. Blasts if there is already a Club by that
name.


renameClub

public static void renameClub(Sequence oldName,
                              Sequence newName)
Changes the name of an existing Club. Blasts if there is no Club with the old name, or
there already is a Club with the new name.


unnameClub

public static void unnameClub(Sequence clubName)
Removes a naming for a Club. Blasts if there is no Club by that clubName.


implicitReceiver

public static FeServer implicitReceiver()
Get the receiver for wire requests.


make

public static Heaper make()

info

public static void info()
{ID CLIENT} accessClubID
{ID CLIENT} adminClubID
{FeAdminer CLIENT} adminer
{ID CLIENT} archiveClubID
{FeArchiver CLIENT} archiver
{ID CLIENT} assignID: range {FeRangeElement} with: iD {ID default: NULL}
{ID CLIENT} clubDirectoryID
{CrossSpace CLIENT} crossSpace: subSpaces {PtrArray of: CoordinateSpace}
{IntegerVar CLIENT} currentTime
{FilterSpace CLIENT} endorsementFilterSpace
{CrossRegion CLIENT of: IDRegion and: IDRegion} endorsementRegion: clubs {IDRegion | NULL}
with: tokens {IDRegion | NULL}
{CrossSpace CLIENT of: IDSpace and: IDSpace} endorsementSpace
{FilterSpace CLIENT} filterSpace: baseSpace {CoordinateSpace}
{FeRangeElement CLIENT} get: iD {ID}
{Sequence CLIENT} identifier
{ID CLIENT} iDOf: value {FeRangeElement}
{IDRegion CLIENT} iDsOf: value {FeRangeElement}
{IDRegion CLIENT} iDsOfRange: edition {FeEdition}
{PrimFloatSpec CLIENT} iEEESpec: precision {Int32}
{ID CLIENT} importID: data {UInt8Array}
{IDRegion CLIENT} importIDRegion: data {UInt8Array}
{IDSpace CLIENT} importIDSpace: data {UInt8Array}
{IntegerSpace CLIENT} integerSpace
{FeBooLockSmith CLIENT} newBooLockSmith
{FeChallengeLockSmith CLIENT} newChallengeLockSmith: publicKey {UInt8Array} with:
encrypterName {PrimIntegerArray}
{FeClub CLIENT} newClub: description {FeEdition}
{FeClubDescription CLIENT} newClubDescription: membership {(FeSet of: FeClub)
| NULL} with: lockSmith {FeLockSmith default: NULL}
{FeClubDescription CLIENT} newClubDescription: members {FeWorkSet} with: lockSmith
{FeLockSmith} with: home {FeWork | NULL}
{FeDataHolder CLIENT} newDataHolder: value {PrimValue}
{FeEdition CLIENT} newEdition: values {PrimArray of: FeRangeElement} with: positions
{XuRegion default: NULL} with: ordering {OrderSpec default: NULL}
{FeEdition CLIENT} newEditionWith: position {Position} with: value {FeRangeElement}
{FeEdition CLIENT} newEditionWithAll: domain {XuRegion} with: value {FeRangeElement}
{FeEdition CLIENT} newEmptyEdition: cs {CoordinateSpace}
{FeHyperLink CLIENT} newHyperLink: types {(FeSet of: FeWork)
default: NULL} with: leftEnd {FeHyperRef default: NULL} with: rightEnd {FeHyperRef
default: NULL}
{ID CLIENT} newID
{FeIDHolder CLIENT} newIDHolder: iD {ID}
{IDSpace CLIENT} newIDSpace
{FeLabel CLIENT} newLabel
{FeMatchLockSmith CLIENT} newMatchLockSmith: scrambledPassword {UInt8Array} with:
scramblerName {PrimIntegerArray}
{FeMultiLockSmith CLIENT} newMultiLockSmith
{FeMultiRef CLIENT} newMultiRef: refs {(PtrArray of: FeHyperRef)
default: NULL} with: workContext {FeWork default: NULL} with: originalContext {FeWork
default: NULL} with: pathContext {FePath default: NULL}
{FePath CLIENT} newPath: labels {(PtrArray of: FeLabel)
default: NULL}
{FeRangeElement CLIENT} newPlaceHolder
{FeEdition CLIENT} newPlaceHolders: domain {XuRegion}
{FeSet CLIENT} newSet: values {(PtrArray of: FeRangeElement)
default: NULL}
{FeSingleRef CLIENT} newSingleRef: excerpt {FeEdition | NULL} with: workContext {FeWork
default: NULL} with: originalContext {FeWork default: NULL} with: pathContext {FePath
default: NULL}
{FeText CLIENT} newText: data {PrimArray.X default: NULL}
{FeWallLockSmith CLIENT} newWallLockSmith
{FeWork CLIENT} newWork: contents {FeEdition}
{ID CLIENT} nullClubID
{PrimPointerSpec CLIENT} pointerSpec
{ID CLIENT} publicClubID
{FeKeyMaster CLIENT} publicKeyMaster
{RealSpace CLIENT} realSpace
{FeSession CLIENT} session
{void CLIENT} waitForConsequences: detector {PrWaitDetector}
{void CLIENT} waitForWrite: detector {PrWaitDetector}
{FeWrapperSpec CLIENT} wrapperSpec: name {Sequence}


accessClubID

public static ID accessClubID()
Essential. The ID of the System Access Club.


adminClubID

public static ID adminClubID()
Essential. The ID of the System Admin Club.


archiveClubID

public static ID archiveClubID()
Essential. The ID of the System Archive Club.


emptyClubID

public static ID emptyClubID()
Essential. The ID of the Universal Empty Club.


encrypterName

public static Sequence encrypterName()
Essential. The encryption scheme to be used for sending sensitive parameters to the
Server. (e.g. MatchLock::encryptedPassword ())


login

public static Lock login(ID clubID)
Essential. Return a lock which, if satisfied, will give a KeyMaster logged in to that
Club. It will be able to exercise the authority of all of its superClubs.
The club must be in the System Access Club or another club must have been logged in during
this session.
If that doesn't hold, or there is no such club, returns the gateLockSpec chosen by the
Administrator if there is no such Club


loginByName

public static Lock loginByName(Sequence clubName)
Essential. Return a lock which, if satisfied, will give a KeyMaster logged in to the
named Club. It will be able to exercise the authority of all of its superClubs.
The club must be in the System Access Club or another club must have been logged in during
this session.
If that doesn't hold, or there is no such club, returns the gateLockSpec chosen by the
Administrator if there is no such Club


publicClubID

public static ID publicClubID()
Essential. The ID of the Universal Public Club.


publicKey

public static UInt8Array publicKey()
Essential. The public key to be used for sending sensitive parameters to the Server. (e.g.
MatchLock::encryptedPassword ())


force

public static void force()
Flush the Server's output buffers.


setCurrentAuthor

public static void setCurrentAuthor(ID iD)
Set the Server side fluid for the CurrentAuthor.


setCurrentKeyMaster

public static void setCurrentKeyMaster(FeKeyMaster km)
Set the Server side fluid for the CurrentKeyMaster.


setInitialEditClub

public static void setInitialEditClub(ID iD)
Set the Server side fluid for the InitialEditClub.


setInitialOwner

public static void setInitialOwner(ID iD)
Set the Server side fluid for the InitialOwner.


setInitialReadClub

public static void setInitialReadClub(ID iD)
Set the Server side fluid for the InitialReadClub.


setInitialSponsor

public static void setInitialSponsor(ID iD)
Set the Server side fluid for the InitialSponsor.


assignID

public static ID assignID(FeRangeElement range,
                          ID iD)
Essential. Assign a new global ID to a RangeElement. If NULL, then a new unique ID is
generated for it, and this requires no permissions. If an ID is supplied, the
CurrentKeyMaster must have been granted authority to assign this ID by the Adminer.
Returns the newly assigned ID.


clubDirectoryID

public static ID clubDirectoryID()
The ID of a Work mapping Club names to FeClubs


get

public static FeRangeElement get(ID iD)
Essential. Get the object associated with the given global ID. Typically, it will be a
Work. Blast if there is nothing there


iDOf

public static ID iDOf(FeRangeElement value)
Find the unique global ID on this Server that has been assigned to this RangeElement.
Blast if there is none, or more than one.
Equivalent to
CAST(ID, this->iDsOf (value)->theOne ())


iDsOf

public static IDRegion iDsOf(FeRangeElement value)
Essential. Find all the global IDs on this Server that have been assigned to this
RangeElement


iDsOfRange

public static IDRegion iDsOfRange(FeEdition edition)
Find all the global IDs on this Server that have been assigned to any of the RangeElements
in an Edition


currentTime

public static IntegerVar currentTime()
The current clock time on the Server, in seconds since the 'beginning of time'


gateLockSmith

public static FeLockSmith gateLockSmith()
The LockSmith which hands out locks when a client tries to login through the GateKeeper
with an invalid Club ID or name.


identifier

public static Sequence identifier()
Essential. A sequence of numbers uniquely identifying this Server


removeWaitDetector

public static void removeWaitDetector(FeWaitDetector detector)
This is currently a no-op.


waitForConsequences

public static FeWaitDetector waitForConsequences()
Essential. The Detector will be triggered when the consequences of all previous local
requests have finished propagating through this Server. (e.g. Edition::transclusions may
take a while to collect all of the results.)
If you want to remove the Detector before it is triggered, destroy it.
Note that this is NOT a request to speed up the completion of the outstanding requests.
See WaitDetector::done ()


waitForConsequences

public static void waitForConsequences(FeWaitDetector detector)
Essential. The Detector will be triggered when the consequences of all previous local
requests have finished propagating through this Server. (e.g. Edition::transclusions may
take a while to collect all of the results.)
If you want to remove the Detector before it is triggered, destroy it.
Note that this is NOT a request to speed up the completion of the outstanding requests.
See WaitDetector::done ()


waitForWrite

public static FeWaitDetector waitForWrite()
Essential. The Detector will be triggered when the current state of the Server has been
reliably written to disk.
If you want to remove the Detector before it is triggered, destroy it.
See WaitDetector::done ()


waitForWrite

public static void waitForWrite(FeWaitDetector detector)
Essential. The Detector will be triggered when the current state of the Server has been
reliably written to disk.
If you want to remove the Detector before it is triggered, destroy it.
See WaitDetector::done ()



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