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 Methods

accessClubID

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 ()

Instance Methods

actualHashForEqual


create: encrypterName with: encrypter


encrypter

Return the Encrypter used for sending sensitive parameters to the Server. (eg. MatchLock::encryptedPassword ())

getEncrypterName

Essential. The encryption scheme to be used for sending sensitive parameters to the Server. (eg. MatchLock::encryptedPassword ())

isEqual: other


newClubDescription: membership


pointerSpec

Essential. A specification for arrays of pointers.


Index - All Packages - All Categories - All Classes