zerodds-qos 1.0.0-rc.6

DDS QoS policies (DDS 1.4 §2.2.3) + Request/Offered Compatibility-Matrix + PL_CDR_LE PID-Wire-Codec (DDSI-RTPS §9.6.3.2). Pure-Rust no_std + alloc.
Documentation

zerodds-qos

License: Apache-2.0 Crates.io docs.rs

DDS QoS-Policies (DDS 1.4 §2.2.3) + Request/Offered-Compatibility-Matrix + PL_CDR_LE PID-Wire-Codec (DDSI-RTPS §9.6.3.2).

Pure-Rust no_std + alloc, forbid(unsafe_code). Part of ZeroDDS. Safety classification: SAFE.

Spec

  • DDS 1.4 §2.2.3 — all 22 standard policies + compatibility matrix.
  • DDS 1.4 §2.2.3.23 / §2.2.2.5.5 — exclusive-ownership resolver logic.
  • DDSI-RTPS 2.5 §9.6.3.2 — wire PIDs for ParameterList.

Quick Start

use zerodds_qos::{
    ReliabilityKind, ReliabilityQosPolicy, ReaderQos, WriterQos,
    check_compatibility, CompatibilityResult,
};

let mut writer_qos = WriterQos::default();
writer_qos.reliability = ReliabilityQosPolicy {
    kind: ReliabilityKind::Reliable,
    ..Default::default()
};
let reader_qos = ReaderQos::default();
assert!(matches!(
    check_compatibility(&writer_qos, &reader_qos),
    CompatibilityResult::Compatible
));

Public API (1.0.0-rc.1)

Top-Level: Duration, Pid, CompatibilityResult, IncompatibleReason, check_compatibility.

Policies module: 22 standard policies plus kind enums plus QoS aggregates (ReaderQos, WriterQos).

Exclusive-ownership resolver: exclusive_ownership::{OwnershipResolver, OwnershipCandidate, resolve_strongest, WriterGuidBytes}.

Full list in the rustdoc.

Feature flags

Feature Default Purpose
std std re-exports, implies alloc
alloc mandatory (partition strings, GenericData, …); kept for consistency

Stability

All items listed in the public API are semver-stable from 1.0.0-rc.1.

Links