zerodds-zenoh-bridge

Layer 5 — Bridges (Tier C, 🔒 feature-gated). Bidirectional bridge between ZeroDDS DCPS and Eclipse Zenoh.

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.

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.