Rendezvous API Architecture
This section describes the architecture of the Rendezvous API. Architecture Summary outlines the core architectural elements of Rendezvous programming interfaces.
|
Element |
Description |
|||||||||
|
Message |
Messages carry data among program processes or threads. Messages contain self-describing data fields. Programs can manipulate message fields, send messages, and receive messages. |
|||||||||
|
Event |
Programs create event objects to register interest in significant conditions. For example, dispatching a listener event notifies the program that a message has arrived; dispatching a timer event notifies the program that its interval has elapsed. Programs define event callback functions to process events. |
|||||||||
|
Event Queue |
Programs create event queues to organize events. A queue holds a sequence of event objects that are ready for dispatch. |
|||||||||
|
Event Queue Group |
Programs create event queue groups to prioritize event processing. |
|||||||||
|
Event Dispatch |
Programs dispatch events from queues or queue groups, processing each event with the corresponding callback function. |
|||||||||
|
Transport |
Programs use transport objects to send messages and listen for messages. A transport determines three aspects of message delivery:
Transport objects of various types combine these aspects to yield different qualities of service—for example, intra-process delivery, network delivery, reliable delivery, certified delivery, distributed queue delivery. |
|||||||||
|
Event Driver |
Rendezvous software includes an event driver that places events in event queues. (Program code cannot access the event driver.) |