RTI Connext Micro C API  Version 2.4.14.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
DDS_ReliabilityQosPolicy Struct Reference

<<cert>> Indicates the level of reliability offered/requested by RTI Connext Micro. More...

Data Fields

DDS_ReliabilityQosPolicyKind kind
 Kind of reliability.
struct DDS_Duration_t max_blocking_time
 For a DDS_DataReader, the maximum time a receive thread may block to wait for resources. Unsupported on a DDS_DataWriter.

Detailed Description

<<cert>> Indicates the level of reliability offered/requested by RTI Connext Micro.

Entity:
DDS_Topic, DDS_DataReader, DDS_DataWriter
Status:
DDS_OFFERED_INCOMPATIBLE_QOS_STATUS, DDS_REQUESTED_INCOMPATIBLE_QOS_STATUS
Properties:
RxO = YES
Changeable = NO

Usage

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.

See also:
DDS_HistoryQosPolicy
DDS_ResourceLimitsQosPolicy

Compatibility

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.


Field Documentation

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 DDS_DataReader, the maximum time a receive thread may block to wait for resources. Unsupported on a DDS_DataWriter.

For a DDS_DataReader, a non-zero maximum blocking time enables the receive thread to block up to the maximum blocking time if the DDS_DataReader 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 DDS_DataWriter, only a maximum blocking time of 0 is supported. That is, a DDS_DataWriter will not block to wait for resources if the DDS_DataWriter is out of resources at the time of write.

DDS_DataReader [range] [0,1 year] [default] 0
DDS_DataWriter [range] [0,0] [default] 0

See also:
DDS_ResourceLimitsQosPolicy

RTI Connext Micro C API Version 2.4.14.1 Copyright © Thu Nov 2 2023 Real-Time Innovations, Inc