<> <> <> <> <> DIRECTORY BasicTime, Commander, ComputeServerClient, ComputeServerCallbacksRpcControl, ComputeServerControllerRpcControl, ComputeServer, ComputeServerServer, InterpreterToolPrivate, IO, PrincOps, Rope, RPC, RuntimeError, SymTab; ComputeControllerInternal: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; STREAM: TYPE = IO.STREAM; ServerStatusRecord: TYPE = RECORD [ serverMachineName: RPC.ShortROPE, serverMachinePupAddress: RPC.ShortROPE, newPackage: BOOL _ FALSE, newQueueing: BOOL _ TRUE, FOM: REAL _ 0.0, timeOfStatus: BasicTime.GMT, machineType: PrincOps.MachineType, mainMemory: CARDINAL, numberCPUs: CARDINAL, diskPartionSize: INT, freePagesOnDisk: INT, freeboard: INT, freeGFI: CARDINAL, freeMDS: CARDINAL, freeVM: CARDINAL, oldestLRUFileDate: BasicTime.GMT, CPULoad: REAL, nonBackgroundCPULoad: REAL, reclamationRate: REAL, freeProcesses: CARDINAL, userName: RPC.ShortROPE, currentRequests: LIST OF ComputeServer.Request, numberOfCurrentRequests: INT _ 0, aveBackgroundLoad: REAL _ 0 ]; ServerStatus: TYPE = REF ServerStatusRecord; ServerStatusList: LIST OF ServerStatus; IAmTheController: BOOL; ControllerMovingAway: BOOL; TimeIBecameTheController: BasicTime.GMT; GrabController: BOOL; END. <<>>