zerodds-dcps
DCPS Public API (OMG DDS 1.4 §2.2.2) fuer den ZeroDDS-Stack. Live-Runtime mit SPDP/SEDP/WLP, Built-in-Topics, TypeLookup-Service, Durability-Backend, Conditions und WaitSet. Safety classification: STANDARD.
Spec-Mapping
| Spec | Abschnitt |
|---|---|
| OMG DDS 1.4 | §2.2 (DCPS-Module) |
| DDSI-RTPS 2.5 | §8.5 (Discovery), §8.4.13 (WLP), §9.6.4.8 (Inline-QoS) |
| OMG XTypes 1.3 | §7.6.3.3 (TypeLookup-Service), §7.6.3.7 (TypeConsistency) |
Was ist drin
- Entity-Hierarchie —
DomainParticipantFactoryals Singleton,DomainParticipantals Wurzel, darunterPublisher/DataWriterbzw.Subscriber/DataReader. - Typed Writer/Reader —
DataWriter<T>/DataReader<T>mitDdsType-Bound. End-User implementierenDdsTypeper Hand oder viazerodds-idl-rust-Codegen. - Topics —
Topic<T>plusContentFilteredTopic(SQL92-Filter) undMultiTopic(Hash-Join). - Built-in-Topics —
DCPSParticipant,DCPSTopic,DCPSPublication,DCPSSubscription(DDS 1.4 §2.2.5). - QoS-Vollabdeckung — alle 22 Spec-Policies, inkl. Exclusive- Ownership-Filter im Sample-Lieferpfad und Time-Based-Filter.
- Discovery + TypeLookup — Live-Runtime spawnt SPDP-/SEDP-/WLP-/ TypeLookup-Endpoints; Cross-Vendor-Interop gegen Cyclone-DDS und Fast-DDS verifiziert.
- Durability — Transient-In-Memory- und Persistent-On-Disk- Backends mit Sequence-orderierter Replay-Liste.
- Conditions/WaitSet —
ReadCondition,QueryCondition,GuardCondition,StatusConditionundWaitSet. - Security-Hook — opt-in
security-Feature spannt dasSharedSecurityGateueber den UDP-Hot-Path (DDS-Security 1.2).
Schichten-Position
Layer 4 — Core Services. Bauend auf Layer 1
(zerodds-foundation, -cdr, -qos, -types, -time-service),
Layer 2 (-rtps, -discovery, -transport-*) und Layer 3
(-idl, -idl-rust, -xml).
Quickstart
use *;
let factory = instance;
// Live-Mode: spawnt Runtime, bindet UDP-Sockets, faehrt SPDP/SEDP.
// (Hier `_offline` fuer Doctest-Reproduzierbarkeit.)
let participant = factory.create_participant_offline;
let topic = participant
.
.expect;
let publisher = participant.create_publisher;
let writer = publisher
.
.expect;
writer.write.expect;
Feature-Flags
| Feature | Default | Zweck |
|---|---|---|
std |
✅ | Aktiviert die Live-Runtime, Threads, UDP-Sockets, Conditions/WaitSet, Durability-Backends. Implies alloc. |
alloc |
✅ (via std) |
Pflichtig: Vec/String/BTreeMap. |
safety |
❌ | Reserviert fuer zukuenftige Safety-Build-Constraints. |
security |
❌ | Aktiviert das SharedSecurityGate im UDP-Hot-Path (DDS-Security 1.2). |
live-interop |
❌ | Aktiviert Cyclone-DDS-/Fast-DDS-Live-Tests gegen Lab-Hosts. |
flatdata-integration |
❌ | ADR-0005: opt-in Dual-Stack-Schreib-/Lesepfad ueber FlatStruct. |
inspect |
❌ | Embargo: PDE-Reality-Inspector-Tap-Hooks. Wird im Public-Mirror entfernt. |
Stabilitaet
Alle pub-Items sind ab 1.0.0 stabil; Breaking-Changes erfordern
Major-Version-Bump. Doc-hidden __push_raw/__drain_pending-Hooks
sind interne Test-API und nicht stabil.
Tests
Lizenz
Apache-2.0. Siehe LICENSE.
Siehe auch
docs/architecture/02_architecture.md— Schichten-Architekturdocs/architecture/04_safety_by_architecture.md— Safety-Klassifikationdocs/spec-coverage/dds-1.4.md— Spec-Coverage-Tabelle