GVLocate.mesa (Cedar) - Location of servers
Copyright © 1985 by Xerox Corporation. All rights reserved.
Andrew Birrell May 13, 1983 1:29 pm
Hal Murray, January 11, 1986 6:17:40 pm PST
DIRECTORY
GVBasics USING [RName],
Pup USING [Address];
GVLocate: CEDAR DEFINITIONS = BEGIN
FoundState: TYPE = { allDown, notFound, found };
FoundServerInfo: TYPE = RECORD[
SELECT t: FoundState FROM
allDown => NULL,
notFound => NULL,
found => [where: Pup.Address],
ENDCASE ];
FindNearestServer: PROC[list: GVBasics.RName, accept: PROC[Pup.Address]RETURNS[BOOLEAN] ] RETURNS[ FoundServerInfo ];
FindLocalServer: PROC[listl: GVBasics.RName ] RETURNS[ FoundState, GVBasics.RName ];
FindRegServer: PROC[ who: GVBasics.RName, accept: PROCEDURE[Pup.Address]RETURNS[BOOLEAN] ] RETURNS[ FoundServerInfo ];
END.