zerodds-transport
Transport trait + Locator re-export for ZeroDDS. Layer 2 (wire trait crate).
Pure-Rust no_std + alloc, forbid(unsafe_code), safety class SAFE.
What this crate provides
Transport— trait for send/receive operations with Locator addressingSendError/RecvError— typed errorsReceivedDatagram— received datagram + source LocatorLocator— re-exported fromzerodds-rtps::wire_types(DDSI-RTPS 2.5 §8.3.2)
Spec
- DDSI-RTPS 2.5 §8.3.2 — Locator definition
- The transport trait is ZeroDDS's own abstraction over RTPS wire protocols
Concrete implementations
zerodds-transport-udp— UDPv4/UDPv6 datagram socketszerodds-transport-tcp— TCP stream + length-prefix framingzerodds-transport-shm— POSIX shared-memory ring bufferzerodds-transport-uds— Unix domain socketszerodds-transport-tsn— TSN/IEEE 802.1Qbv time-aware shaper
Architecture note: the transport → rtps crate dependency
Locator lives deliberately in zerodds-rtps, not in zerodds-transport:
- The DDSI-RTPS spec defines the locator's wire format in §8.3.2 — that is the RTPS domain, not the transport domain.
zerodds-transportonly re-exports it so that consumers have a transport-centric import-path option.- There is no cycle:
zerodds-rtpsdoes not depend onzerodds-transport.
Tests
License
Apache-2.0 OR MIT — see the workspace root.