zerodds-discovery 1.0.0-rc.1

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 Builtin-Endpoints. Pure-Rust no_std + alloc.
Documentation

zerodds-discovery

docs.rs crates.io

DDSI-RTPS-Discovery für ZeroDDS. Layer 2 (Wire-Implementation).

Pure-Rust no_std + alloc, forbid(unsafe_code), Safety-Klasse SAFE.

Spec

  • DDSI-RTPS 2.5 §8.5.3 — Simple Participant Discovery (SPDP).
  • DDSI-RTPS 2.5 §8.5.4 — Simple Endpoint Discovery (SEDP).
  • XTypes 1.3 §7.6.3.3.4 — TypeLookup-Service (4 Builtin-Endpoints, Service-Instance-Name).
  • DDS-Security 1.2 §7.4.4 + §7.4.5 — Stateless + Volatile-Secure Builtin-Endpoint-Slots.

Coverage-Doc: docs/spec-coverage/ddsi-rtps-2.5.md.

Was liefert dieses Crate

SPDP (spdp Modul)

  • SpdpBeacon — Beacon-Sender (DATA-Datagram mit ParticipantBuiltinTopicData).
  • SpdpReader — Beacon-Receiver-Parser.
  • DiscoveredParticipantsCache — discovered-Participants-Set mit last_seen-Lease-Tracking.

SEDP (sedp Modul)

  • SedpStack — integrierte SEDP-State-Machine (Participant-Lifecycle → SEDP-Proxy-Wiring).
  • SedpPublicationsWriter / SedpPublicationsReader — Reliable Pub/Sub-Discovery.
  • SedpSubscriptionsWriter / SedpSubscriptionsReader — Reliable Sub-Discovery.
  • DiscoveredEndpointsCache — discovered-Endpoints-Set.

TypeLookup (type_lookup Modul)

  • TypeLookupServer — server-side Handler mit Pagination.
  • TypeLookupClient — client-side Correlation-Table mit pending-Request-Cap.
  • TypeLookupEndpoints — 4 Builtin-Endpoint-GUIDs + service-instance-name Formatter.

Security (security Modul)

  • SecurityBuiltinStack — DDS-Security Stateless + Volatile-Secure-Endpoints (BuiltinEndpointSet-Bits 22..25).

Match-Logic (endpoint_match Modul)

  • Topic-Identität + Type-Kompatibilität (TypeMatcher) + QoS-Kompatibilität.

Layer-Boundary an DCPS

Discovery liefert die Wire-Format-Primitives. Die Instantiierung der Reliable-Writer/Reader-Pairs auf den Builtin-Endpoint-GUIDs liegt im DCPS-Layer (crates/dcps/src/runtime.rs):

Endpoint Reliability Wired in DCPS
SPDP Best-Effort
SEDP Reliable
TypeLookup Reliable siehe Layer-3-Review (DCPS)
DDS-Security Stateless Best-Effort
DDS-Security Volatile-Secure Reliable

Tests

cargo test -p zerodds-discovery

144+ Tests grün (lib + integration). Live-Interop-Tests gegen Cyclone DDS verfügbar via --features live-interop.

Lizenz

Apache-2.0 OR MIT — siehe Workspace-Root.