ComputeServer.mesa
The Compute Server interface for the Summoner. This interface is between the Client and the Server, and is thus an RPC interface.
Last Edited by: Bob Hagmann, May 4, 1986 9:42:10 pm PDT
Hal Murray, March 22, 1986 11:09:32 pm PST
Copyright © 1984 by Xerox Corporation. All rights reserved.
DIRECTORY
ComputeServerClient,
Pup USING [Address],
Rope,
RPC;
ComputeServer: CEDAR DEFINITIONS =
BEGIN
Request: TYPE = RECORD [
service: Rope.ROPE,
serverPupAddress: Pup.Address,
userName: RPC.ShortROPE
];
AskForService: PROC [service: Rope.ROPE, version: RPC.ShortROPE, clientMachineName: RPC.ShortROPE, userName: RPC.ShortROPE] RETURNS [found: ATOM, serverPupAddress: Pup.Address, errMsg: Rope.ROPE];
Ask the Server to initialize for doing a service. The server is normally the one given by the Controller. "found" is returned with three values defined at this time:
notFound: service unknown to this server
foundOK: service known and this server expects to be able to do the service. It has initalized, and is expecting a "DoService" call.
foundButTooBusy: this server found the service, but is too busy right now to process the request. Try a different server.
DoService: PROC [serverPupAddress: Pup.Address, clientNetAddressRope: RPC.ShortROPE, commandLine: Rope.ROPE, WorkingDirectory: Rope.ROPE, needRemoteInStream: BOOL, needRemoteOutStream: BOOL] RETURNS [success: ComputeServerClient.RemoteSuccess, msg: Rope.ROPENIL];
AskForAbort: PROC [serverPupAddress: Pup.Address];
GenericClientToServer: PROC [requestCode: ATOM, requestString: Rope.ROPE] RETURNS [resultCode: ATOM, resultString: Rope.ROPE]; -- generic call to allow for expansion without RPC interface recompilation
END.
Bob Hagmann May 4, 1985 10:30:33 pm PDT
changes to: AskResponce
Bob Hagmann April 18, 1986 10:04:39 am PST
added GenericClientToServer