Expand description
Crate zerodds-qos. Safety classification: SAFE.
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.
§Spec
- DDS 1.4 §2.2.3 — all 22 standard policies (Durability, Reliability, Liveliness, Ownership, Partition, …) incl. §2.2.3.23 exclusive-ownership resolver logic (§2.2.2.5.5).
- DDS 1.4 §2.2.3 Table “QoS compatibility” — request/offered matrix
(
check_compatibility). - DDSI-RTPS 2.5 §9.6.3.2 — wire PIDs for ParameterList encoding
(
Pid).
§Layer position
Layer 1 — primitives. Direct dependents: zerodds-rtps, zerodds-discovery,
zerodds-dcps, zerodds-dcps-async, zerodds-c-api, zerodds-rpc, zerodds-security-runtime,
zerodds-xml, zerodds-zenoh-bridge.
§Public API (as of 1.0.0-rc.1)
Top level:
Duration— DDS duration (sec + nanosec) for all time-based policies.Pid— DDSI-RTPS §9.6.3.2 PID constants for QoS-policy wire encoding.CompatibilityResult/IncompatibleReason/check_compatibility— request/offered matrix.
Policies module (policies):
- 22 standard policies:
DurabilityQosPolicy,DurabilityServiceQosPolicy,DeadlineQosPolicy,LatencyBudgetQosPolicy,LivelinessQosPolicy,ReliabilityQosPolicy,DestinationOrderQosPolicy,HistoryQosPolicy,ResourceLimitsQosPolicy,TransportPriorityQosPolicy,LifespanQosPolicy,UserDataQosPolicy,OwnershipQosPolicy,OwnershipStrengthQosPolicy,PresentationQosPolicy,PartitionQosPolicy,TopicDataQosPolicy,GroupDataQosPolicy,TimeBasedFilterQosPolicy,ReaderDataLifecycleQosPolicy,WriterDataLifecycleQosPolicy,EntityFactoryQosPolicy. - QoS aggregates:
ReaderQos,WriterQos. - Kind enums:
DurabilityKind,ReliabilityKind,LivelinessKind,OwnershipKind,HistoryKind,DestinationOrderKind,PresentationAccessScope.
Exclusive-Ownership-Resolver (exclusive_ownership):
exclusive_ownership::OwnershipResolver/exclusive_ownership::OwnershipCandidate/exclusive_ownership::resolve_strongest— DDS 1.4 §2.2.3.23 strongest-writer selection for DataReader.take() on topics withExclusiveownership QoS.
§Example
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();
// Reliable writer + BestEffort reader (default) are compatible.
assert!(matches!(check_compatibility(&writer_qos, &reader_qos), CompatibilityResult::Compatible));Re-exports§
pub use compatibility::CompatibilityResult;pub use compatibility::IncompatibleReason;pub use duration::Duration;pub use pid::Pid;pub use policies::DeadlineQosPolicy;pub use policies::DestinationOrderKind;pub use policies::DestinationOrderQosPolicy;pub use policies::DurabilityKind;pub use policies::DurabilityQosPolicy;pub use policies::DurabilityServiceQosPolicy;pub use policies::EntityFactoryQosPolicy;pub use policies::GroupDataQosPolicy;pub use policies::HistoryKind;pub use policies::HistoryQosPolicy;pub use policies::LatencyBudgetQosPolicy;pub use policies::LifespanQosPolicy;pub use policies::LivelinessKind;pub use policies::LivelinessQosPolicy;pub use policies::OwnershipKind;pub use policies::OwnershipQosPolicy;pub use policies::OwnershipStrengthQosPolicy;pub use policies::PartitionQosPolicy;pub use policies::PresentationAccessScope;pub use policies::PresentationQosPolicy;pub use policies::PropertyQosPolicy;pub use policies::ReaderDataLifecycleQosPolicy;pub use policies::ReaderQos;pub use policies::ReliabilityKind;pub use policies::ReliabilityQosPolicy;pub use policies::ResourceLimitsQosPolicy;pub use policies::TimeBasedFilterQosPolicy;pub use policies::TopicDataQosPolicy;pub use policies::TransportPriorityQosPolicy;pub use policies::UserDataQosPolicy;pub use policies::WriterDataLifecycleQosPolicy;pub use policies::WriterQos;pub use policies::check_compatibility;
Modules§
- compatibility
- Request/offered QoS compatibility (DDS 1.4 §2.2.3).
- duration
- DDS
Duration_t(DDSI-RTPS §9.3.2) — i32 seconds + u32 fraction. - exclusive_
ownership - Exclusive ownership resolution (DDS 1.4 §2.2.3.23 / §2.2.2.5.5).
- pid
- PID constants for QoS policies (DDSI-RTPS §9.6.3.2).
- policies
- DDS QoS-Policies (DDS 1.4 §2.2.3).