pub struct QoSProfile {
pub history: QoSHistoryPolicy,
pub reliability: QoSReliabilityPolicy,
pub durability: QoSDurabilityPolicy,
pub deadline: QoSDuration,
pub lifespan: QoSDuration,
pub liveliness: QoSLivelinessPolicy,
pub liveliness_lease_duration: QoSDuration,
pub avoid_ros_namespace_conventions: bool,
}
Expand description
A Quality of Service profile.
See docs.ros.org on Quality of Service settings in general.
In the general case, a topic can have multiple publishers and multiple subscriptions, each with an individual QoS profile. For each publisher-subscription pair, messages are only delivered if their QoS profiles are compatible.
§Example
let qos = QoSProfile {
history: QoSHistoryPolicy::KeepLast { depth: 1 },
..QOS_PROFILE_SENSOR_DATA
};
Fields§
§history: QoSHistoryPolicy
The history policy.
reliability: QoSReliabilityPolicy
The reliability policy.
durability: QoSDurabilityPolicy
The durability policy.
deadline: QoSDuration
The period at which messages are expected to be sent/received.
If this is Infinite
, messages never miss a deadline expectation.
lifespan: QoSDuration
The age at which messages are considered expired and no longer valid.
If this is Infinite
, messages do not expire.
liveliness: QoSLivelinessPolicy
The liveliness policy.
liveliness_lease_duration: QoSDuration
The time within which the RMW publisher must show that it is alive.
If this is Infinite
, liveliness is not enforced.
avoid_ros_namespace_conventions: bool
If true, any ROS specific namespacing conventions will be circumvented.
In the case of DDS and topics, for example, this means the typical
ROS specific prefix of rt
would not be applied as described here.
This might be useful when trying to directly connect a native DDS topic with a ROS 2 topic.
Trait Implementations§
Source§impl Clone for QoSProfile
impl Clone for QoSProfile
Source§fn clone(&self) -> QoSProfile
fn clone(&self) -> QoSProfile
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more