RTI Connext DDS Micro C++ API  Version 4.0.1
 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 DDS Micro. More...

#include <dds_c_infrastructure.h>

List of all members.

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.

Detailed Description

<<cert>> Indicates the level of reliability offered/requested by RTI Connext DDS 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 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


See also:
DDS_ResourceLimitsQosPolicy

RTI Connext DDS Micro C++ API Version 4.0.1 Copyright © Mon Jun 3 2024 Real-Time Innovations, Inc