zerodds-discovery
Layer 2 — Wire (Discovery). DDSI-RTPS discovery — SPDP + SEDP + TypeLookup.
- Source: crates/discovery
- API docs: docs.rs/zerodds-discovery
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 +DiscoveredParticipantsCachewithlast_seenlease 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).capabilities—PeerCapabilitiesDDSI 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.
- Quelle: crates/discovery
- API-Docs: docs.rs/zerodds-discovery
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 +DiscoveredParticipantsCachemitlast_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).capabilities—PeerCapabilitiesDDSI-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.