RTI Connext DDS Micro C API
Version 4.1.0
|
<<cert>> Indicates the level of reliability offered/requested by RTI Connext DDS Micro. More...
#include <dds_c_infrastructure.h>
Data Fields | |
DDS_ReliabilityQosPolicyKind | kind |
Kind of reliability. | |
struct DDS_Duration_t | max_blocking_time |
For Readers: The maximum time a receive thread may block if the reader is out of resources. For Writers: The maximum time a writer may block on a write call. |
<<cert>> Indicates the level of reliability offered/requested by RTI Connext DDS Micro.
This policy indicates the level of reliability requested by a DDS_DataReader or offered by a DDS_DataWriter.
These levels are ordered, DDS_BEST_EFFORT_RELIABILITY_QOS < DDS_RELIABLE_RELIABILITY_QOS. A DDS_DataWriter 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 DDS_DataWriter cannot be made available to the DDS_DataReader 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 DDS_DataWriter history before it is accessible by the DDS_DataReader.
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 DDS_DataReader history in the same order they originated in the DDS_DataWriter. In other words, the DDS_DataReader 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 Readers: The maximum time a receive thread may block if the reader is out of resources. For Writers: The maximum time a writer may block on a write call.
For a DDS_DataReader: A non-zero maximum blocking time enables the receive thread to block up to the maximum blocking time if a DDS_DataReader is out of resources when new data arrives. This is useful when the DDS_HistoryQosPolicy::depth is equal to max_samples_per_instance
and the application is using a combination of loans and waitsets or polling. With a value of 0, the receive thread will not block.
For a DDS_DataWriter: This setting applies only to the case where DDS_ReliabilityQosPolicy::kind = DDS_RELIABLE_RELIABILITY_QOS. FooDataWriter_write is allowed to block if the DDS_DataWriter does not have space to store the value written.
[default] 0ms on a DDS_DataReader [default] 100ms on a DDS_DataWriter
[range] [0,1 year] for DDS_DataWriter and DDS_DataReader