zerodds-discovery

Layer 2 — Wire (Discovery). DDSI-RTPS discovery — SPDP + SEDP + TypeLookup.

DDSI-RTPS discovery for ZeroDDS — SPDP (§8.5.3) + SEDP (§8.5.4) + TypeLookup service (XTypes 1.3 §7.6.3.3.4) + DDS-Security 1.2 §7.4.2 builtin-endpoint slots.

Spec anchors

  • DDSI-RTPS 2.5 §8.5.3 (SPDP), §8.5.4 (SEDP).
  • OMG XTypes 1.3 §7.6.3.3.4 (TypeLookup service).
  • OMG DDS-Security 1.2 §7.4.2 (builtin-endpoint slots).

Quick start

Announce a participant via an SPDP beacon, and parse a peer's beacon back into a discovered participant:

use zerodds_discovery::spdp::{SpdpBeacon, SpdpReader};

// Announce ourselves — serialize an SPDP beacon datagram for multicast
let mut beacon = SpdpBeacon::new(participant_data);
let datagram = beacon.serialize()?;
// socket.send_to(&datagram, spdp_multicast_addr)?;

// Receive a peer's beacon → DiscoveredParticipant
let reader = SpdpReader::new();
let peer = reader.parse_datagram(&incoming)?;

Modules

  • spdp — SPDP beacon sender/receiver + DiscoveredParticipantsCache with last_seen lease tracking (§8.5.3).
  • sedp — SEDP endpoint discovery stack: cache, reader, writer (§8.5.4).
  • type_lookup — TypeLookup service: server + client + builtin-endpoint GUIDs (XTypes §7.6.3.3.4).
  • security — DDS-Security stateless + volatile-secure builtin-endpoint slots (§7.4.2).
  • capabilitiesPeerCapabilities DDSI capability bits.
  • metrics — discovery counters (feature-gated).

Coverage & tests

Coverage ledger: ddsi-rtps-2.5 (K3b audit). 144+ tests; cross-vendor Cyclone interop behind the live-interop feature. Run cargo test -p zerodds-discovery.

Stability

1.0.0-rc.3. 144+ tests green; live-interop feature for cross-vendor Cyclone tests.

zerodds-discovery

Layer 2 — Wire (Discovery). DDSI-RTPS-Discovery — SPDP + SEDP + TypeLookup.

DDSI-RTPS-Discovery für ZeroDDS — SPDP (§8.5.3) + SEDP (§8.5.4) + TypeLookup-Service (XTypes 1.3 §7.6.3.3.4) + DDS-Security 1.2 §7.4.2 Builtin-Endpoint-Slots.

Spec-Anker

  • DDSI-RTPS 2.5 §8.5.3 (SPDP), §8.5.4 (SEDP).
  • OMG XTypes 1.3 §7.6.3.3.4 (TypeLookup-Service).
  • OMG DDS-Security 1.2 §7.4.2 (Builtin-Endpoint-Slots).

Quick Start

Einen Participant per SPDP-Beacon ankündigen und das Beacon eines Peers zu einem entdeckten Participant parsen:

use zerodds_discovery::spdp::{SpdpBeacon, SpdpReader};

// Announce ourselves — serialize an SPDP beacon datagram for multicast
let mut beacon = SpdpBeacon::new(participant_data);
let datagram = beacon.serialize()?;
// socket.send_to(&datagram, spdp_multicast_addr)?;

// Receive a peer's beacon → DiscoveredParticipant
let reader = SpdpReader::new();
let peer = reader.parse_datagram(&incoming)?;

Module

  • spdp — SPDP-Beacon-Sender/-Receiver + DiscoveredParticipantsCache mit last_seen-Lease-Tracking (§8.5.3).
  • sedp — SEDP-Endpoint-Discovery-Stack: Cache, Reader, Writer (§8.5.4).
  • type_lookup — TypeLookup-Service: Server + Client + Builtin-Endpoint-GUIDs (XTypes §7.6.3.3.4).
  • security — DDS-Security Stateless + Volatile-Secure Builtin-Endpoint-Slots (§7.4.2).
  • capabilitiesPeerCapabilities DDSI-Capability-Bits.
  • metrics — Discovery-Zähler (Feature-gated).

Coverage & Tests

Coverage-Ledger: ddsi-rtps-2.5 (K3b-Audit). 144+ Tests; Cross-Vendor-Cyclone-Interop hinter dem live-interop-Feature. cargo test -p zerodds-discovery.

Stabilität

1.0.0-rc.3. 144+ Tests grün; live-interop-Feature für Cross-Vendor-Cyclone-Tests.