RTI Connext DDS Micro C++ API  2.4.14.2
 All Classes 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...

List of all members.

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.

Detailed Description

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

Entity:
DDSTopic, DDSDataReader, DDSDataWriter
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 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.

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.


Member Data 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 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

See also:
DDS_ResourceLimitsQosPolicy

RTI Connext DDS Micro C++ API 2.4.14.2 Copyright © Tue May 28 2024 Real-Time Innovations, Inc