Skip to main content

Crate zerodds_transport

Crate zerodds_transport 

Source
Expand description

Crate zerodds-transport. Safety classification: SAFE.

Transport trait + Locator re-export + abstract send/receive interface. Pure-Rust no_std + alloc, forbid(unsafe_code).

§Spec

  • DDSI-RTPS 2.5 §8.3.2 — Locator (re-exported from zerodds-rtps::wire_types::Locator).
  • ZeroDDS’s own Transport trait — abstract layer between RTPS state machines and concrete wire protocols.

§Layer position

Layer 2 — Wire (trait crate). Implementations: zerodds-transport-udp, zerodds-transport-tcp, zerodds-transport-shm, zerodds-transport-uds, zerodds-transport-tsn. Direct consumers: zerodds-dcps, zerodds-discovery.

§Public API (as of 1.0.0-rc.1)

  • Transport — trait for send/receive operations with Locator addressing.
  • SendError / RecvError — typed errors.
  • ReceivedDatagram — received datagram + source Locator.
  • Locator — re-exported from zerodds-rtps::wire_types (spec anchor DDSI-RTPS §8.3.2).

§Architecture note

Locator lives deliberately in zerodds-rtps (the DDSI-RTPS spec defines the wire format there) and is re-exported via pub use. The resulting transport → rtps crate dependency is deliberate in ZeroDDS and is not a layer-inversion bug — RTPS wire-format types belong in the rtps crate; the transport trait abstracts the send/receive on top of it.

Structs§

Locator
Locator: 24-byte address (kind + port + 16-byte address).
ReceivedDatagram
Received datagram + source locator.

Enums§

RecvError
Error when receiving.
SendError
Error when sending over a transport.

Traits§

Transport
Abstract transport: sends/receives datagrams to/from locators.