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.

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 Pong values 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 on ACKNACK until 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.

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 auf ACKNACK erneut, 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

Verwandt