Class QoS

Inheritance Relationships

Derived Types

Class Documentation

class QoS

Encapsulation of Quality of Service settings.

Quality of Service settings control the behavior of publishers, subscriptions, and other entities, and includes things like how data is sent or resent, how data is buffered on the publishing and subscribing side, and other things. See: https://docs.ros.org/en/rolling/Concepts/About-Quality-of-Service-Settings.html

Subclassed by rclcpp::ClockQoS, rclcpp::ParameterEventsQoS, rclcpp::ParametersQoS, rclcpp::RosoutQoS, rclcpp::SensorDataQoS, rclcpp::ServicesQoS, rclcpp::SystemDefaultsQoS, rclcpp_action::DefaultActionStatusQoS

Public Functions

explicit QoS(const QoSInitialization &qos_initialization, const rmw_qos_profile_t &initial_profile = rmw_qos_profile_default)

Create a QoS by specifying only the history policy and history depth.

When using the default initial profile, the defaults will include:

See rmw_qos_profile_default for a full list of default settings. If some other rmw_qos_profile_t is passed to initial_profile, then the defaults will derive from that profile instead.

Parameters:
  • qos_initialization[in] Specifies history policy and history depth.

  • initial_profile[in] The rmw_qos_profile_t instance on which to base the default settings.

QoS(size_t history_depth)

Conversion constructor to ease construction in the common case of just specifying depth.

This is a convenience constructor that calls QoS(KeepLast(history_depth)).

Parameters:

history_depth[in] How many messages can be queued when publishing with a Publisher, or how many messages can be queued before being replaced by a Subscription.

rmw_qos_profile_t &get_rmw_qos_profile()

Return the rmw qos profile.

const rmw_qos_profile_t &get_rmw_qos_profile() const

Return the rmw qos profile.

QoS &history(HistoryPolicy history)

Set the history policy.

QoS &history(rmw_qos_history_policy_t history)

Set the history policy.

QoS &keep_last(size_t depth)

Set the history to keep last.

QoS &keep_all()

Set the history to keep all.

QoS &reliability(rmw_qos_reliability_policy_t reliability)

Set the reliability setting.

QoS &reliability(ReliabilityPolicy reliability)

Set the reliability setting.

QoS &reliable()

Set the reliability setting to reliable.

QoS &best_effort()

Set the reliability setting to best effort.

QoS &durability(rmw_qos_durability_policy_t durability)

Set the durability setting.

QoS &durability(DurabilityPolicy durability)

Set the durability setting.

QoS &durability_volatile()

Set the durability setting to volatile.

Note that this cannot be named volatile because it is a C++ keyword.

QoS &transient_local()

Set the durability setting to transient local.

QoS &deadline(rmw_time_t deadline)

Set the deadline setting.

QoS &deadline(const rclcpp::Duration &deadline)

Set the deadline setting, rclcpp::Duration.

QoS &lifespan(rmw_time_t lifespan)

Set the lifespan setting.

QoS &lifespan(const rclcpp::Duration &lifespan)

Set the lifespan setting, rclcpp::Duration.

QoS &liveliness(rmw_qos_liveliness_policy_t liveliness)

Set the liveliness setting.

QoS &liveliness(LivelinessPolicy liveliness)

Set the liveliness setting.

QoS &liveliness_lease_duration(rmw_time_t liveliness_lease_duration)

Set the liveliness_lease_duration setting.

QoS &liveliness_lease_duration(const rclcpp::Duration &liveliness_lease_duration)

Set the liveliness_lease_duration setting, rclcpp::Duration.

QoS &avoid_ros_namespace_conventions(bool avoid_ros_namespace_conventions)

Set the avoid_ros_namespace_conventions setting.

HistoryPolicy history() const

Get the history qos policy.

size_t depth() const

Get the history depth.

ReliabilityPolicy reliability() const

Get the reliability policy.

DurabilityPolicy durability() const

Get the durability policy.

rclcpp::Duration deadline() const

Get the deadline duration setting.

rclcpp::Duration lifespan() const

Get the lifespan duration setting.

LivelinessPolicy liveliness() const

Get the liveliness policy.

rclcpp::Duration liveliness_lease_duration() const

Get the liveliness lease duration setting.

bool avoid_ros_namespace_conventions() const

Get the avoid ros namespace convention setting.