<<>> <> <> <> <> <> <<>> <> <<>> DIRECTORY MBQueue USING[Queue], Rope USING [ROPE], WalnutRegistry; WalnutRegistryInternal: CEDAR DEFINITIONS = BEGIN QueueData: TYPE = REF QueueRecord; QueueRecord: TYPE = MONITORED RECORD[ eventProc: WalnutRegistry.EventProc¬NIL, msgProc: WalnutRegistry.MsgProc¬NIL, moveProc: WalnutRegistry.MoveProc¬NIL, msgGroupProc: WalnutRegistry.MsgGroupProc¬NIL, msgSetProc: WalnutRegistry.MsgSetProc¬NIL, event: WalnutRegistry.Event¬started, msgEvent: WalnutRegistry.MsgEvent¬firstRead, msgGroupEvent: WalnutRegistry.MsgGroupEvent¬added, msgSetEvent: WalnutRegistry.MsgSetEvent¬created, name: Rope.ROPE¬NIL, fromMsgSet: Rope.ROPE¬NIL, toMsgSet: Rope.ROPE¬NIL, msgGroup: REF WalnutRegistry.MsgGroup ¬ NIL, clientData: REF ANY¬NIL ]; QueueEvent: PROC[event: WalnutRegistry.Event, queue: MBQueue.Queue, proc: WalnutRegistry.EventProc, clientData: REF ANY]; QueueMsgEvent: PROC[msgEvent: WalnutRegistry.MsgEvent, msg: Rope.ROPE, queue: MBQueue.Queue, proc: WalnutRegistry.MsgProc, clientData: REF ANY]; QueueMoveEvent: PROC[msg: Rope.ROPE, to, from: Rope.ROPE, queue: MBQueue.Queue, proc: WalnutRegistry.MoveProc, clientData: REF ANY]; QueueMsgGroupEvent: PROC[event: WalnutRegistry.MsgGroupEvent, group: REF WalnutRegistry.MsgGroup, queue: MBQueue.Queue, proc: WalnutRegistry.MsgGroupProc, clientData: REF ANY]; QueueMsgSetEvent: PROC[event: WalnutRegistry.MsgSetEvent, msgSet: Rope.ROPE, queue: MBQueue.Queue, proc: WalnutRegistry.MsgSetProc, clientData: REF ANY]; END. <> <> <> <<>>