SunRPCOnNetworkStream.mesa
Copyright Ó 1992 by Xerox Corporation. All rights reserved.
Demers, September 20, 1987 11:59:44 am PDT
For Cedar10.0
Chauser, January 7, 1992 11:15 am PST
DIRECTORY
Rope,
SunRPC
;
SunRPCOnNetworkStream: CEDAR DEFINITIONS
~ {
Types
ROPE: TYPE ~ Rope.ROPE;
Handle: TYPE ~ SunRPC.Handle;
Server: TYPE ~ SunRPC.Server;
Client Handles
SunRPC
Create: PROC [protocolFamily: ATOM, remote: ROPE]
RETURNS [h: Handle];
Create a client handle, from which RPC calls can be made. h.flavor will be $networkStream.
GetRemote: PROC [h: Handle]
RETURNS [protocolFamily: ATOM, remote: ROPE];
Get the remote address associated with a client handle. Create a client handle, from which RPC calls can be made. Flavor must be $networkStream.
Server Registration
ServerProc: TYPE ~ SunRPC.ServerProc;
On entry, h is ready to get the arguments with GetXXX[h].
If doReply=FALSE, no reply message will be sent: ServerProcs should refrain from calling RunRPC.StartReply when they intend to return with doReply=FALSE; replyTimeToLive is ignored for NetworkStream-based transport.
CreateServer: PROC [pgm, version: CARD, serverProc: ServerProc, protocolFamily: ATOM ¬ $ARPA, local: ROPE ¬ NIL, clientData: REF ¬ NIL] RETURNS [s: Server];
Register serverProc as server for this program / version.
protocolFamily and local as in the NetworkStream interface.
GetServerAddress: PROC [s: Server] RETURNS [protocolFamily: ATOM, local: ROPE];
Determine the address on which server is listening.
}...