Rendezvous API Architecture

This section describes the architecture of the Rendezvous API. Architecture Summary outlines the core architectural elements of Rendezvous programming interfaces.

Architecture Summary

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:

Delivery scope—the potential range of its messages
Delivery mechanism—the path that its messages travel
Delivery protocol—the ways in which programs cooperate and share information concerning 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.)