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> | GroupDataQosPolicyStructs§
- Entity
Qos - 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).