You are here: Part 3: Advanced Concepts > Configuring QoS with XML > QoS Profiles

QoS Profiles

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.

© 2015 RTI