zerodds-transport-udp

Layer 2 — Wire (UDP). UDP/IP transport (default).

UDP/IP PSM implementation of the zerodds-transport::Transport trait: UDPv4 unicast + multicast (discovery), SO_REUSEADDR/SO_REUSEPORT, multicast TTL.

Spec anchors

  • UDP/IP PSM of the zerodds-transport::Transport trait — the default DDS transport.

Quick start

Bind a unicast socket, or join the discovery multicast group, then send/recv via the Transport trait:

use std::net::Ipv4Addr;
use zerodds_transport::Transport;
use zerodds_transport_udp::UdpTransport;

// Unicast bind
let udp = UdpTransport::bind_v4(Ipv4Addr::UNSPECIFIED, 7410)?;

// …or join the SPDP/SEDP discovery multicast group
let group = Ipv4Addr::new(239, 255, 0, 1);
let disco = UdpTransport::bind_multicast_v4(group, 7400, Ipv4Addr::UNSPECIFIED)?;

udp.send(&dest, &datagram)?;
let received = udp.recv()?;

Modules

  • udp_transportUdpTransport + UdpTransportConfig (bind_v4 / bind_v4_reuse / bind_multicast_v4 / bind_v6 / with_timeout).
  • recv_batch — batched receive to amortise syscall overhead.

Coverage & tests

Coverage ledger: ddsi-rtps-2.5 (§9.6.1 UDP/IP PSM). 11 tests (8 lib + 3 doctest); run cargo test -p zerodds-transport-udp.

Stability

1.0.0-rc.3. 11 tests green (8 lib + 3 doctest).

zerodds-transport-udp

Layer 2 — Wire (UDP). UDP/IP-Transport (Default).

UDP/IP-PSM-Implementierung des zerodds-transport::Transport-Traits: UDPv4 Unicast + Multicast (Discovery), SO_REUSEADDR/SO_REUSEPORT, Multicast-TTL.

Spec-Anker

  • UDP/IP-PSM des zerodds-transport::Transport-Traits — Default-DDS-Transport.

Quick Start

Einen Unicast-Socket binden oder der Discovery-Multicast-Gruppe beitreten, dann send/recv über das Transport-Trait:

use std::net::Ipv4Addr;
use zerodds_transport::Transport;
use zerodds_transport_udp::UdpTransport;

// Unicast bind
let udp = UdpTransport::bind_v4(Ipv4Addr::UNSPECIFIED, 7410)?;

// …or join the SPDP/SEDP discovery multicast group
let group = Ipv4Addr::new(239, 255, 0, 1);
let disco = UdpTransport::bind_multicast_v4(group, 7400, Ipv4Addr::UNSPECIFIED)?;

udp.send(&dest, &datagram)?;
let received = udp.recv()?;

Module

  • udp_transportUdpTransport + UdpTransportConfig (bind_v4 / bind_v4_reuse / bind_multicast_v4 / bind_v6 / with_timeout).
  • recv_batch — gebündelter Empfang zur Amortisierung des Syscall-Overheads.

Coverage & Tests

Coverage-Ledger: ddsi-rtps-2.5 (§9.6.1 UDP/IP-PSM). 11 Tests (8 lib + 3 Doctest); cargo test -p zerodds-transport-udp.

Stabilität

1.0.0-rc.3. 11 Tests grün (8 lib + 3 Doctest).