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 — alle 22 Standard-Policies (Durability, Reliability, Liveliness, Ownership, Partition, …) inkl. §2.2.3.23 Exclusive-Ownership-Resolver-Logik (§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 fuer ParameterList-Encoding
(
Pid).
§Schichten-Position
Layer 1 — Primitives. Direkte Abhaengige: zerodds-rtps, zerodds-discovery,
zerodds-dcps, zerodds-dcps-async, zerodds-c-api, zerodds-rpc, zerodds-security-runtime,
zerodds-xml, zerodds-zenoh-bridge.
§Public API (Stand 1.0.0-rc.1)
Top-Level:
Duration— DDS-Duration (sec + nanosec) fuer alle zeitbasierten Policies.Pid— DDSI-RTPS §9.6.3.2 PID-Konstanten fuer QoS-Policy-Wire-Encoding.CompatibilityResult/IncompatibleReason/check_compatibility— Request/Offered-Matrix.
Policies-Modul (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-Aggregate:
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 fuer DataReader.take() bei Topics mitExclusive-Ownership-QoS.
§Beispiel
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) sind kompatibel.
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::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 fuer QoS-Policies (DDSI-RTPS §9.6.3.2).
- policies
- DDS QoS-Policies (DDS 1.4 §2.2.3).