RTI Connext DDS Micro C API  Version 4.1.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
DDS_ResourceLimitsQosPolicy Struct Reference

<<cert>> Specifies the resources that RTI Connext DDS Micro can consume in order to meet the requested QoS. More...

#include <dds_c_infrastructure.h>

Data Fields

DDS_Long max_samples
 Represents the maximum samples the middleware can store for any one DDS_DataWriter (or DDS_DataReader).
DDS_Long max_instances
 Represents the maximum number of instances a DDS_DataWriter (or DDS_DataReader) can manage.
DDS_Long max_samples_per_instance
 Represents the maximum number of samples of any one instance a DDS_DataWriter (or DDS_DataReader) can manage.

Detailed Description

<<cert>> Specifies the resources that RTI Connext DDS Micro can consume in order to meet the requested QoS.

Entity:
DDS_Topic, DDS_DataReader, DDS_DataWriter
Status:
DDS_SAMPLE_REJECTED_STATUS, DDS_SampleRejectedStatus
Properties:
RxO = NO
Changeable = NO

Usage

This policy controls the resources that RTI Connext DDS Micro can use in order to meet the requirements imposed by the application and other QoS settings.

If DDS_DataWriter objects are communicating samples faster than they are ultimately taken by the DDS_DataReader objects, the middleware will eventually hit against some of the QoS-imposed resource limits. Note that this may occur when just a single DDS_DataReader cannot keep up with its corresponding DDS_DataWriter. The behavior in this case depends on the setting for the RELIABILITY. If reliability is DDS_BEST_EFFORT_RELIABILITY_QOS then RTI Connext DDS Micro is allowed to drop samples. If the reliability is DDS_RELIABLE_RELIABILITY_QOS, RTI Connext DDS Micro will block the DDS_DataWriter or discard the sample at the DDS_DataReader in order not to lose existing samples.

See also:
DDS_ReliabilityQosPolicy
DDS_HistoryQosPolicy

Consistency

All limits must be set to positive finite values. Furthermore, max_samples must be large enough to contain all samples for all instances:

The setting of RESOURCE_LIMITS max_samples_per_instance must be consistent with the HISTORY depth. For these two QoS to be consistent, they must verify that depth <= max_samples_per_instance.

See also:
DDS_HistoryQosPolicy

Field Documentation

DDS_Long DDS_ResourceLimitsQosPolicy::max_samples

Represents the maximum samples the middleware can store for any one DDS_DataWriter (or DDS_DataReader).

Specifies the maximum number of data samples a DDS_DataWriter (or DDS_DataReader) can manage across all the instances associated with it.

For unkeyed types this value has to be equal to max_samples_per_instance.

[default] 1

[range] [1, 100 million] >= (max_samples_per_instance * max_instances),

DDS_Long DDS_ResourceLimitsQosPolicy::max_instances

Represents the maximum number of instances a DDS_DataWriter (or DDS_DataReader) can manage.

[default] 1

[range] [1, 1 million]

DDS_Long DDS_ResourceLimitsQosPolicy::max_samples_per_instance

Represents the maximum number of samples of any one instance a DDS_DataWriter (or DDS_DataReader) can manage.

For unkeyed types this value has to be equal to max_samples.

[default] 1

[range] [1, 100 million], <= max_samples, >= DDS_HistoryQosPolicy::depth


RTI Connext DDS Micro C API Version 4.1.0 Copyright © Sun Dec 8 2024 Real-Time Innovations, Inc