QoS Policy Usage

DEADLINE

Require the publisher to always send at least one value within the period.

RELIABILITY

Using a RELIABLE setting may result in resends of data. A RELIABLE setting can potentially block while trying to send. The max_blocking_time is important to minimize the time that the send can block for.

LIFESPAN

Setting an expiration time for the samples will ensure that the receiving application will not receive any values that are too old.

RESOURCE_LIMITS

Too few available samples and delays will occur acquiring samples to send.

PRESENTATION

Don't allow grouping and re-ordering of values that can delay delivery to the application.

TIME_BASED_FILTER

Setting a higher minimum_separation will result in less samples being set.

DEADLINE

RELIABILITY

OWNERSHIP

Setting to EXCLUSIVE allows multiple publishers to be publishing for the same Instance but only one will be recognized as the owner (authoritative source). A failure/death of the current owner allows the subscribers to continue receiving values from the new owner.

OWNERSHIP_STRENGTH

Establishes the order of ownership when OWNERSHIP is set to EXCLUSIVE

LIVELINESS

The lease_duration is important for determining that an entity has died. A lower value means that a death will be detected sooner.

DESTINATION_ORDER

BY_RECEPTION_TIMESTAMP can result in two subscribers having data in different orders. BY_SOURCE_
TIMESTAMP forces all subscribers to have the data in the same order.

HISTORY

The sets a buffer between the changing values and the delivery to the subscriptions. Set to KEEP_LAST and a small depth, could potentially cause blocking depending on other QoS policies.