Skip to main content

Crate zerodds_discovery

Crate zerodds_discovery 

Source
Expand description

Crate zerodds-discovery. Safety classification: SAFE.

DDSI-RTPS discovery for ZeroDDS — SPDP, SEDP, TypeLookup service.

§Spec

  • DDSI-RTPS 2.5 §8.5 — Simple Discovery Protocol (SPDP/SEDP).
  • DDSI-RTPS 2.5 §8.5.3 — SPDP Builtin-Endpoints.
  • DDSI-RTPS 2.5 §8.5.4 — SEDP Builtin-Endpoints.
  • XTypes 1.3 §7.6.3.3.4 — TypeLookup-Service (TL_SVC_REQ_{WRITER,READER} + TL_SVC_REPLY_{WRITER,READER}).
  • DDS-Security 1.2 §7.4.2 — Stateless + Volatile-Secure builtin endpoints (sub-module security).

§Public API

  • spdp — SPDP beacon sender + receiver + DiscoveredParticipantsCache with last_seen lease tracking.
  • sedp — SEDP stack (cache, reader, writer).
  • type_lookup — TypeLookup service server + client + builtin-endpoint GUIDs.
  • security — DDS-Security Stateless + Volatile-Secure builtin-endpoint slots.
  • capabilities::PeerCapabilities — DDSI capability bits.

§Wiring into the DCPS runtime

The discovery primitives are wire-format-complete. Instantiation of the builtin-endpoint reliable writer/reader pairs lives in the DCPS layer (crates/dcps/src/runtime.rs):

  • SPDP: best-effort writer + reader on ParticipantBuiltinTopicData.
  • SEDP: reliable writer + reader on Publication-/Subscription-BuiltinTopicData.
  • TypeLookup: reliable writer + reader on the TypesRequest/ TypesReply topic with a service instance name.

Re-exports§

pub use capabilities::PeerCapabilities;
pub use sedp::CacheCaps;
pub use sedp::DiscoveredEndpointsCache;
pub use sedp::DiscoveredPublication;
pub use sedp::DiscoveredSubscription;
pub use spdp::DiscoveredParticipant;
pub use spdp::DiscoveredParticipantsCache;
pub use spdp::SpdpBeacon;
pub use spdp::SpdpError;
pub use spdp::SpdpReader;

Modules§

capabilities
Peer capabilities from the BuiltinEndpointSet bitfield.
metrics
Hot-path hook points for zerodds-monitor (zerodds-monitor-1.1 §2.4).
security
DDS-Security builtin-endpoint slots — wire layer.
sedp
Simple Endpoint Discovery Protocol (SEDP) — DDSI-RTPS 2.5 §8.5.4.
spdp
Simple Participant Discovery Protocol (DDSI-RTPS 2.5 §8.5.3).
type_lookup
TypeLookup service — XTypes 1.3 §7.6.3.3.4.