RTI Connext Micro C API
2.4.14.2
|
<<cert>> Resource limits that apply only to DDS_DataReader instances. More...
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 |
DDS_Long | max_routes_per_writer |
The maximum number of routes the reader will send to per matched writer. |
<<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.
The DDS_DataReaderResourceLimitsQosPolicy::max_remote_writers resource-limit limits the maximum number of remote DataWriters the DDS_DataReader can receive data from regardless of which instance it is.
Resources controlled by this limit can only be reused when a remote DDS_DataWriter is either deleted or looses liveliness.
[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.
The DDS_DataReaderResourceLimitsQosPolicy::max_remote_writers_per_instance limits the maximum number of remote DDS_DataWriter entities a DDS_DataReader maintains state for per instance. If this resource-limit is lower than the actual number of remote DataWriters, updating an instance only state for up to DDS_DataReaderResourceLimitsQosPolicy::max_remote_writers_per_instance is maintained. It is not guaranteed to be the last DDS_DataReaderResourceLimitsQosPolicy::max_remote_writers_per_instance though. However, the last remote DDS_DataWriter to update an instance is always saved. When an instance is no longer updated by a known, to the DDS_DataReader or DDS_DataWriter, DDS_NOT_ALIVE_NO_WRITERS_INSTANCE_STATE state is signaled on the DDS_DataReader. Thus, if this resource-limit is lower than the actual number of remote DataWriters updating an instance, DDS_NOT_ALIVE_NO_WRITERS_INSTANCE_STATE may be signaled even though there may be one or more DataWriters still updating an instance. In this case the instance will go back to the DDS_ALIVE_INSTANCE_STATE.
[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.
This resource-limit limits the maximum number of samples that can be cached per remote DDS_DataWriter the DDS_DataReader is receiving data from. This resource-limit is useful in preventing one DDS_DataWriter from starving another DDS_DataWriter. NOTE: The samples cached from a DDS_DataWriter are allocated from the same sample pool controlled by DDS_ResourceLimitsQosPolicy::max_samples.
[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.
The DDS_DataReaderResourceLimitsQosPolicy::max_outstanding_reads resource-limit limits the maximum number of simultaneous loans an application can make at any given time using the FooDataReader_read() and FooDataReader_take() APIs.
Typically a value of 1 is sufficient. It is only necessary to increase this value if an application thread will access the same cache before another thread has returned the loan.
[default] 1
[range] [1, 2147483647]
DDS_DataReaderResourceLimitsInstanceReplacementKind DDS_DataReaderResourceLimitsQosPolicy::instance_replacement |
[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.
Each DDS_DataReader maintains information about the state of its peer DDS_DataWriter (those it has matched with). Part of this state is which locators (or destination addresses) it should use to send data to a particular DDS_DataWriter. The DDS_DataReaderResourceLimitsQosPolicy::max_routes_per_writer resource-limit limits the maximum number of routes that can be saved per DDS_DataWriter.
This resource-limit is shared across all matched DDS_DataWriter per DDS_DataReader. Thus, if DDS_DataReaderResourceLimitsQosPolicy::max_remote_writers is 2 and DDS_DataReaderResourceLimitsQosPolicy::max_routes_per_writer is 4, a total of 8 routes can be saved for both DataWriters. One DDS_DataWriter may have 6 routes and the other 2.
[default] 4
[range] [1, 2000]