<> <> <> <> <> DIRECTORY SMTPDescr USING [Descr], Rope USING [ROPE]; SMTPSend: CEDAR DEFINITIONS = BEGIN Connection: TYPE = REF ConnectionRep; ConnectionRep: TYPE; totalArpaMsgsSent: INT; totalArpaBytesSent: INT; Open: PROC [hostName: Rope.ROPE] RETURNS [hostStream: Connection]; <> <> SendItem: PROC [descr: SMTPDescr.Descr, recipList: LIST OF Rope.ROPE, hostStream: Connection]; <> <> Close: PROC [hostStream: Connection, trouble: BOOL]; <> <> Failed: ERROR [withItem: WithItemAction, reason: Rope.ROPE, problemWithHost: BOOL]; WithItemAction: TYPE = {irrelevant, retryLater, putOnBadQueue, returnToSender}; END.