zerodds-mqtt-bridge

Layer 5 — Bridges. OASIS MQTT v5.0 + v3.1.1 wire codec + broker + DDS bridge.

zerodds-mqtt-bridge delivers the full MQTT 5.0 spec plus a version-aware MQTT 3.1.1 codec: a wire codec for all 14 control packets, all 27 properties (5.0), variable-byte integer, topic filters with wildcards, a keep-alive tracker, an in-memory broker with session state + retained messages + will messages, and an MQTT↔︎DDS topic bridge. The codec is protocol-version-aware (ProtocolVersion::V5 / V311) — 3.1.1 PUBLISH carries no property block. no_std + alloc, forbid(unsafe_code).

Spec anchors

  • OASIS MQTT 5.0 §1.5 + §2.1 + §2.2.2 + §2.4 + §3 + §4.1 + §4.7.
  • OASIS MQTT 3.1.1 §2 + §3 (version-aware codec for legacy brokers).

Layer position

Layer 5 — Bridges. Substrate for DDS↔︎MQTT endpoint mapping.

Quickstart

use zerodds_mqtt_bridge::topic_matches;
assert!(topic_matches("sensors/+/temp", "sensors/room1/temp"));
assert!(topic_matches("sensors/#", "sensors/room1/temp/f"));

Stability

1.0.0-rc.3. Stable since RC1; wire format fixed by OASIS MQTT 5.0 / 3.1.1.

zerodds-mqtt-bridge

Layer 5 — Bridges. OASIS MQTT v5.0 + v3.1.1 Wire-Codec + Broker + DDS-Bridge.

zerodds-mqtt-bridge liefert die volle MQTT-5.0-Spec plus einen version-aware MQTT-3.1.1-Codec: Wire-Codec für alle 14 Control-Packets, alle 27 Properties (5.0), Variable-Byte- Integer, Topic-Filter mit Wildcards, Keep-Alive-Tracker, In-Memory- Broker mit Session-State + Retained-Messages + Will-Messages, und einen MQTT↔︎DDS-Topic-Bridge. Der Codec ist protokoll-versions-bewusst (ProtocolVersion::V5 / V311) — 3.1.1-PUBLISH trägt keinen Property-Block. no_std + alloc, forbid(unsafe_code).

Spec-Anker

  • OASIS MQTT 5.0 §1.5 + §2.1 + §2.2.2 + §2.4 + §3 + §4.1 + §4.7.
  • OASIS MQTT 3.1.1 §2 + §3 (version-aware Codec für Legacy-Broker).

Schichten-Position

Layer 5 — Bridges. Substrat fuer DDS↔︎MQTT-Endpoint-Mapping.

Quickstart

use zerodds_mqtt_bridge::topic_matches;
assert!(topic_matches("sensors/+/temp", "sensors/room1/temp"));
assert!(topic_matches("sensors/#", "sensors/room1/temp/f"));

Stabilitaet

1.0.0-rc.3. Stabil seit RC1; Wire-Format durch OASIS MQTT 5.0 / 3.1.1 fixiert.