Reliability is controlled by the QosPolicies in Table 11.1 QosPolicies for Reliable Communications. To enable reliable delivery, read the following sections to learn how to change the QoS for the DataWriter and DataReader:
Then see 11.3.7 Use Cases to explore example use cases:
QosPolicy |
Description |
Related Entities1DW = DataWriter, DR = DataReader |
Reference |
Reliability |
To establish reliable communication, this QoS must be set to DDS_RELIABLE_RELIABILITY_QOS for the DataWriter and its DataReaders. |
DW, DR |
|
ResourceLimits |
This QoS determines the amount of resources each side can use to manage instances and DDS samples of instances. Therefore it controls the size of the DataWriter’s send queue and the DataReader’s receive queue. The send queue stores DDS samples until they have been ACKed by all DataReaders. The DataReader’s receive queue stores DDS samples for the user’s application to access. |
DW, DR |
11.3.2 Tuning Queue Sizes and Other Resource Limits, 7.5.22 RESOURCE_LIMITS QosPolicy |
History |
This QoS affects how a DataWriter/DataReader behaves when its send/receive queue fills up. |
DW, DR |
11.3.3 Controlling Queue Depth with the History QosPolicy, 7.5.12 HISTORY QosPolicy |
DataWriterProtocol |
This QoS configures DataWriter-specific protocol. The QoS can disable positive ACKs for its DataReaders. |
DW |
11.3.4 Controlling Heartbeats and Retries with DataWriterProtocol QosPolicy, 7.5.5 DATA_WRITER_PROTOCOL QosPolicy (DDS Extension) |
DataReaderProtocol |
When a reliable DataReader receives a heartbeat from a DataWriter and needs to return an ACKNACK, the DataReader can choose to delay a while. This QoS sets the minimum and maximum delay. It can also disable positive ACKs for the DataReader. |
DR |
11.3.5 Avoiding Message Storms with DataReaderProtocol QosPolicy, 8.6.1 DATA_READER_PROTOCOL QosPolicy (DDS Extension) |
DataReaderResourceLimits |
This QoS determines additional amounts of resources that the DataReader can use to manage DDS samples (namely, the size of the DataReader’s internal queues, which cache DDS samples until they are ordered for reliability and can be moved to the DataReader’s receive queue for access by the user’s application). |
DR |
11.3.2 Tuning Queue Sizes and Other Resource Limits,8.6.2 DATA_READER_RESOURCE_LIMITS QosPolicy (DDS Extension) |
Durability |
This QoS affects whether late-joining DataReaders will receive all previously-sent data or not. |
DW, DR |
11.3.6 Resending DDS Samples to Late-Joiners with the Durability QosPolicy, 7.5.9 DURABILITY QosPolicy |
© 2020 RTI