Index - All Packages - All Categories - All Classes
Class FeServer
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: [nil].
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
Package: Udanax-Gold
All Superclasses: Object Heaper
Protocols: Object
Categories: Xanadu-nkernel
Class MethodsaccessClubID
Essential. The ID of the System Access Club.
adminClubID
Essential. The ID of the System Admin Club.
archiveClubID
Essential. The ID of the System Archive Club.
assignID: range
Essential. Assign a new global ID to a RangeElement. If nil, 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.
assignID: range with: iD
Essential. Assign a new global ID to a RangeElement. If nil, 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.
cleanupGarbage
clubDirectoryID
The ID of a Work mapping Club names to FeClubs
clubID: 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: 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
The names of all global Clubs. Requires read permission on the clubDirectory Work
current
The Server object for the current connection to Xanadu
currentTime
The current clock time on the Server, in seconds since the 'beginning of time'
disableAccess: clubID
Disable login access to a Club, by revoking its direct membership of the System Access Club
emptyClubID
Essential. The ID of the Universal Empty Club.
enableAccess: clubID
Enable login access to a Club, by listing it as a direct member of the System Access Club
encrypterName
Essential. The encryption scheme to be used for sending sensitive parameters to the Server. (eg. MatchLock::encryptedPassword ())
endorsementFilterSpace
The CoordinateSpace used for filtering endorsements on this Server. Equivalent to
this->filterSpace (this->endorsementSpace ())
endorsementRegion: clubs with: tokens
endorsementSpace
A set of endorsements for each Club endorsing with each token
exitTimeNonInherited
force
Flush the Server's output buffers.
gateLockSmith
The LockSmith which hands out locks when a client tries to login through the GateKeeper with an invalid Club ID or name.
get: iD
Essential. Get the object associated with the given global ID. Typically, it will be a Work. Blast if there is nothing there
globalClubs
The Work mapping names to global Club Works
identifier
Essential. A sequence of numbers uniquely identifying this Server
iDOf: 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: value
Essential. Find all the global IDs on this Server that have been assigned to this RangeElement
iDsOfRange: edition
Find all the global IDs on this Server that have been assigned to any of the RangeElements in an Edition
implicitReceiver
Get the receiver for wire requests.
infostProtocol
isAdmitted
Return true if the current session has successfully logged into the Server yet.
linkTimeNonInherited
login: 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: 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
make
nameClub: clubName with: clubID
Add a Club to the global list of club names. Blasts if there is already a Club by that name.
nilClubID
publicClubID
Essential. The ID of the Universal Public Club.
publicKey
Essential. The public key to be used for sending sensitive parameters to the Server. (eg. MatchLock::encryptedPassword ())
removeWaitDetector: detector
This is currently a no-op.
renameClub: oldName with: 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.
setCurrentAuthor: iD
Set the Server side fluid for the CurrentAuthor.
setCurrentKeyMaster: km
Set the Server side fluid for the CurrentKeyMaster.
setInitialEditClub: iD
Set the Server side fluid for the InitialEditClub.
setInitialOwner: iD
Set the Server side fluid for the InitialOwner.
setInitialReadClub: iD
Set the Server side fluid for the InitialReadClub.
setInitialSponsor: iD
Set the Server side fluid for the InitialSponsor.
staticTimeNonInherited
unnameClub: clubName
Removes a naming for a Club. Blasts if there is no Club by that clubName.
waitForConsequences
Essential. The Detector will be triggered when the consequences of all previous local requests have finished propagating through this Server. (eg. 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: detector
Essential. The Detector will be triggered when the consequences of all previous local requests have finished propagating through this Server. (eg. 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
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: 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 ()