Protocols.Mesa
Last Edited by: Spreitzer, March 20, 1985 11:39:42 am PST
DIRECTORY IO, PupTypes, Rope;
Protocols: CEDAR DEFINITIONS = {
ROPE: TYPE = Rope.ROPE;
Socket: TYPE = PupTypes.PupSocketID;
Protocol: TYPE = REF ProtocolRep;
ProtocolRep: TYPE = RECORD [
name: ROPE,
Connect: PROC
[
serverName: ROPE,
fromClient, toClient: IO.STREAM,
noteDisconnect: PROC [clientData: REF ANY] ← NIL,
clientData: REF ANYNIL,
login: BOOLFALSE]
RETURNS [c: Conversation],
Disconnect: PROC [c: Conversation],
data: REF ANYNIL];
Conversation: TYPE = REF ConversationRep;
ConversationRep: TYPE = RECORD [
protocol: Protocol,
noteDisconnect: PROC [clientData: REF ANY],
data, clientData: REF ANYNIL];
GetProtocol: PROC [name: ROPE] RETURNS [p: Protocol];
RegProtocol: PROC [p: Protocol];
}.