RTI Connext DDS Micro C++ API
Version 4.0.1
|
<<cert>> Indicates the level of reliability offered/requested by RTI Connext DDS Micro. More...
#include <dds_c_infrastructure.h>
Public Attributes | |
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 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 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 DDSDataReader: A non-zero maximum blocking time enables the receive thread to block up to the maximum blocking time if a DDSDataReader 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 DDSDataWriter: This setting applies only to the case where DDS_ReliabilityQosPolicy::kind = DDS_RELIABLE_RELIABILITY_QOS. FooDataWriter::write is allowed to block if the DDSDataWriter does not have space to store the value written.
[default] 0ms on a DDSDataReader [default] 100ms on a DDSDataWriter
[range] [0,1 year] for DDSDataWriter and DDSDataReader