19.3.1 Built-in QoS Profiles
Several QoS Profiles are built into the Connext DDS core libraries and can be used as starting points when configuring QoS for your Connext DDSapplications. There are two provided libraries, BuiltinQosLib and BuiltinQosLibExp, which contain different profiles. You can use any of these profiles as base profiles when creating your own XML configurations or simply use these profiles directly in the DDS_*_create_*_with_profile() APIs. There is also a BuiltinQosSnippetLib library, which contains profile "snippets" that can be overlaid upon the profiles to provide additional modifications to your QoS. See 19.3.3.2 QoS Profile Composition for more information.
There are three types of built-in profiles:
- Baseline.X.X.X profiles represent the QoS defaults for Connext DDSversion X.X.X. The defaults for the latest Connext DDS version can be accessed using the BuiltinQosLib::Baseline profile.
- Generic.X profiles allow you to easily configure different features and communication use-cases with Connext DDS. For example, there is a Generic.StrictReliable profile for use when your application has a requirement for no data loss, regardless of the application domain.
- Pattern.X profiles inherit from Generic.X profiles and allow you to configure various domain-specific communication use cases. For example, there is a Pattern.Alarm profile that can be used to manage the generation and consumption of alarm events.
The USER_QOS_PROFILES.xml file generated by RTI Code Generator contains a profile that inherits from the BuiltinQosLibExp::Generic.StrictReliable profile as an example of how to use these profiles in your own application.
Example use-cases for these profiles:
- To quickly enable RTI Monitoring Library by inheriting from the BuiltinQosLib::Generic.Monitoring.Common profile. (See note below.)
- To easily revert to the default QoS values from a previous Connext DDS version by inheriting from the correct BuiltinQosLib::Baseline.X.X.X profile.
- To set up common use-case configurations and patterns such as strict reliability or large data communication by inheriting from one of the BuiltinQosLibExp::Generic.X or Pattern.X profiles.
To see the contents of the built-in QoS profiles:
In <NDDSHOME>/resource/xml, you will find:
- BaselineRoot.documentationONLY.xml—This file contains the root baseline QoS profile corresponding to the default values of Connext DDS 5.0.0.
- BuiltinProfiles.documentationONLY.xml—This file contains the rest of the built-in QoS profiles.
Notes:
- The built-in QoS profiles that enable RTI Monitoring Library set the property rti.monitor.create_function. Consequently, they only work in Connext DDS applications in which the monitoring library can be loaded dynamically. Specifically, the built-in monitoring profiles will not work in these situations:
- When the Connext DDS application links the monitoring libraries statically
- When using a VxWorks platform with Java
For more information, see Part 9: RTI Monitoring Library.
- Some of the built-in profiles are experimental. All the experimental profiles are contained within the library BuiltinQosLibExp.
© 2020 RTI