#include <managed_infrastructure.h>
Static Public Member Functions | |
static System::String^ | get_datawriterresourcelimits_qos_policy_name () |
Stringified human-readable name for DDS::DataWriterResourceLimitsQosPolicy. | |
Public Attributes | |
System::Int32 | initial_concurrent_blocking_threads |
The initial number of threads that are allowed to concurrently block on write call on the same DDS::DataWriter. | |
System::Int32 | max_concurrent_blocking_threads |
The maximum number of threads that are allowed to concurrently block on write call on the same DDS::DataWriter. | |
System::Int32 | max_remote_reader_filters |
The maximum number of remote readers for which the writer will perform content-based filtering. | |
System::Int32 | initial_batches |
Represents the initial number of batches a DDS::DataWriter will manage. | |
System::Int32 | max_batches |
Represents the maximum number of batches a DDS::DataWriter will manage. | |
System::Int32 | cookie_max_length |
Represents the maximum length in bytes of a DDS::Cookie_t. | |
DataWriterResourceLimitsInstanceReplacementKind | instance_replacement |
Sets the kinds of instances allowed to be replaced when instance resource limits are reached. | |
System::Int32 | initial_virtual_writers |
The initial number of virtual writers supported by a DDS::DataWriter. | |
System::Int32 | max_virtual_writers |
The maximum number of virtual writers supported by a DDS::DataWriter. | |
Properties | |
System::Boolean | replace_empty_instances [get, set] |
Whether or not to replace empty instances during instance replacement. | |
System::Boolean | autoregister_instances [get, set] |
Whether or not to automatically register new instances. |
DataWriters must allocate internal structures to handle the simultaneously blocking of threads trying to call DDS::TypedDataWriter::write on the same DDS::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 DDS::DataWriter. By setting the initial size to the maximum size, you will prevent RTI Data Distribution Service from dynamically allocating any memory after the creation of the DDS::DataWriter.
This QoS policy is an extension to the DDS standard.
The initial number of threads that are allowed to concurrently block on write call on the same DDS::DataWriter.
This value only applies if DDS::HistoryQosPolicy has its kind set to DDS::HistoryQosPolicyKind::KEEP_ALL_HISTORY_QOS and DDS::ReliabilityQosPolicy::max_blocking_time is > 0.
[default] 1
[range] [1, 10000], <= max_concurrent_blocking_threads
The maximum number of threads that are allowed to concurrently block on write call on the same DDS::DataWriter.
This value only applies if DDS::HistoryQosPolicy has its kind set to DDS::HistoryQosPolicyKind::KEEP_ALL_HISTORY_QOS and DDS::ReliabilityQosPolicy::max_blocking_time is > 0.
[default] DDS::LENGTH_UNLIMITED
[range] [1, 10000] or DDS::LENGTH_UNLIMITED, >= initial_concurrent_blocking_threads
The maximum number of remote readers for which the writer will perform content-based filtering.
[default] 32
[range] [0, 32]
System::Int32 DDS::DataWriterResourceLimitsQosPolicy::initial_batches |
Represents the initial number of batches a DDS::DataWriter will manage.
[default] 8
[range] [1,100 million]
System::Int32 DDS::DataWriterResourceLimitsQosPolicy::max_batches |
Represents the maximum number of batches a DDS::DataWriter will manage.
[default] DDS::LENGTH_UNLIMITED
When batching is enabled, the maximum number of samples that a DDS::DataWriter can store is limited by this value and DDS::ResourceLimitsQosPolicy::max_samples.
[range] [1,100 million] or DDS::LENGTH_UNLIMITED >= DDS_RtpsReliableWriterProtocol_t::heartbeats_per_max_samples if batching is enabled
Represents the maximum length in bytes of a DDS::Cookie_t.
[default] DDS::LENGTH_UNLIMITED
Sets the maximum allowed byte-sequence length of a DDS::Cookie_t used when writing with parameters
[range] [1,100 million] or DDS::LENGTH_UNLIMITED
DataWriterResourceLimitsInstanceReplacementKind DDS::DataWriterResourceLimitsQosPolicy::instance_replacement |
Sets the kinds of instances allowed to be replaced when instance resource limits are reached.
When a DDS::DataWriter's number of active instances is greater than DDS::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] DDS::DataWriterResourceLimitsInstanceReplacementKind::UNREGISTERED_INSTANCE_REPLACEMENT
The initial number of virtual writers supported by a DDS::DataWriter.
[default] 1
[range] [1, 1000000], or DDS::LENGTH_UNLIMITED
The maximum number of virtual writers supported by a DDS::DataWriter.
Sets the maximum number of unique virtual writers supported by a DDS::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] DDS::LENGTH_UNLIMITED
[range] [1, 1000000], or DDS::LENGTH_UNLIMITED
System:: Boolean DDS::DataWriterResourceLimitsQosPolicy::replace_empty_instances [get, set] |
Whether or not to replace empty instances during instance replacement.
When a DDS::DataWriter has more active instances than allowed by DDS::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 true, then a DDS::DataWriter will first try reclaiming empty instances, before trying to replace whatever is specified by DDS::DataWriterResourceLimitsQosPolicy::instance_replacement.
[default] false
System:: Boolean DDS::DataWriterResourceLimitsQosPolicy::autoregister_instances [get, set] |
Whether or not to automatically register new instances.
[default] true
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.