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

Detailed Description

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


See also:
DDS_ResourceLimitsQosPolicy

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