Go to the first, previous, next, last section, table of contents.


Class Muq

In the interests of trying to provide a simple, flexible, programmer-friendly environment, Muq attempts to provide as simple and regular an interface as practical. In particular, it attempts to provide as much functionality as possible via the central metaphor of properties on objects.

Thus, rather than provide a host of obscure primitives for reading and modifying server configuration parameters, Muq provides Class Muq, the properties of which display these parameters. Configuration parameters may thus be configured via the normal property-setting primitives.

There is normally only one instance of Class Muq in the db, available as .muq.

Reading and modifying host system configuration is done via a separate class. See section Class System.

Class Muq adds the following properties to those of Class Plain:

$S.allowUserLogging: Boolean policy flag.
$S.backupsDone: Total backups done over life of db, as published by vm.t.
$S.banned: Object indexing banned Guests.Users, else NIL.
$S.blocksRecoveredInLastGarbageCollect: As published by obj.t.
$S.bytesRecoveredInLastGarbageCollect: As published by obj.t.
$S.bytesBetweenGarbageCollects:   Controls frequency of interim gc.
$S.bytesInFreeBlocks:  Space in unused disk slots in db.
$S.bytesInUsefulData: Useful data stored in disk db.
$S.bytesLostInUsedBlocks: Disk bytes lost by internal fragmentation in db.
$S.bytesSinceLastGarbageCollect: Total bytes allocated.
$S.dbBufSize:  Size in bytes of vm.c's bigbuf[].
$S.dbLoads:     Number of disk reads done by vm.c since server boot.
$S.dbMakes:     Number of store blocks created by vm.c since server boot.
$S.dbSaves:     Number of disk writes done by vm.c since server boot.
$S.dateOfLastBackup: Time in milliseconds since the epoch (1970).
$S.dateOfLastGarbageCollect: Time in milliseconds since the epoch (1970).
$S.dateOfNextBackup: Zero to disable, else time in millisec since epoch (1970).
$S.debug:            Reserved for nonce server debugging.
$S.defaultUserServer1: Copied into user$s.userServer1 at creation.
$S.defaultUserServer2: Copied into user$s.userServer2 at creation.
$S.defaultUserServer3: Copied into user$s.userServer3 at creation.
$S.defaultUserServer4: Copied into user$s.userServer4 at creation.
$S.freeBlocks: Number of unused disk slots in db.
$S.glutIo:   Should be stream leading to job handling GLUT mouse/etc events.
$S.glutJob:  Should be set to job handling GLUT mouse/etc events, if any.
$S.logarithmicBackups: NIL for sequential backups, non-NIL for logarithmic.
$S.logBytecodes: Dis/able bytecode execution trace to logfile, if compiled in.
$S.logDaemonStuff: Dis/able logging of daemon packet I/O &tc.
$S.logWarnings: Dis/able writing server warnings to logfile.
$S.consecutiveBackupsToKeep: Usually at least 3.
$S.maxBytecodesPerTimeslice:           Multitasking timeslice length
$S.maxMicrosecondsToSleepInIdleSelect:  In select() when no runnable jobs
$S.maxMicrosecondsToSleepInBusySelect:  In select() when    runnable jobs
$S.microsecondsToSleepPerTimeslice:   Always sleep this long each slice
$S.muqnetIo: Should be stream leading to job handling iter-Muq networking.
$S.muqnetJob:    Should be set to job handling iter-Muq networking, if any.
$S.muqnetSocket: Should be socket for job handling iter-Muq networking.
$S.nextGuestRank:   Integer rank to assign to next Guest created.
$S.nextUserRank:   Integer rank to assign to next User created.
$S.nextPid:   Next integer to assign as a job name.
$S.millisecsBetweenBackups: Used to generate new dateOfNextBackup values.
$S.millisecsForLastBackup: Duration time in milliseconds of last backup.
$S.millisecsForLastGarbageCollect: Duration time of last garbage collect.
$S.runningAsDaemon:    Whether server is running daemon or from console.
$S.selectCallsMade:    Count of select()s done by skt.t module.
$S.blockingSelectCallsMade:    Similar skt.t-maintained count.
$S.nonblockingSelectCallsMade:    Similar skt.t-maintained count.
$S.reserved: Reserved for nonce server debugging hacks.
$S.selectCallsInterrupted:    Similar skt.t-maintained count.
$S.selectCallsWithNoIo:    Similar skt.t-maintained count.
$S.serverName:    Name of server for muqnet purposes.
$S.srvdir:  Host directory searched for subserver programs, else NIL.
$S.stackframesPoppedAfterLoopStackOverflow: >= 2. MUF settable.
$S.stackslotsPoppedAfterDataStackOverflow: >= 16. MUF settable.
$S.usedBlocks: Number of used disk slots in db.
$S.version: Version number of server, as a string.

Note: For convenience, the $S properties are also available in the public (default) propdir.


Go to the first, previous, next, last section, table of contents.