RTI Connext Micro C API Version 4.2.0
Loading...
Searching...
No Matches
DDS_DataWriterResourceLimitsQosPolicy Struct Reference

<<cert>> Resource limits that apply only to DDS_DataWriter instances. More...

#include <dds_c_infrastructure.h>

Data Fields

DDS_Long max_remote_readers
 The maximum number of remote readers for which the writer will maintain state and communication.
 
DDS_Long max_routes_per_reader
 The maximum number of routes the writer will send to per matched reader.
 
DDS_Long writer_loaned_sample_allocation
 Represents the amount of loanable samples managed by a DDS_DataWriter.
 
DDS_Boolean initialize_writer_loaned_sample
 Whether or not to initialize loaned samples returned by a DDS_DataWriter.
 
DDS_Long max_remote_reader_filters
 <<experimental>> The maximum number of remote readers for which a DDS_DataWriter will simultaneously perform writer-side filtering.
 

Detailed Description

<<cert>> Resource limits that apply only to DDS_DataWriter instances.

This QoS policy is an extension to the DDS standard.

Entity:
DDS_DataWriter
Properties:
RxO = N/A
Changeable = NO

Field Documentation

◆ max_remote_readers

DDS_Long DDS_DataWriterResourceLimitsQosPolicy::max_remote_readers

The maximum number of remote readers for which the writer will maintain state and communication.

[default] 16

[range] [1, 100000000]

◆ max_routes_per_reader

DDS_Long DDS_DataWriterResourceLimitsQosPolicy::max_routes_per_reader

The maximum number of routes the writer will send to per matched reader.

NOTE: If this resource limit is exceeded when matching a DDS_DataWriter with a DDS_DataReader, the two entities are not matched.

[default] 2

[range] [1, 2147483647]

◆ writer_loaned_sample_allocation

DDS_Long DDS_DataWriterResourceLimitsQosPolicy::writer_loaned_sample_allocation

Represents the amount of loanable samples managed by a DDS_DataWriter.

The number of samples loaned by a DDS_DataWriter via FooDataWriter_get_loan is limited by DDS_DataWriterResourceLimitsQosPolicy::writer_loaned_sample_allocation. FooDataWriter_get_loan returns NULL if and only if DDS_DataWriterResourceLimitsQosPolicy::writer_loaned_sample_allocation samples have been loaned, and none of those samples have been written with FooDataWriter_write or discarded via FooDataWriter_discard_loan. If the default value of DDS_SIZE_AUTO is used the DDS_DataWriterResourceLimitsQosPolicy::writer_loaned_sample_allocation is set to DDS_ResourceLimitsQosPolicy::max_samples + 1.

[default] DDS_SIZE_AUTO

[range] [1, 1000000]

See also
FooDataWriter_get_loan
FooDataWriter_discard_loan

◆ initialize_writer_loaned_sample

DDS_Boolean DDS_DataWriterResourceLimitsQosPolicy::initialize_writer_loaned_sample

Whether or not to initialize loaned samples returned by a DDS_DataWriter.

[default] DDS_BOOLEAN_FALSE

See also
FooDataWriter_get_loan

◆ max_remote_reader_filters

DDS_Long DDS_DataWriterResourceLimitsQosPolicy::max_remote_reader_filters

<<experimental>> The maximum number of remote readers for which a DDS_DataWriter will simultaneously perform writer-side filtering.

This QoS policy has no effect if the content filtering feature is not enabled or if DDS_FilterQosPolicy::disable_writer_filtering is set to DDS_BOOLEAN_TRUE.

This resource limit controls how many remote DDS_DataReader entities a DDS_DataWriter will simultaneously perform writer-side content filtering for. The DDS_DataWriter will store the filter result per sample per filtered DDS_DataReader.

The behavior depends on the configured value:

If a DDS_DataWriter is already filtering the maximum number of DDS_DataReader entities specified by this limit and a new filtered DDS_DataReader is discovered, the newly discovered DDS_DataReader will not be filtered by the DDS_DataWriter, and the DDS_DataReader will instead apply the content filter itself.

Once a DDS_DataReader is excluded from writer-side filtering due to this resource limit, it will remain excluded even if one of the previously filtered DDS_DataReader entities goes away. However, any subsequently created DDS_DataReader entities will be eligible for writer-side filtering as long as the number of currently filtered DDS_DataReader entities does not exceed this limit.

No matter the value of this QoS policy, a DDS_DataWriter will only ever be able to apply writer-side filtering for up to 4 unique filters on the same locator.

[default] DDS_LENGTH_UNLIMITED

[range] [0, (2^31)-1] or DDS_LENGTH_UNLIMITED

See also
DDS_FilterPluginFactory_register for how to enable the content filtering feature