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.