pub enum QoSHistoryPolicy {
SystemDefault {
depth: u32,
},
KeepLast {
depth: u32,
},
KeepAll,
}
Expand description
The HISTORY
DDS QoS policy.
A subscription internally maintains a queue of messages (called “samples” in DDS) that have not been processed yet by the application, and likewise a publisher internally maintains a queue.
If the history policy is KeepAll
, this queue is unbounded, and if it is KeepLast
, it is
bounded and old values are discarded when the queue is overfull.
The rmw
layer may not be able to handle very large queue depths, e.g. greater than
i32::MAX
.
In this case, the functions taking the QoS profile as an argument will return an error.
§Compatibility
Publisher | Subscription | Compatible |
---|---|---|
KeepLast | KeepLast | yes |
KeepLast | KeepAll | yes |
KeepAll | KeepLast | yes |
KeepAll | KeepAll | yes |
Variants§
SystemDefault
Use the default policy of the RMW layer.
If the default policy is KeepAll
, the depth will be ignored.
KeepLast
Keep only the depth
most recent messages.
KeepAll
Keep all messages, at least until other resource limits are exceeded.
Trait Implementations§
Source§impl Clone for QoSHistoryPolicy
impl Clone for QoSHistoryPolicy
Source§fn clone(&self) -> QoSHistoryPolicy
fn clone(&self) -> QoSHistoryPolicy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more