RTI Connext Modern C++ API  Version 5.3.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Configuring QoS Profiles with XML

APIs related to XML QoS Profiles. More...


class  dds::core::QosProvider
 <<reference-type>> The QosProvider class provides a way for a user to control and access the XML QoS profiles that are loaded by RTI Connext More...
class  rti::core::QosProviderParams
 <<extension>> <<value-type>> Configure options that control the way that XML documents containing QoS profiles are loaded by a dds::core::QosProvider. More...

Detailed Description

APIs related to XML QoS Profiles.

Loading QoS Profiles from XML Resources

A 'QoS profile' is a group of QoS settings, specified in XML format. By using QoS profiles, you can change QoS settings without recompiling the application.

The Qos profiles are loaded the first time any of the following operations are called:

The QoS profiles are reloaded replacing previously loaded profiles when the following operations are called:

The dds::core::QosProvider::unload_profiles() operation will free the resources associated with the XML QoS profiles.

There are five ways to configure the XML resources (listed by load order):

The above methods can be combined together.


The location of the XML resources (only files and strings are supported) is specified using a URL (Uniform Resource Locator) format. For example:

File Specification: file:///usr/local/default_dds.xml

String Specification: str://"&lt;dds&gt;&lt;qos_library&gt; . . . lt;/qos_library&gt;&lt/dds&gt;"

If the URL schema name is omitted, RTI Connext will assume a file name. For example:

File Specification: /usr/local/default_dds.xml

URL groups

To provide redundancy and fault tolerance, you can specify multiple locations for a single XML document via URL groups. The syntax of a URL group is as follows:

[URL1 | URL2 | URL2 | . . .| URLn]

For example:

[file:///usr/local/default_dds.xml | file:///usr/local/alternative_default_dds.xml]

Only one of the elements in the group will be loaded by RTI Connext, starting from the left.

Brackets are not required for groups with a single URL.

NDDS_QOS_PROFILES environment variable

The environment variable NDDS_QOS_PROFILES contains a list of URL groups separated by ';'

The URL groups referenced by the environment variable are loaded if they exist and rti::core::QosProviderParams::ignore_environment_profile is set to false

Built-In QoS Profiles

There are also a number of built-in QoS profiles that can be used without having to load any configurations from outside XML resources. For more information on these built-in profiles see Built-in Qos Profiles.

For more information on XML Configuration, refer to the User's Manual.

RTI Connext Modern C++ API Version 5.3.0 Copyright © Sun Jun 25 2017 Real-Time Innovations, Inc