RTI Connext Java API Version 7.6.0
DataWriterResourceLimitsQosPolicy Class Reference

<<extension>> Various settings that configure how a com.rti.dds.publication.DataWriter allocates and uses physical memory for internal resources. More...

Inheritance diagram for DataWriterResourceLimitsQosPolicy:
QosPolicy

Public Attributes

int initial_concurrent_blocking_threads
 [DEPRECATED] <<extension>> The initial number of threads that are allowed to concurrently block on write call on the same com.rti.dds.publication.DataWriter. More...
 
int max_concurrent_blocking_threads
 [DEPRECATED] <<extension>> The maximum number of threads that are allowed to concurrently block on write call on the same com.rti.dds.publication.DataWriter. More...
 
int max_remote_reader_filters
 <<extension>> The maximum number of remote DataReaders for which the com.rti.dds.publication.DataWriter will perform content-based filtering. More...
 
int max_batches
 <<extension>> Represents the maximum number of batches a com.rti.dds.publication.DataWriter will manage. More...
 
int initial_batches
 <<extension>> Represents the initial number of batches a com.rti.dds.publication.DataWriter will manage. More...
 
DataWriterResourceLimitsInstanceReplacementKind instance_replacement
 <<extension>> Sets the kinds of instances allowed to be replaced when instance resource limits are reached. More...
 
boolean replace_empty_instances
 <<extension>> Whether or not to replace empty instances during instance replacement More...
 
boolean autoregister_instances
 [DEPRECATED] <<extension>> Whether or not to automatically register new instances More...
 
int initial_virtual_writers
 <<extension>> The initial number of virtual writers supported by a com.rti.dds.publication.DataWriter More...
 
int max_virtual_writers
 <<extension>> The maximum number of virtual writers supported by a com.rti.dds.publication.DataWriter More...
 
int max_remote_readers
 <<extension>> The maximum number of remote readers supported by a com.rti.dds.publication.DataWriter More...
 
int max_app_ack_remote_readers
 <<extension>> The maximum number of application-level acknowledging remote readers supported by a com.rti.dds.publication.DataWriter More...
 
int initial_active_topic_queries
 <<extension>> Represents the initial number of active topic queries a com.rti.dds.publication.DataWriter will manage. More...
 
int max_active_topic_queries
 <<extension>> Represents the maximum number of active topic queries a com.rti.dds.publication.DataWriter will manage. More...
 
- Public Attributes inherited from QosPolicy
final QosPolicyId_t id
 The ID of this QoS policy. More...
 
final String policy_name
 The name of this QoS policy. More...
 

Detailed Description

<<extension>> Various settings that configure how a com.rti.dds.publication.DataWriter allocates and uses physical memory for internal resources.

DataWriters must allocate internal structures to handle the simultaneously blocking of threads trying to call com.rti.ndds.example.FooDataWriter.write on the same com.rti.dds.publication.DataWriter, for the storage used to batch small samples, and for content-based filters specified by DataReaders.

Most of these internal structures start at an initial size and, by default, will be grown as needed by dynamically allocating additional memory. You may set fixed, maximum sizes for these internal structures if you want to bound the amount of memory that can be used by a com.rti.dds.publication.DataWriter. By setting the initial size to the maximum size, you will prevent RTI Connext from dynamically allocating any memory after the creation of the com.rti.dds.publication.DataWriter.

This QoS policy is an extension to the DDS standard.

Entity:
com.rti.dds.publication.DataWriter
Properties:
RxO = N/A
Changeable = NO

Member Data Documentation

◆ initial_concurrent_blocking_threads

int initial_concurrent_blocking_threads

[DEPRECATED] <<extension>> The initial number of threads that are allowed to concurrently block on write call on the same com.rti.dds.publication.DataWriter.

This value only applies if com.rti.dds.infrastructure.HistoryQosPolicy has its kind set to com.rti.dds.infrastructure.HistoryQosPolicyKind.HistoryQosPolicyKind.KEEP_ALL_HISTORY_QOS and com.rti.dds.infrastructure.ReliabilityQosPolicy.max_blocking_time is > 0.

[default] 1

[range] [1, 10000], <= max_concurrent_blocking_threads

Categories
Immutable, Middleware Memory Management, Concurrency

◆ max_concurrent_blocking_threads

int max_concurrent_blocking_threads

[DEPRECATED] <<extension>> The maximum number of threads that are allowed to concurrently block on write call on the same com.rti.dds.publication.DataWriter.

This value only applies if com.rti.dds.infrastructure.HistoryQosPolicy has its kind set to com.rti.dds.infrastructure.HistoryQosPolicyKind.HistoryQosPolicyKind.KEEP_ALL_HISTORY_QOS and com.rti.dds.infrastructure.ReliabilityQosPolicy.max_blocking_time is > 0.

[default] com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED

[range] [1, 10000] or com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED, >= initial_concurrent_blocking_threads

Categories
Immutable, Middleware Memory Management, Concurrency

◆ max_remote_reader_filters

int max_remote_reader_filters

<<extension>> The maximum number of remote DataReaders for which the com.rti.dds.publication.DataWriter will perform content-based filtering.

[default] com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED

[range] [0, (2^31)-2] or com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED.

0: The com.rti.dds.publication.DataWriter will not perform filtering for any com.rti.dds.subscription.DataReader.

1 to (2^31)-2: The DataWriter will filter for up to the specified number of DataReaders. In addition, the Datawriter will store the result of the filtering per sample per DataReader.

com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED: The DataWriter will filter for up to (2^31)-2 DataReaders. However, in this case, the DataWriter will not store the filtering result per sample per DataReader. Thus, if a sample is resent (such as due to a loss of reliable communication), the sample will be filtered again.

Categories
Immutable, Middleware Memory Management, Content Filtering

◆ max_batches

int max_batches

<<extension>> Represents the maximum number of batches a com.rti.dds.publication.DataWriter will manage.

[default] com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED

When batching is enabled, the maximum number of samples that a com.rti.dds.publication.DataWriter can store is limited by this value and com.rti.dds.infrastructure.ResourceLimitsQosPolicy.max_samples.

[range] [1,100 million] or com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED >= DDS_RtpsReliableWriterProtocol_t::heartbeats_per_max_samples if batching is enabled

See also
com.rti.dds.infrastructure.BatchQosPolicy
Categories
Immutable, Sample Memory Management, Middleware Memory Management, Batching

◆ initial_batches

int initial_batches

<<extension>> Represents the initial number of batches a com.rti.dds.publication.DataWriter will manage.

[default] 8

[range] [1,100 million]

See also
com.rti.dds.infrastructure.BatchQosPolicy
Categories
Immutable, Sample Memory Management, Middleware Memory Management, Batching

◆ instance_replacement

<<extension>> Sets the kinds of instances allowed to be replaced when instance resource limits are reached.

When a com.rti.dds.publication.DataWriter's number of active instances is greater than com.rti.dds.infrastructure.ResourceLimitsQosPolicy.max_instances, it will try to make room by replacing an existing instance. This field specifies the kinds of instances allowed to be replaced.

If a replaceable instance is not available, either an out-of-resources exception will be returned, or the writer may block if the instance reclamation was done when writing.

[default] com.rti.dds.infrastructure.DataWriterResourceLimitsInstanceReplacementKind.DataWriterResourceLimitsInstanceReplacementKind.UNREGISTERED_INSTANCE_REPLACEMENT

See also
com.rti.dds.infrastructure.DataWriterResourceLimitsInstanceReplacementKind
Categories
Immutable, Middleware Memory Management, Instance Lifecycle

◆ replace_empty_instances

boolean replace_empty_instances

<<extension>> Whether or not to replace empty instances during instance replacement

When a com.rti.dds.publication.DataWriter has more active instances than allowed by com.rti.dds.infrastructure.ResourceLimitsQosPolicy.max_instances, it tries to make room by replacing an existing instance. This field configures whether empty instances (i.e. instances with no samples) may be replaced. If set com.rti.dds.infrastructure.true, then a com.rti.dds.publication.DataWriter will first try reclaiming empty instances, before trying to replace whatever is specified by com.rti.dds.infrastructure.DataWriterResourceLimitsQosPolicy.instance_replacement.

[default] com.rti.dds.infrastructure.false

See also
com.rti.dds.infrastructure.DataWriterResourceLimitsInstanceReplacementKind
Categories
Immutable, Middleware Memory Management, Instance Lifecycle

◆ autoregister_instances

boolean autoregister_instances

[DEPRECATED] <<extension>> Whether or not to automatically register new instances

[default] com.rti.dds.infrastructure.false

When set to true, it is possible to write with a non-NIL handle of an instance that is not registered: the write operation will succeed and the instance will be registered. Otherwise, that write operation would fail.

See also
com.rti.ndds.example.FooDataWriter.write
Categories
Immutable, Instance Lifecycle

◆ initial_virtual_writers

int initial_virtual_writers

<<extension>> The initial number of virtual writers supported by a com.rti.dds.publication.DataWriter

[default] 1

[range] [1, 1000000], or com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED

Categories
Immutable, Middleware Memory Management

◆ max_virtual_writers

int max_virtual_writers

<<extension>> The maximum number of virtual writers supported by a com.rti.dds.publication.DataWriter

Sets the maximum number of unique virtual writers supported by a com.rti.dds.publication.DataWriter, where virtual writers are added when samples are written with the virtual writer GUID.

This field is specially relevant in the configuration of Persistence Service DataWriters since these DataWriters will publish samples on behalf of multiple virtual writers.

[default] com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED

[range] [1, 1000000], or com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED

Categories
Immutable, Middleware Memory Management

◆ max_remote_readers

◆ max_app_ack_remote_readers

int max_app_ack_remote_readers

◆ initial_active_topic_queries

int initial_active_topic_queries

<<extension>> Represents the initial number of active topic queries a com.rti.dds.publication.DataWriter will manage.

[default] 1

[range] [1, 1000000]

See also
com.rti.dds.infrastructure.TopicQueryDispatchQosPolicy
Categories
Immutable, Middleware Memory Management, Topic Queries

◆ max_active_topic_queries

int max_active_topic_queries

<<extension>> Represents the maximum number of active topic queries a com.rti.dds.publication.DataWriter will manage.

When topic queries are enabled, the maximum number of topic queries that a com.rti.dds.publication.DataWriter can publish data samples for at the same time is limited by this value.

When the DataWriter receives one topic query above this limit, it will wait to process it until it finishes publishing all the samples for at least one of the current topic queries.

[default] com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED

[range] [1, 1000000] or com.rti.dds.infrastructure.ResourceLimitsQosPolicy.LENGTH_UNLIMITED

See also
com.rti.dds.infrastructure.TopicQueryDispatchQosPolicy
Categories
Immutable, Middleware Memory Management, Topic Queries