Expand description
Transport abstraction traits.
Defines the backend-agnostic interface that transport implementations (zenoh-pico, XRCE-DDS) must satisfy. The core trait hierarchy is:
Session— connection lifecycle and handle creationPublisher/Subscription— pub/sub data transportServiceTrait/ClientTrait— request/replyRmw— top-level factory that creates sessions
Modules§
- qos_
override_ policy policycodes forQoSOverrideCode.- qos_
override_ role rolecodes forQoSOverrideCode.
Structs§
- Action
Info - Action information for action client/server
- Graph
Endpoint Info - One discovered endpoint on a topic — phase-381 W3, the Rust view of
rmw_topic_endpoint_info_t. - QoSOverride
- Phase 211.H — one per-topic QoS override, lowered from a ROS 2
qos_overrides.<topic>.<role>.<policy>launch parameter by the planner and baked into a&'static [QoSOverride]table by the entry codegen. The node folds the matching entries into the entity’sQoSProfileatcreate_publisher/create_subscriptiontime (setup-time, single linear scan, no alloc), before the backend-compatvalidate_against— so an override the active RMW can’t honour still errors loudly, never a silent downgrade. - QoSPolicy
Mask - Bitmask of QoS policies a backend can honour. See
Session::supported_qos_policies. - QoSProfile
- Full DDS-shaped QoS profile. Matches the field set of upstream
rmw_qos_profile_t. - QoSSystem
Defaults - What ONE backend resolves the
SYSTEM_DEFAULTsentinel to. - RmwConfig
- Middleware-agnostic session configuration.
- Service
Info - Service information for service client/server
- Service
Request - Service request from a client
- Topic
Info - Topic information for pub/sub
- Transport
Config - Transport session configuration
Enums§
- Graph
Entity Kind - Which entity kind a
*_by_nodegraph query keeps — phase-381 W3. - Locator
Protocol - Locator transport protocol
- QoSDurability
Policy - QoS durability policy
- QoSHistory
Policy - QoS history policy
- QoSLiveliness
Policy - QoS liveliness policy. Matches DDS
LIVELINESSsemantics. - QoSOverride
Role - Phase 211.H — which side of a topic a
QoSOverridetargets. Mirrors the<role>segment of a ROS 2qos_overrides.<topic>.<role>.<policy>launch parameter. - QoSOverride
Value - Phase 211.H — a single policy value a
QoSOverridesets. A typed enum (not a string) so the codegen that bakes these from the plan catches an unknown policy / mistyped value at generation time rather than silently no-op-ing at runtime. - QoSReliability
Policy - QoS reliability policy
- Session
Mode - Session mode
- Transport
Error - Transport error types.
Constants§
- DEPTH_
SYSTEM_ DEFAULT - The depth sentinel — “the caller did not state a queue depth”.
- DURATION_
INFINITE_ MS - Phase-301 (issue 0241) — explicit “infinite” spelling for the u32
millisecond QoS duration fields (
deadline_ms,lifespan_ms,liveliness_lease_ms). Semantically identical to0(unset / no-check) at every check site; exists so a caller can distinguish “default” from “deliberately infinite”. Mirrors the C header’sNROS_RMW_DURATION_INFINITE_MS.
Traits§
- Client
Trait - Service client trait for sending requests.
- Publisher
- Publisher trait for sending messages.
- Rmw
- Factory trait for compile-time middleware selection.
- Service
Trait - Service server trait for handling requests.
- Session
- Transport session trait — the per-process anchor an RMW backend gives to the executor.
- Subscription
- Subscription trait for receiving messages.
- Transport
- Transport backend trait (legacy).
Functions§
- decode_
qos_ override - Decode one
QoSOverrideCodeinto a typedQoSOverride. - decode_
qos_ override_ parts decode_qos_overrideover loose parts — for the FFI paths, which read the fields out of a#[repr(C)]struct rather than a tuple.- decode_
qos_ override_ role - Decode a
rolecode.Nonefor an unrecognised one. - decode_
qos_ override_ value - Decode a
(policy, value)code pair.Nonefor an unrecognised policy or an out-of-range enum value. - duration_
to_ qos_ ms - Phase-301 (issue 0241) — lower a
core::time::Durationinto a u32 millisecond QoS field. Boundary contract: - locator_
protocol - Parse the protocol from a locator string
- validate_
locator - Validate a locator string format.
Type Aliases§
- QoSOverride
Code - Issue 0303 — the wire form a baked QoS override travels in:
(topic, role, policy, value), all primitives.