Skip to main content

Crate zerodds_qos

Crate zerodds_qos 

Source
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:

Policies-Modul (policies):

Exclusive-Ownership-Resolver (exclusive_ownership):

§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).