|
| Copyright © Cloud Software Group, Inc. All Rights Reserved |
When an event occurs, the event driver places the event object on an event queue, where it awaits dispatch to its callback function.
• Timed dispatch blocks waiting for an event, but returns without dispatching anything if a waiting time limit is exceeded.
• Ordinary dispatch blocks indefinitely, until the queue contains an event.
• Polling dispatch does not block; if the queue is empty, it returns immediately.
Table 16 Dispatcher Threads Queue groups allow fine-grained control over dispatch order from a single blocking point. A group can contain any number of event queues; the relative priorities of the queues determine the order in which dispatch calls dispatch their events. A queue can belong to any number of groups, or none at all.
• Ordinary group dispatch blocks indefinitely, until any queue in the group contains an event.
• Timed group dispatch blocks waiting for an event, but returns without dispatching anything if a waiting time limit is exceeded.
• Polling group dispatch does not block; if all the queues in the group are empty, it returns immediately.The default queue can contain an unlimited number of events (and never discards an event). It has priority 1 (last priority), so in any queue group, it is always among the last queues to dispatch.When any queue discards an event (which would otherwise have caused the queue to exceed its event limit), Rendezvous software presents a QUEUE.LIMIT_EXCEEDED advisory message.Figure 7 Default Event QueueFigure 8 Prioritize Event Queues in a Group
|
| Copyright © Cloud Software Group, Inc. All Rights Reserved |