SunRPCBinding.mesa
Copyright Ó 1992 by Xerox Corporation. All rights reserved.
Michael Plass, January 8, 1992 11:13 am PST
DIRECTORY
Prop USING [PropList],
Rope USING [ROPE],
SunRPC USING [Handle, Server];
SunRPCBinding: CEDAR DEFINITIONS
~ BEGIN OPEN Rope;
Error: ERROR [errorCode: ErrorCode, explanation: ROPE, propList: Prop.PropList ¬ NIL];
ErrorCode: TYPE ~ {
ok, -- no error
someError, -- catch-all
nameLookupFailed, -- could not find the named server
registryNotAvailable, -- could not contact the registry (i.e., PortMapper)
registrationFailed, -- registry did not allow registration to happen
serviceNotAvailable, -- the service is not registered
authenticationProblem, -- details are in explanation and propList
protocolError, -- probably a bug in the SunRPCBinding implemtation or the server
timeout, -- some resource timed out
brokenConnection, -- some resource timed out
notSupported, -- some combination of features is not supported
spare1, spare2, spare3, spare4
};
AtomFromErrorCode: PROC [ErrorCode] RETURNS [ATOM];
Transport: TYPE ~ MACHINE DEPENDENT { UDP, TCP, (255) };
Registry: TYPE ~ MACHINE DEPENDENT { PortMapper, LocalRegistry, (255) };
Import: PROC [hostName: ROPE, pgm: INT, version: INT, instance: ROPE ¬ NIL, transport: Transport ¬ $UDP, nameServiceFlavor: ATOM ¬ NIL, registry: Registry ¬ $PortMapper] RETURNS [SunRPC.Handle];
! Error
Export: PROC [unboundServer: SunRPC.Server, instance: ROPE ¬ NIL, transport: Transport ¬ $UDP, concurrency: CARDINAL ¬ 1, reExport: BOOL ¬ TRUE, registry: Registry ¬ PortMapper] RETURNS [SunRPC.Server];
! Error
END.