RTI Connext DDS Micro C API
Version 4.0.1
|
<<cert>> Resource limits that apply only to DDS_DataReader instances. More...
#include <dds_c_infrastructure.h>
Data Fields | |
DDS_Long | max_remote_writers |
The maximum number of remote writers for which the reader will maintain state and communication. | |
DDS_Long | max_remote_writers_per_instance |
The maximum number of remote writers for a unique instance for which the reader will maintain state and communication. | |
DDS_Long | max_samples_per_remote_writer |
The maximum number of untaken samples from a given remote DataWriter that a DataReader may store. | |
DDS_Long | max_outstanding_reads |
The maximum number of outstanding read/take calls (or one of the variants) on the same DataReader for which the memory has not been returned by calling FooDataReader_return_loan. | |
DDS_DataReaderResourceLimitsInstanceReplacementKind | instance_replacement |
The instance replacement policy when the DDS_ResourceLimitsQosPolicy::max_samples limit has been reached and a new instance is detected. | |
DDS_Long | max_routes_per_writer |
The maximum number of routes the reader will send to per matched writer. | |
DDS_Long | max_fragmented_samples |
The maximum number of samples for which the built-in topic DDS_DataReader may store fragments at a given point in time. | |
DDS_Long | max_fragmented_samples_per_remote_writer |
The maximum number of samples per remote writer for which a DDS_DataReader may store fragments. | |
DDS_Long | shmem_ref_transfer_mode_attached_segment_allocation |
Number of shared memory segments a Zero Copy transfer over shared memory DataReader can attach to at any given time. |
<<cert>> Resource limits that apply only to DDS_DataReader instances.
This QoS policy is an extension to the DDS standard.
DDS_Long DDS_DataReaderResourceLimitsQosPolicy::max_remote_writers |
The maximum number of remote writers for which the reader will maintain state and communication.
[default] 1
[range] [1, 1000000], >= max_remote_writers_per_instance
DDS_Long DDS_DataReaderResourceLimitsQosPolicy::max_remote_writers_per_instance |
The maximum number of remote writers for a unique instance for which the reader will maintain state and communication.
[default] 1
[range] [1, 2147483647], <= max_remote_writers
DDS_Long DDS_DataReaderResourceLimitsQosPolicy::max_samples_per_remote_writer |
The maximum number of untaken samples from a given remote DataWriter that a DataReader may store.
[default] 1
[range] [1, 100000000], <= DDS_ResourceLimitsQosPolicy::max_samples
DDS_Long DDS_DataReaderResourceLimitsQosPolicy::max_outstanding_reads |
The maximum number of outstanding read/take calls (or one of the variants) on the same DataReader for which the memory has not been returned by calling FooDataReader_return_loan.
[default] 1
[range] [1, 2147483647]
DDS_DataReaderResourceLimitsInstanceReplacementKind DDS_DataReaderResourceLimitsQosPolicy::instance_replacement |
The instance replacement policy when the DDS_ResourceLimitsQosPolicy::max_samples limit has been reached and a new instance is detected.
[default] DDS_NO_INSTANCE_REPLACEMENT_QOS
DDS_Long DDS_DataReaderResourceLimitsQosPolicy::max_routes_per_writer |
The maximum number of routes the reader will send to per matched writer.
[default] 4
[range] [1, 2147483647]
DDS_Long DDS_DataReaderResourceLimitsQosPolicy::max_fragmented_samples |
The maximum number of samples for which the built-in topic DDS_DataReader may store fragments at a given point in time.
At any given time, a built-in topic DDS_DataReader may store fragments for up to max_fragmented_samples
samples while waiting for the remaining fragments. These samples need not have consecutive sequence numbers and may have been sent by different built-in topic DDS_DataWriter instances.
Once all fragments of a sample have been received, the sample is treated as a regular sample and becomes subject to standard QoS settings such as DDS_ResourceLimitsQosPolicy::max_samples.
The middleware will drop fragments if the max_fragmented_samples
limit has been reached. For best-effort communication, the middleware will accept a fragment for a new sample, but drop the oldest fragmented sample from the same remote writer. For reliable communication, the middleware will drop fragments for any new samples until all fragments for at least one older sample from that writer have been received.
[default] max_samples * (fragments needed per sample)
[range] [1, 1 million]
DDS_Long DDS_DataReaderResourceLimitsQosPolicy::max_fragmented_samples_per_remote_writer |
The maximum number of samples per remote writer for which a DDS_DataReader may store fragments.
Logical limit so a single remote writer cannot consume all available resources.
[default] 256
[range] [1, 1 million], <= max_fragmented_samples
DDS_Long DDS_DataReaderResourceLimitsQosPolicy::shmem_ref_transfer_mode_attached_segment_allocation |
Number of shared memory segments a Zero Copy transfer over shared memory DataReader can attach to at any given time.
The max_count does not limit the total number of shared memory segments used by the DDS_DataReader. When this limit is hit, the DDS_DataReader will try to detach from a segment that doesn't contain any loaned samples and attach to a new segment. If samples are loaned from all attached segments, then the DDS_DataReader will fail to attach to the new segment. This scenario will result in the sample being rejected.
[default] DDS_DataReaderResourceLimitsQosPolicy::max_remote_writers [range] [0, 1000000]