An IceStorm subscriber specifies QoS parameters at the time of subscription. IceStorm currently supports only one QoS parameter,
reliability, which is described in the section below.
The QoS parameter reliability affects message delivery. The only legal values at this point are
ordered and the empty string. If not specified, the default value is the empty string (meaning not ordered).
If you specify ordered as the reliability QoS, IceStorm forwards events to subscribers in the order in which they are received. Without this setting, events are forwarded immediately, as soon as they are received; because events can arrive from different publishers publishing to the same topic, this means that they can be forwarded to subscribers in an order that differs from the order in which they were received.
The Slice type IceStorm::QoS is defined as a
dictionary whose key and value types are both
string, therefore the QoS parameter name and value are both represented as strings. The example code presented in
Section 44.5.3 used an empty dictionary for the QoS argument, meaning default values are used. The C++ and Java examples shown below illustrate how to set the
reliability parameter to
ordered.