Skip to main content

Module qos

Module qos 

Source
Expand description

Datenmodell fuer die DDS-XML 1.0 §7.3.2 QoS-Profile-Library.

Spec-Quelle: OMG DDS-XML 1.0 §7.3.2 (QoS Library Building Block) + DDS 1.4 §2.2.3 (22 Standard-QoS-Policies).

§Schicht-Disziplin

Die einzelnen Policy-Strukturen (DurabilityQosPolicy, …) und die Aggregat-Container (WriterQos, ReaderQos) leben im Crate zerodds_qos (Wire-Format-Quelle). zerodds-xml re-nutzt sie hier direkt — keine Duplikate.

Die XML-spezifischen Container EntityQos (sechs Auspraegungen fuer DataWriter/DataReader/Topic/Publisher/Subscriber/ DomainParticipant) tragen pro Policy ein Option<…>. None = “Spec-Default” (uebernommen aus zerodds-qos::*::Default); Some(p) = im XML explizit gesetzt. Die Override-Semantik der Inheritance (siehe crate::qos_inheritance) operiert auf diesen Optionen: ein Kind-Profile mit Some(p) ueberschreibt das geerbte Some/None, ein Kind-Profile mit None erbt unveraendert.

§XML-Element zu Rust-Type Mapping (DDS-XML 1.0 §7.3.2 + DDS 1.4 §2.2.3)

XML-Element                            | Rust-Type
---------------------------------------+----------------------------------
<qos_library name=…>                   | QosLibrary
<qos_profile name=… base_name=…>       | QosProfile
<topic_filter>                         | QosProfile.topic_filter (String)
<datawriter_qos>                       | EntityQos (DataWriter)
<datareader_qos>                       | EntityQos (DataReader)
<topic_qos>                            | EntityQos (Topic)
<publisher_qos>                        | EntityQos (Publisher)
<subscriber_qos>                       | EntityQos (Subscriber)
<domainparticipant_qos>                | EntityQos (DomainParticipant)
<durability><kind>                     | DurabilityQosPolicy
<durability_service>                   | DurabilityServiceQosPolicy
<presentation>                         | PresentationQosPolicy
<deadline><period>                     | DeadlineQosPolicy
<latency_budget><duration>             | LatencyBudgetQosPolicy
<ownership><kind>                      | OwnershipQosPolicy
<ownership_strength><value>            | OwnershipStrengthQosPolicy
<liveliness><kind><lease_duration>     | LivelinessQosPolicy
<time_based_filter><minimum_separation>| TimeBasedFilterQosPolicy
<partition><name>g1</name>…            | PartitionQosPolicy
<reliability><kind><max_blocking_time> | ReliabilityQosPolicy
<transport_priority><value>            | TransportPriorityQosPolicy
<lifespan><duration>                   | LifespanQosPolicy
<destination_order><kind>              | DestinationOrderQosPolicy
<history><kind><depth>                 | HistoryQosPolicy
<resource_limits>…                     | ResourceLimitsQosPolicy
<entity_factory><autoenable_…>         | EntityFactoryQosPolicy
<writer_data_lifecycle>                | WriterDataLifecycleQosPolicy
<reader_data_lifecycle>                | ReaderDataLifecycleQosPolicy
<user_data><value>BASE64</value>       | UserDataQosPolicy
<topic_data><value>BASE64</value>      | TopicDataQosPolicy
<group_data><value>BASE64</value>      | GroupDataQosPolicy

Structs§

EntityQos
Optional-pro-Policy-Container fuer alle 22 OMG-DDS-1.4-QoS-Policies.
QosLibrary
Container fuer 1+ QoS-Profile gemaess DDS-XML 1.0 §7.3.2.
QosProfile
Ein einzelnes <qos_profile>-Element (§7.3.2.4).

Functions§

topic_filter_matches
Topic-Filter-Match (DDS-XML 1.0 §7.3.2.5).