Source: Open Robotics ( William Woodall)
The description of the history depth QoS setting indicates it is optional and only used when KEEP_LAST is the history kind, and that it is a long (or sometimes referred to as an integer/int), and that the default value is 1, and that it needs to be consistent with related RESOURCE_LIMITS QoS settings, but it does not specify a bounds nor does it explicitly state that the bounds are actually any valid (signed) long value. So a few boundary cases are not well defined, for example:
- is KEEP_LAST with depth 0 valid? If so, is it a special behavior?
- what about negative values for depth?
RTI's Connext Pro documentation limits it to values greater than zero and less than 100,000,000:
> "[range] [1,100 million], <= DDS_ResourceLimitsQosPolicy::max_samples_per_instance"
Other implementations like Cyclone DDS and Fast-DDS will accept values of zero, though it's not clear what they're behavior is in that case.
Those are useful to imply what the behavior is, but I think the standard should probably take stance on the valid values for depth, and I think values >= 1 makes sense, though the "100 million" upper bound set by RTI's API seems kind of arbitrary, though I don't have a better alternative in mind.
Reported: DDS 1.4 — Thu, 24 Feb 2022 02:30 GMT
Updated: Wed, 2 Mar 2022 21:42 GMT