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𡤏irstRead,
msgGroupEvent: WalnutRegistry.MsgGroupEvent,
msgSetEvent: WalnutRegistry.MsgSetEvent𡤌reated,
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.