RTI Connext DDS Micro C++ API
2.4.14.2
|
<<cert>> Indicates the level of reliability offered/requested by RTI Connext Micro. More...
Public Attributes | |
DDS_ReliabilityQosPolicyKind | kind |
Kind of reliability. | |
struct DDS_Duration_t | max_blocking_time |
For a DDSDataReader, the maximum time a receive thread may block to wait for resources. Unsupported on a DDSDataWriter. |
<<cert>> Indicates the level of reliability offered/requested by RTI Connext Micro.
This policy indicates the level of reliability requested by a DDSDataReader or offered by a DDSDataWriter.
These levels are ordered, DDS_BEST_EFFORT_RELIABILITY_QOS < DDS_RELIABLE_RELIABILITY_QOS. A DDSDataWriter offering a level is implicitly offering all levels below.
If the DDS_ReliabilityQosPolicy::kind is set to DDS_RELIABLE_RELIABILITY_QOS , data-samples originating from a single DDSDataWriter cannot be made available to the DDSDataReader if there are previous data samples that have not been received yet due to a communication error. In other words, the service will repair the error and re-transmit data-samples as needed in order to reconstruct a correct snapshot of the DDSDataWriter history before it is accessible by the DDSDataReader.
If the DDS_ReliabilityQosPolicy::kind is set to DDS_BEST_EFFORT_RELIABILITY_QOS, the service will not re-transmit missing data-samples. However for data-samples originating from any one DataWriter the service will ensure they are stored in the DDSDataReader history in the same order they originated in the DDSDataWriter. In other words, the DDSDataReader may miss some data samples but it will never see the value of a data-object change from a newer value to an older value.
The value offered is considered compatible with the value requested if and only if the inequality offered kind
>= requested kind
evaluates to 'TRUE'. For the purposes of this inequality, the values of DDS_ReliabilityQosPolicy::kind are considered ordered such that DDS_BEST_EFFORT_RELIABILITY_QOS < DDS_RELIABLE_RELIABILITY_QOS.
DDS_ReliabilityQosPolicyKind DDS_ReliabilityQosPolicy::kind |
Kind of reliability.
[default] DDS_BEST_EFFORT_RELIABILITY_QOS
struct DDS_Duration_t DDS_ReliabilityQosPolicy::max_blocking_time |
For a DDSDataReader, the maximum time a receive thread may block to wait for resources. Unsupported on a DDSDataWriter.
For a DDSDataReader, a non-zero maximum blocking time enables the receive thread to block up to the maximum blocking time if the DDSDataReader is out of resources when new data arrives. This is useful when the history depth is equal to max_samples_per_instance and the application is using a combination of loan and waitsets or polling. If the maximum blocking value is 0 a receive thread will not block.
For DDSDataWriter, only a maximum blocking time of 0 is supported. That is, a DDSDataWriter will not block to wait for resources if the DDSDataWriter is out of resources at the time of write.
DDSDataReader [range] [0,1 year] [default] 0
DDSDataWriter [range] [0,0] [default] 0