RAD Events

A RAD event is an asynchronous notification generated by RAD and consumed by clients. A client might subscribe to events by name to register interest in them. The subscription is performed on an object which implements an interface. In addition to a name, each event has a type.

Events have the following characteristics:

  • Sequential

  • Volatile

  • Guaranteed

A client can rely on sequential delivery of events from a server as long as the connection to the server is maintained. If the connection fails, then events will be lost. On reconnection, a client must resubscribe to resume the flow of events.

Once a client has subscribed to an event, event notifications will be received until the client unsubscribes from the event. On receipt of a subscribed event, a client receives a payload of the defined type.

The following are the guidelines for events:

  • Provide a sequence number. Modules that provide a monotonically increasing sequence numbers are best, because such sequences are most useful to clients.

  • Consider providing mechanisms for allowing a client to throttle event generation.

  • Design event payloads to minimize network load.

  • Do not duplicate the functionality of network monitoring protocols such as SNMP.