Resending DDS Samples to Late-Joiners with the Durability QosPolicy

The DURABILITY QosPolicy is also somewhat related to Reliability. Connext DDS requires a finite time to "discover" or match DataReaders to DataWriters. If an application attempts to send data before the DataReader and DataWriter "discover" one another, then the DDS sample will not actually get sent. Whether or not DDS samples are resent when the DataReader and DataWriter eventually "discover" one another depends on how the DURABILITY and HISTORY QoS are set. The default setting for the Durability QosPolicy is VOLATILE, which means that the DataWriter will not store DDS samples for redelivery to late-joining DataReaders.

Connext DDS also supports the TRANSIENT_LOCAL setting for the Durability, which means that the DDS samples will be kept stored for redelivery to late-joining DataReaders, as long as the DataWriter is around and the RESOURCE_LIMITS QosPolicy allows. The DDS samples are not stored beyond the lifecycle of the DataWriter.

See also: Waiting for Historical Data.

© 2018 RTI