Native language frontends
The Go example combines freshly generated types with the Go endpoint SDK to exchange typed samples with a ZeroDDS peer over UDP. No Rust runs on the frontend.
- Example:
native-frontends - Repository: zero-dds-snippets
What it shows
- The Go folder carries two demos. ping-pong uses the generated codec and shared Go wire runtime, sync and async, with XRCE framing. The app checks the returned
Pongvalues and exact input consumption. - reliable — the reliable XRCE stream (
stream_id ≥ 128): the app sends N samples through an async-decoupled reliable writer while the peer injects loss; the writer retransmits onACKNACKuntil every sample arrives gap-free. - This example directory contains Go only. Other language SDKs are not additional runnable examples here. Generated sources remain unchanged and are retained beside the run logs.
- The boundary is stated plainly: the frontend is wire, TypeSupport, XRCE framing and reliable delivery over a datagram. RTPS, discovery and QoS matching stay the DDS participant's job — here, the peer.
Build and run
cd go && ZERODDS_ROOT=/path/to/zero-dds ./run.sh
See also
Native Sprach-Frontends
Das Go-Beispiel verbindet frisch generierte Typen mit dem Go-Endpoint-SDK und tauscht typisierte Samples mit einem ZeroDDS-Peer über UDP aus. Auf dem Frontend läuft kein Rust.
- Beispiel:
native-frontends - Repository: zero-dds-snippets
Was es zeigt
- Der Go-Ordner enthält zwei Demos. ping-pong nutzt den generierten Codec und die gemeinsame Go-Wire-Runtime, sync und async, mit XRCE-Framing. Die Anwendung prüft die empfangenen
Pong-Werte und vollständigen Eingabeverbrauch. - reliable — der zuverlässige XRCE-Stream (
stream_id ≥ 128): Die Anwendung sendet N Samples über einen async-entkoppelten Reliable-Writer, während der Peer Verlust einspeist; der Writer sendet aufACKNACKerneut, bis jedes Sample lückenlos angekommen ist. - Dieses Beispielverzeichnis enthält nur Go. Andere Sprach-SDKs sind hier keine zusätzlichen ausführbaren Beispiele. Generierte Quellen bleiben unverändert und werden neben den Laufprotokollen aufbewahrt.
- Die Grenze steht klar da: Das Frontend ist Wire, TypeSupport, XRCE-Framing und zuverlässige Zustellung über ein Datagramm. RTPS, Discovery und QoS-Matching bleiben Sache des DDS-Participants — hier des Peers.
Bauen und ausführen
cd go && ZERODDS_ROOT=/path/to/zero-dds ./run.sh