A QoS profile groups a set of related QoS, usually one per entity, 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 QoS Profile Inheritance.
There are functions that allow you to create Entities using profiles, such as create_participant_with_profile() (Creating a DomainParticipant), create_topic_with_profile() (Creating Topics), etc.
If you create an entity using a profile without a QoS definition or an inherited QoS definition (see QoS Profile Inheritance) 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.
© 2017 RTI