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

Resource limits that apply only to DDSDataWriter instances. More...

#include <dds_c_infrastructure.h>

Public Attributes

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 DDSDataWriter.
 
DDS_Boolean initialize_writer_loaned_sample
 Whether or not to initialize loaned samples returned by a DDSDataWriter.
 
DDS_Long max_remote_reader_filters
 <<experimental>> The maximum number of remote readers for which a DDSDataWriter will simultaneously perform writer-side filtering.
 

Detailed Description

Resource limits that apply only to DDSDataWriter instances.

This QoS policy is an extension to the DDS standard.

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

Member Data 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 DDSDataWriter with a DDSDataReader, 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 DDSDataWriter.

The number of samples loaned by a DDSDataWriter 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 DDSDataWriter.

[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 DDSDataWriter 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 DDSDataReader entities a DDSDataWriter will simultaneously perform writer-side content filtering for. The DDSDataWriter will store the filter result per sample per filtered DDSDataReader.

The behavior depends on the configured value:

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

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

No matter the value of this QoS policy, a DDSDataWriter 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
::DDSFilterPluginFactory::register for how to enable the content filtering feature