Return to DDS Quality of Service
The RESOURCE_LIMITS policy controls the resources that the Service can use in order to meet the requirements imposed by the application and other QoS settings.
If the DataWriter
objects are communicating samples faster than they are ultimately taken by the DataReader
objects, the middleware will eventually hit against some of the QoS-imposed resource limits. Note that this may occur when just a single DataReader
cannot keep up with its corresponding DataWriter
. The behavior in this case depends on the setting for the RELIABILITY QoS. If reliability is BEST_EFFORT then the Service is allowed to drop samples. If the reliability is RELIABLE, the Service will block the DataWriter
or discard the sample at the DataReader
28in order not to loose existing samples.
The constant LENGTH_UNLIMITED may be used to indicate the absence of a particular limit. For example setting max_samples_per_instance
to LENGH_UNLIMITED
will cause the middleware to not enforce this particular limit.
The setting of RESOURCE_LIMITS max_samples
must be consistent with the max_samples_per_instance
. For these two values to be consistent they must verify that max_samples >= max_samples_per_instance
“.
The setting of RESOURCE_LIMITS max_samples_per_instance must be consistent with the HISTORY depth
. For these two QoS to be consistent, they must verify thatdepth ⇐ max_samples_per_instance
”.
An attempt to set this policy to inconsistent values when an entity is created of via a set_qos
operation will cause the operation to fail.
Source: DDS 1.4 Spec