<<>> <> <> <> <> DIRECTORY IO, Rope ; BridgeComm: CEDAR DEFINITIONS ~ { ROPE: TYPE ~ Rope.ROPE; NetworkStreamPair: TYPE ~ RECORD [ in: IO.STREAM, out: IO.STREAM ]; Error: ERROR [msg: ROPE]; GetRopeToEOM: PUBLIC PROC [nsp: NetworkStreamPair] RETURNS [rope: ROPE ¬ NIL]; <> <> GetMsg: PROC [nsp: NetworkStreamPair] RETURNS [msg: CHAR, arg: ROPE]; <> PutMsg: PROC [nsp: NetworkStreamPair, msg: CHAR, arg: ROPE ¬ NIL]; <> PutMsgWithReply: PROC [nsp: NetworkStreamPair, msg: CHAR, arg: ROPE ¬ NIL] RETURNS [ansMsg: CHAR, ansArg: ROPE]; <> PutMsgWithAck: PROC [nsp: NetworkStreamPair, msg: CHAR, arg: ROPE ¬ NIL]; <> CloseHandshakeAction: TYPE ~ { none, initiate, reply }; CloseConnection: PROC [nsp: NetworkStreamPair, action: CloseHandshakeAction ¬ none]; }...