zerodds-zenoh-bridge
Layer 5 — Bridges (Tier C, 🔒 feature-gated). Bidirectional bridge between ZeroDDS DCPS and Eclipse Zenoh.
- Source: crates/zenoh-bridge
- API docs: docs.rs/zerodds-zenoh-bridge
zerodds-zenoh-bridge delivers a pure-Rust mapping layer (topic
names ↔︎ Zenoh key expressions, QoS translation) with no external deps,
plus an optional fully functional live-bridge path via the
zenoh-runtime feature.
QoS mapping (DDS → Zenoh)
| DDS QoS | Zenoh equivalent |
|---|---|
Reliability::Reliable |
Reliability::Reliable |
Reliability::BestEffort |
Reliability::BestEffort |
Durability::TransientLocal |
CongestionControl::Block + Priority::DataHigh |
Durability::Volatile (default) |
CongestionControl::Drop |
History::KeepLast(n) |
(Zenoh has no history cache; n>1 ignored) |
Partition |
KeyExpr prefix (<partition>/<topic>) |
Layer position
Layer 5 — Bridges (Tier C). Sits on zerodds-dcps +
zerodds-qos. The live runtime uses zenoh = 1 + tokio.
Quickstart
use zerodds_zenoh_bridge::{TopicMap, key_expr_for_topic};
let mut map = TopicMap::new();
map.add("VehicleTracking.TrackUpdate".into(), "fleet/tracking".into());
assert_eq!(
key_expr_for_topic("VehicleTracking.TrackUpdate", Some("fleet")),
"fleet/VehicleTracking/TrackUpdate"
);
Feature flags
| Feature | Default | Purpose |
|---|---|---|
std |
✅ | Standard library. |
zenoh-runtime |
❌ | Live bridge with zenoh + tokio. |
Stability
1.0.0-rc.3. The pure-Rust mapping + QoS-translation layer has been
stable since RC1. The optional live runtime (the zenoh-runtime
feature) is a thin wrapper over the external zenoh crate, so it
tracks that upstream crate's 1.x API rather than ZeroDDS' own
release cadence.
zerodds-zenoh-bridge
Layer 5 — Bridges (Tier-C, 🔒 feature-gated). Bidirektionale Bridge zwischen ZeroDDS-DCPS und Eclipse-Zenoh.
- Quelle: crates/zenoh-bridge
- API-Docs: docs.rs/zerodds-zenoh-bridge
zerodds-zenoh-bridge liefert einen pure-Rust-Mapping-Layer (Topic-
Namen ↔︎ Zenoh-KeyExpressions, QoS-Translation) ohne externe Deps,
plus einen optionalen voll-funktionalen Live-Bridge-Pfad ueber
Feature zenoh-runtime.
QoS-Mapping (DDS → Zenoh)
| DDS-QoS | Zenoh-Aequivalent |
|---|---|
Reliability::Reliable |
Reliability::Reliable |
Reliability::BestEffort |
Reliability::BestEffort |
Durability::TransientLocal |
CongestionControl::Block + Priority::DataHigh |
Durability::Volatile (Default) |
CongestionControl::Drop |
History::KeepLast(n) |
(Zenoh hat kein History-Cache; n>1 ignoriert) |
Partition |
KeyExpr-Praefix (<partition>/<topic>) |
Schichten-Position
Layer 5 — Bridges (Tier-C). Sitzt auf zerodds-dcps +
zerodds-qos. Live-Runtime nutzt zenoh = 1 + tokio.
Quickstart
use zerodds_zenoh_bridge::{TopicMap, key_expr_for_topic};
let mut map = TopicMap::new();
map.add("VehicleTracking.TrackUpdate".into(), "fleet/tracking".into());
assert_eq!(
key_expr_for_topic("VehicleTracking.TrackUpdate", Some("fleet")),
"fleet/VehicleTracking/TrackUpdate"
);
Feature-Flags
| Feature | Default | Zweck |
|---|---|---|
std |
✅ | Standard-Library. |
zenoh-runtime |
❌ | Live-Bridge mit zenoh + tokio. |
Stabilität
1.0.0-rc.3. Die Pure-Rust-Mapping- + QoS-Übersetzungs-Schicht ist
seit RC1 stabil. Die optionale Live-Runtime (das Feature
zenoh-runtime) ist ein dünner Wrapper über die externe
zenoh-Crate und folgt damit deren 1.x-API, nicht dem
Release-Takt von ZeroDDS.