10#ifndef NROS_CPP_QOS_HPP
11#define NROS_CPP_QOS_HPP
80 : reliability_(Reliable), durability_(Volatile), history_(KeepLast),
82 liveliness_lease_ms_(0), avoid_ros_namespace_conventions_(0) {}
88 reliability_ = Reliable;
94 reliability_ = BestEffort;
100 durability_ = TransientLocal;
106 durability_ = Volatile;
146 liveliness_lease_ms_ =
ms;
153 avoid_ros_namespace_conventions_ =
on ? 1 : 0;
175 constexpr int history_raw()
const {
return static_cast<int>(history_); }
179 constexpr int depth()
const {
return depth_; }
188 return avoid_ros_namespace_conventions_ != 0;
192 enum Reliability { Reliable = 0, BestEffort = 1 } reliability_;
193 enum Durability { Volatile = 0, TransientLocal = 1 } durability_;
194 enum History { KeepLast = 0, KeepAll = 1 } history_;
197 uint32_t deadline_ms_;
198 uint32_t lifespan_ms_;
199 uint32_t liveliness_lease_ms_;
200 uint8_t avoid_ros_namespace_conventions_;
constexpr int depth() const
Configured queue depth (only meaningful for KEEP_LAST).
Definition qos.hpp:179
constexpr QoS & best_effort()
Set reliability to BEST_EFFORT (fire-and-forget; default for sensors).
Definition qos.hpp:93
constexpr int history_raw() const
History as a raw int (0 = KeepLast, 1 = KeepAll).
Definition qos.hpp:175
constexpr bool avoid_ros_namespace_conventions() const
Whether to skip the /rt/ ROS topic-name prefix.
Definition qos.hpp:187
constexpr uint32_t lifespan_ms() const
Lifespan in ms (0 = infinite).
Definition qos.hpp:183
constexpr QoS & deadline_ms(uint32_t ms)
Definition qos.hpp:126
static constexpr QoS default_profile()
Default profile: RELIABLE + VOLATILE + KEEP_LAST(10).
Definition qos.hpp:160
static constexpr QoS services()
Services profile: RELIABLE + VOLATILE + KEEP_LAST(10).
Definition qos.hpp:166
constexpr QoS & avoid_ros_namespace_conventions(bool on)
Definition qos.hpp:152
Liveliness
Liveliness policy kind. Matches DDS LIVELINESS_QOS_POLICY.
Definition qos.hpp:70
@ LivelinessAutomatic
Definition qos.hpp:72
@ LivelinessManualByTopic
Definition qos.hpp:73
@ LivelinessNone
Definition qos.hpp:71
@ LivelinessManualByNode
Definition qos.hpp:74
constexpr QoS & reliable()
Set reliability to RELIABLE (acked transport, retransmits on loss).
Definition qos.hpp:87
static constexpr QoS sensor_data()
Sensor-data profile: BEST_EFFORT + VOLATILE + KEEP_LAST(5).
Definition qos.hpp:163
constexpr uint32_t deadline_ms() const
Deadline in ms (0 = infinite).
Definition qos.hpp:181
constexpr QoS()
Definition qos.hpp:79
constexpr QoS & lifespan_ms(uint32_t ms)
Sample expiry. 0 = infinite.
Definition qos.hpp:132
constexpr int liveliness_raw() const
Liveliness kind as a raw int (0..3).
Definition qos.hpp:177
constexpr int reliability_raw() const
Reliability as a raw int (0 = Reliable, 1 = BestEffort).
Definition qos.hpp:171
constexpr QoS & keep_last(int depth)
Definition qos.hpp:112
constexpr QoS & durability_volatile()
Set durability to VOLATILE — late joiners get nothing (default).
Definition qos.hpp:105
constexpr uint32_t liveliness_lease_ms() const
Liveliness lease in ms (0 = infinite).
Definition qos.hpp:185
constexpr QoS & liveliness(Liveliness kind)
Definition qos.hpp:139
constexpr int durability_raw() const
Durability as a raw int (0 = Volatile, 1 = TransientLocal).
Definition qos.hpp:173
constexpr QoS & keep_all()
Use KEEP_ALL history (bounded by transport).
Definition qos.hpp:119
constexpr QoS & transient_local()
Set durability to TRANSIENT_LOCAL — late joiners get the last value.
Definition qos.hpp:99
constexpr QoS & liveliness_lease_ms(uint32_t ms)
Liveliness lease duration. 0 = infinite.
Definition qos.hpp:145
nros_cpp_qos_history_t
Definition qos.hpp:31
@ NROS_CPP_QOS_KEEP_LAST
Definition qos.hpp:32
@ NROS_CPP_QOS_KEEP_ALL
Definition qos.hpp:33
nros_cpp_qos_liveliness_t
Definition qos.hpp:35
@ NROS_CPP_QOS_LIVELINESS_MANUAL_BY_NODE
Definition qos.hpp:39
@ NROS_CPP_QOS_LIVELINESS_AUTOMATIC
Definition qos.hpp:37
@ NROS_CPP_QOS_LIVELINESS_MANUAL_BY_TOPIC
Definition qos.hpp:38
@ NROS_CPP_QOS_LIVELINESS_NONE
Definition qos.hpp:36
nros_cpp_qos_durability_t
Definition qos.hpp:27
@ NROS_CPP_QOS_VOLATILE
Definition qos.hpp:28
@ NROS_CPP_QOS_TRANSIENT_LOCAL
Definition qos.hpp:29
nros_cpp_qos_reliability_t
Definition qos.hpp:23
@ NROS_CPP_QOS_RELIABLE
Definition qos.hpp:24
@ NROS_CPP_QOS_BEST_EFFORT
Definition qos.hpp:25
enum nros_cpp_qos_durability_t durability
Definition qos.hpp:43
uint32_t liveliness_lease_ms
Definition qos.hpp:49
uint32_t lifespan_ms
Definition qos.hpp:48
enum nros_cpp_qos_history_t history
Definition qos.hpp:44
enum nros_cpp_qos_liveliness_t liveliness_kind
Definition qos.hpp:45
enum nros_cpp_qos_reliability_t reliability
Definition qos.hpp:42
uint8_t avoid_ros_namespace_conventions
Definition qos.hpp:50
uint32_t deadline_ms
Definition qos.hpp:47
int depth
Definition qos.hpp:46