A QoS Profile groups a set of related QoS policies, by entity (e.g., <datawriter_qos>), identified by a name. For example:
<qos_profile name="StrictReliableCommunicationProfile">
<datawriter_qos> <history> <kind>KEEP_ALL_HISTORY_QOS</kind> </history> <reliability> <kind>RELIABLE_RELIABILITY_QOS</kind> </reliability> </datawriter_qos> <datareader_qos> <history> <kind>KEEP_ALL_HISTORY_QOS</kind> </history> <reliability> <kind>RELIABLE_RELIABILITY_QOS</kind> </reliability> </datareader_qos> </qos_profile>
Duplicate QoS profiles are not allowed. To overwrite a QoS profile, use 19.3.3 QoS Profile Inheritance and Composition.
There are functions that allow you to create Entities using profiles, such as create_participant_with_profile() (9.3.1 Creating a DomainParticipant), create_topic_with_profile() (5.1.1 Creating Topics), etc.
If you create an entity using a profile without a QoS definition or an inherited QoS definition (see 19.3.3 QoS Profile Inheritance and Composition) for that class of entity, Connext DDS uses the default QoS.
Example 1:
<qos_profile name=
"BatchStrictReliableCommunicationProfile" base_name="StrictReliableCommunicationProfile"> <datawriter_qos> <batch> <enable>true</enable> </batch> </datawriter_qos> </qos_profile>
The DataReader QoS value in the profile BatchStrictReliableCommunicationProfile is inherited from the profile StrictReliableCommunicationProfile.
Example 2:
<qos_profile name="BatchProfile">
<datawriter_qos> <batch> <enable>true</enable> </batch> </datawriter_qos> </qos_profile>
The DataReader QoS value in the profile BatchProfile is the default Connext DDS QoS.
© 2020 RTI