DIRECTORY AlpineEnvironment, Rope; AlpineControl: DEFINITIONS = BEGIN FileID: TYPE = AlpineEnvironment.FileID; VolumeID: TYPE = AlpineEnvironment.VolumeID; FileStore: TYPE = AlpineEnvironment.FileStore; PageCount: TYPE = AlpineEnvironment.PageCount; ROPE: TYPE = Rope.ROPE; Initialize: PROC [ filePageMgrNormalChunks: NAT, filePageMgrLogChunks: NAT, filePageMgrLeaderChunks: NAT, coordinatorMapHashArraySlots: NAT, -- prefers a power of two transactionMapHashArraySlots: NAT, -- prefers a power of two fileMapHashArraySlots: NAT, -- prefers a prime openFileMapHashArraySlots: NAT, -- prefers a power of two lockHashArraySlots: NAT, fileMapFinalizationQueueLength: NAT, nAccessCacheEntries: NAT, alpineWheels: ROPE -- e.g. "AlpineImplementors^.pa" ]; Start: PROC [ fileStore: FileStore, additionalVolumes: LIST OF ROPE _ NIL, logVolumeName: ROPE _ NIL, typeOfRestart: TypeOfRestart, nLogPages, nOwners: INT ]; TypeOfRestart: TYPE = {warmStart, coldStart, createServer, resizeLog}; IsStarted: PROC [] RETURNS [BOOL]; ExportInterfaces: PROC [newNames: BOOL _ FALSE]; UnexportInterfaces: PROC []; Halt: PROC [waitMinutes: CARDINAL] RETURNS [nCoordinators: NAT]; END. CHANGE LOG Changed by MBrown on April 1, 1983 1:25 pm Changed by MBrown on January 31, 1984 8:33:18 pm PST Changed by Hauser on March 4, 1985 3:22:52 pm PST ξAlpineControl.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Starting Alpine. Last edited by MBrown on January 31, 1984 8:34:42 pm PST Kolling on January 31, 1983 5:32 pm Last Edited by: Kupfer, March 21, 1985 12:12:19 pm PST Carl Hauser, March 26, 1987 11:20:44 am PST Hauser, March 25, 1985 1:37:35 pm PST Must be called before calling Start. If called several times, all calls but the first are no-ops. "Local.alpine" means use system volume, otherwise look for named volume this is the name of the volume containing the log any additional volumes to operate in the same volume group name of the File volume containing the log file for fileStore; defaults to fileStore. $warmStart means read log, $coldStart means erase log, $createServer means erase everything, $resizeLog means erase the log and recreate it with (possibly) a different size. used only if typeOfRestart = $createServer or $resizeLog Exports public interfaces for remote use. If newNames is TRUE, the interfaces are exported with names like "AlpineFile.newAlpine", otherwise "AlpineFile.alpine". This is useful when moving to a new version of the RPC interfaces. Unexports the public interfaces. Unexports all the public interfaces, waits "waitMinutes" minutes, aborts all workers on this machine, and returns the number of remaining coordinators (ie., ones that didn't have local workers). Added some parms to Initialize. Cedar 5.0. Eliminated AlpineStarterImpl. Nodified; changed Start to accept additionalVolumes parameter to make volume groups usable, logVolumeName to make the file server (fileStore) name independent of the name given to the volume containing the log with Iago. Edited on March 21, 1985 12:12:15 pm PST, by Kupfer Add Halt and UnexportInterfaces. ΚΟ˜šœ™Icodešœ Οmœ1™<—Jšœ™šœ™Jšœ)™)Jšœ#™#—™6K™+K™%—J˜J˜šΟk ˜ J˜˜J˜——šœž œ˜Jšž˜Jšœžœ˜(Jšœ žœ˜,Jšœ žœ˜.Jšœ žœ˜.Jšžœžœžœ˜J˜šΟn œžœ˜Jšœžœ˜Jšœžœ˜Jšœžœ˜JšœžœΟc˜