Claims & Proofs

Every claim ZeroDDS makes is backed by source, tests, cross-vendor verification and reproducible measurements.

2,108
spec items done
11,000+
tests across the workspace
10
vendors verified at the wire-byte level

Spec coverage matrix

Each row links to the canonical specification and to our section-by-section implementation audit (HTML rendering of the audit ledger). The full overview is on spec-coverage.

SpecificationCanonicalAuditDonePartialOpenn/a
OMG DDS-DCPS 1.4omg.orgaudit100002
OMG DDSI-RTPS 2.5omg.orgaudit121003
OMG DDS-XTypes 1.3omg.orgaudit82001
OMG DDS-Security 1.2omg.orgaudit50003
OMG DDS-XML 1.0omg.orgaudit730015
OMG DDS-XRCE 1.0omg.orgaudit820013
OMG DDS-RPC 1.0omg.orgaudit940010
OMG DDS-PSM-Cxx 1.0omg.orgaudit1030019
OMG DDS-Java-PSM 1.0omg.orgaudit1560015
OMG DDS4CCM 1.1omg.orgaudit240010
OMG IDL 4.2omg.orgaudit6494024
OMG CORBA 3.3omg.orgaudit510012
DDS-AMQP 1.0 (vendor)our PDFaudit123001
DDS-TS 1.0 (vendor)our PDFaudit590013

Performance — measured, not asserted

The numbers below are produced by the public benchmark harness in tools/bench-suite/ on a Linux x86_64 reference host (AMD Ryzen Threadripper PRO 3955WX, 24 cores, 47 GiB RAM, Linux 6.1 vanilla, no preempt-rt, no CPU pinning unless noted). Run it yourself with cargo bench -p zerodds-bench-suite — full HdrHistogram output to stdout.

Cross-vendor IDL-typed roundtrip

Single-process IDL-typed pub/sub roundtrip, same payload (64 B), same wire-format (XCDR2). Lower is better.

Stackp50 latencyvs. ZeroDDSSample loss
ZeroDDS Tier-A~166 µs0 %
Cyclone DDS 0.10.2~225 µs+35 %0 %
RTI Connext (RT-priority)~215 µs+30 %0 %
FastDDS~415 µs+150 %0 %

The benchmark driver lives in tools/bench-suite/; per-vendor harnesses (Cyclone / RTI / FastDDS C++ apps) are kept under tests/perf/dds-roundtrip-bench/ in the development tree and reproduced via the in-tree just bench-roundtrip recipe.

Raw UDP roundtrip floor (Cyclone vs. ZeroDDS, vanilla loopback)

This compares raw UDP roundtrip (no DDS) against Cyclone's full DCPS roundtrip. It establishes the Linux-userspace UDP floor on the bench host.

Pathp50p99Notes
ZeroDDS raw UDP, 64 B41.1 µs86.1 µsUDP-userspace floor
Cyclone DDS reliable, 64 B66.5 µs93.0 µsfull DCPS stack
Cyclone DDS best-effort, 64 B67.2 µs115.5 µsfull DCPS, no ACK

Test driver: tools/bench-suite/src/bin/roundtrip_1us.rs.

Throughput & primitives

WorkloadNumberTest case
RTPS-UDP throughput LAN≈ 4 GiB/stransports_e2e.rs
Shared-memory roundtrip< 5 µscrates/transport-shm
AES-GCM encrypt (Apple M aarch64)4.3 GiB/stools/perf aes-gcm
RTPS fragmentation @ 30 % packet lossbyte-identical with Cyclonertps_fragmented.rs

Cross-vendor interoperability

Wire-byte-identical with the major DDS implementations on RTPS 2.5; live verified against external brokers and DDS stacks. Live cross-vendor verification uses the OMG Shapes Demo as the reference scenario — same IDL, same wire, every vendor against every other. The interop harness scripts (tests/interop/) live in the development tree alongside docker-compose recipes for each external stack.

CounterpartWireLiveEvidence
Cyclone DDS 0.10.2Shapes-demo loopback + recorded XCDR2 fixtures in crates/discovery/tests/fixtures/
Fast DDS / Fast-RTPSfastdds_live_spdp.rs
OpenDDSdiscovery/tests/fixtures/ (recorded XCDR2)
RTI ConnextD.5e perf-roundtrip (in-tree, gated on RTI license)
mosquitto (MQTT 5.0)mqtt cross_vendor.rs
RabbitMQ (AMQP 1.0)amqp cross_vendor.rs
libcoapcoap cross_vendor.rs
omniORB (CORBA)corba cross_vendor.rs
grpcurl + h2specgrpc cross_vendor.rs
ROS 2 (rclcpp + Cyclone RMW)ros2 cross_vendor.rs

Audit-ready

Test count (workspace)
more than 11,000
Documentation coverage
100 % of pub items
unsafe blocks
each carries a // SAFETY: comment, lint-enforced
Hot-path allocation
lint-enforced via dds_no_realloc_in_hot_path
Foundation crate dependencies
zero transitive cargo deps
Clippy
--workspace --all-targets -- -D warnings green
License
Apache-2.0, SPDX-headered per file
Supply chain
cargo deny + cargo audit in CI
Reproducible builds
pinned MSRV (1.88), pinned Cargo.lock

Sources