|
nros C++ API
Lightweight ROS 2 client for embedded real-time systems (C++ headers)
|
#include <qos.hpp>
Public Types | |
| using | Liveliness = LivelinessPolicy |
Deprecated spelling of nros::LivelinessPolicy. | |
Public Member Functions | |
| constexpr bool | avoid_ros_namespace_conventions () const |
Whether to skip the /rt/ ROS topic-name prefix. | |
| constexpr QoS & | avoid_ros_namespace_conventions (bool on) |
| constexpr QoS & | best_effort () |
Set reliability to BEST_EFFORT (fire-and-forget; default for sensors). | |
| constexpr Duration | deadline () const |
The deadline window. Duration() (zero) = infinite. | |
| constexpr QoS & | deadline (const Duration &d) |
| constexpr uint32_t | deadline_ms () const |
| constexpr QoS & | deadline_ms (uint32_t ms) |
| constexpr int | depth () const |
Configured queue depth (only meaningful for KEEP_LAST). | |
| constexpr DurabilityPolicy | durability () const |
| The durability policy. | |
| constexpr int | durability_raw () const |
| constexpr QoS & | durability_volatile () |
Set durability to VOLATILE — late joiners get nothing (default). | |
| constexpr HistoryPolicy | history () const |
| The history policy. | |
| constexpr int | history_raw () const |
| constexpr QoS & | keep_all () |
Use KEEP_ALL history (bounded by transport). | |
| constexpr QoS & | keep_last (int depth) |
| constexpr Duration | lifespan () const |
The lifespan window. Duration() (zero) = infinite. | |
| constexpr QoS & | lifespan (const Duration &d) |
| constexpr uint32_t | lifespan_ms () const |
| constexpr QoS & | lifespan_ms (uint32_t ms) |
| constexpr LivelinessPolicy | liveliness () const |
| The liveliness policy kind. | |
| constexpr QoS & | liveliness (LivelinessPolicy kind) |
| constexpr Duration | liveliness_lease_duration () const |
The liveliness lease window. Duration() (zero) = infinite. | |
| constexpr QoS & | liveliness_lease_duration (const Duration &d) |
| constexpr uint32_t | liveliness_lease_ms () const |
| constexpr QoS & | liveliness_lease_ms (uint32_t ms) |
| constexpr int | liveliness_raw () const |
| constexpr | QoS () |
| constexpr | QoS (int depth) |
| constexpr ReliabilityPolicy | reliability () const |
| The reliability policy. | |
| constexpr int | reliability_raw () const |
| constexpr QoS & | reliable () |
Set reliability to RELIABLE (acked transport, retransmits on loss). | |
| constexpr QoS & | transient_local () |
Set durability to TRANSIENT_LOCAL — late joiners get the last value. | |
| constexpr bool | tx_express () const |
| Whether this publisher's samples bypass transport tx batching. | |
| constexpr QoS & | tx_express (bool on) |
Static Public Member Functions | |
| static constexpr QoS | default_profile () |
Default profile: RELIABLE + VOLATILE + KEEP_LAST(10). | |
| static constexpr QoS | sensor_data () |
Sensor-data profile: BEST_EFFORT + VOLATILE + KEEP_LAST(5). | |
| static constexpr QoS | services () |
Services profile: RELIABLE + VOLATILE + KEEP_LAST(10). | |
Static Public Attributes | |
| static constexpr LivelinessPolicy | LivelinessAutomatic |
| static constexpr LivelinessPolicy | LivelinessManualByNode |
| static constexpr LivelinessPolicy | LivelinessManualByTopic = ::nros::LivelinessManualByTopic |
| static constexpr LivelinessPolicy | LivelinessNone |
QoS profile for publishers and subscriptions.
Mirrors rclcpp::QoS with chainable setters and predefined profiles. All methods are constexpr — profiles can be computed at compile time.
Phase 108.B.7 — extended with full DDS QoS surface (deadline, lifespan, liveliness kind + lease, avoid_ros_namespace_conventions). Backends advertise per-policy support; entities created with a profile the active backend can't honour return NROS_CPP_RET_INCOMPATIBLE_QOS synchronously at create time.
Phase 379 W5 — the policy enums moved to namespace scope, the getters return them instead of int, and the three time windows take and return nros::Duration instead of carrying an _ms suffix. Every old spelling still compiles and is [[deprecated]].
Deprecated spelling of nros::LivelinessPolicy.
|
inlineconstexpr |
Default QoS: reliable, volatile, keep-last(10), automatic liveliness, no deadline / lifespan / lease.
|
inlineexplicitconstexpr |
rclcpp-shape depth ctor: QoS(1) == default profile with keep-last(1). Lets ported rclcpp code (rclcpp::QoS{1}.transient_local()) keep its spelling on the native surface.
|
inlineconstexpr |
Whether to skip the /rt/ ROS topic-name prefix.
|
inlineconstexpr |
Skip the ROS /rt/ topic-name prefix. Off by default; enable when interoperating with non-ROS DDS endpoints.
|
inlineconstexpr |
Set reliability to BEST_EFFORT (fire-and-forget; default for sensors).
|
inlineconstexpr |
The deadline window. Duration() (zero) = infinite.
|
inlineconstexpr |
Subscriber max-inter-arrival / publisher offered-rate. A zero or negative duration = infinite (no deadline check).
The C ABI underneath is uint32_t milliseconds, so a sub-millisecond window ROUNDS UP to 1 ms — it never truncates to 0, which the ABI reads as infinity. Above ~49.7 days it saturates. See detail::qos_window_ms.
|
inlineconstexpr |
deadline(), which returns nros::Duration.
|
inlineconstexpr |
deadline(nros::Duration).
|
inlinestaticconstexpr |
Default profile: RELIABLE + VOLATILE + KEEP_LAST(10).
|
inlineconstexpr |
Configured queue depth (only meaningful for KEEP_LAST).
|
inlineconstexpr |
The durability policy.
|
inlineconstexpr |
durability(), which returns DurabilityPolicy.
|
inlineconstexpr |
Set durability to VOLATILE — late joiners get nothing (default).
|
inlineconstexpr |
The history policy.
|
inlineconstexpr |
history(), which returns HistoryPolicy.
|
inlineconstexpr |
Use KEEP_ALL history (bounded by transport).
|
inlineconstexpr |
Use KEEP_LAST history with the given depth.
| depth | maximum number of messages buffered per entity. |
|
inlineconstexpr |
The lifespan window. Duration() (zero) = infinite.
|
inlineconstexpr |
Sample expiry. A zero or negative duration = infinite. Same millisecond boundary as deadline().
|
inlineconstexpr |
lifespan(), which returns nros::Duration.
|
inlineconstexpr |
lifespan(nros::Duration).
|
inlineconstexpr |
The liveliness policy kind.
|
inlineconstexpr |
Liveliness kind. Pair with liveliness_lease_duration() for MANUAL_BY_TOPIC / MANUAL_BY_NODE. AUTOMATIC is the default.
|
inlineconstexpr |
The liveliness lease window. Duration() (zero) = infinite.
|
inlineconstexpr |
Liveliness lease duration. A zero or negative duration = infinite. Same millisecond boundary as deadline().
|
inlineconstexpr |
liveliness_lease_duration(), which returns nros::Duration.
|
inlineconstexpr |
liveliness_lease_duration(nros::Duration).
|
inlineconstexpr |
liveliness(), which returns LivelinessPolicy.
|
inlineconstexpr |
The reliability policy.
|
inlineconstexpr |
reliability(), which returns ReliabilityPolicy.
|
inlineconstexpr |
Set reliability to RELIABLE (acked transport, retransmits on loss).
|
inlinestaticconstexpr |
Sensor-data profile: BEST_EFFORT + VOLATILE + KEEP_LAST(5).
|
inlinestaticconstexpr |
Services profile: RELIABLE + VOLATILE + KEEP_LAST(10).
|
inlineconstexpr |
Set durability to TRANSIENT_LOCAL — late joiners get the last value.
|
inlineconstexpr |
Whether this publisher's samples bypass transport tx batching.
|
inlineconstexpr |
Phase 282 (#145) — mark this publisher "express": its samples bypass transport tx batching (sent immediately even when the batching knob is on). A transport hint for control-tier / latency-sensitive topics; ignored on subscriptions and by backends without batching.
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |