RTI Connext C API  Version 7.0.0

<<extension>> QoS libraries, profiles, and snippets that are automatically built into RTI Connext. More...

Variables

const char *const DDS_BUILTIN_QOS_LIB
 A library of non-experimental QoS profiles. More...
 
const char *const DDS_PROFILE_BASELINE_ROOT
 The root baseline QoS values from which all other Baseline.X.X.X profiles inherit. More...
 
const char *const DDS_PROFILE_BASELINE
 The most up-to-date QoS default values. More...
 
const char *const DDS_PROFILE_BASELINE_5_0_0
 The QoS default values for version 5.0.0. More...
 
const char *const DDS_PROFILE_BASELINE_5_1_0
 The QoS default values for version 5.1.0. More...
 
const char *const DDS_PROFILE_BASELINE_5_2_0
 The QoS default values for version 5.2.0. More...
 
const char *const DDS_PROFILE_BASELINE_5_3_0
 The QoS default values for version 5.3.0. More...
 
const char *const DDS_PROFILE_BASELINE_6_0_0
 The QoS default values for version 6.0.0. More...
 
const char *const DDS_PROFILE_BASELINE_6_1_0
 The QoS default values for version 6.1.0. More...
 
const char *const DDS_PROFILE_BASELINE_7_0_0
 The QoS default values for version 7.0.0. More...
 
const char *const DDS_PROFILE_GENERIC_COMMON
 A common Participant base profile. More...
 
const char *const DDS_PROFILE_GENERIC_MONITORING_COMMON
 Enables RTI Monitoring Library. More...
 
const char *const DDS_PROFILE_GENERIC_CONNEXT_MICRO_COMPATIBILITY
 Sets the values necessary to communicate with RTI Connext Micro. More...
 
const char *const DDS_PROFILE_GENERIC_CONNEXT_MICRO_COMPATIBILITY_2_4_9
 Sets the values necessary to communicate with RTI Connext Micro versions 2.4.4 through at least 2.4.9. More...
 
const char *const DDS_PROFILE_GENERIC_CONNEXT_MICRO_COMPATIBILITY_2_4_3
 Sets the values necessary to communicate with RTI Connext Micro versions 2.4.3 and ealier. More...
 
const char *const DDS_PROFILE_GENERIC_OTHER_DDS_VENDOR_COMPATIBILITY
 Sets the values necessary to interoperate with other DDS vendors. More...
 
const char *const DDS_PROFILE_GENERIC_510_TRANSPORT_COMPATIBILITY
 Sets the values necessary to interoperate with RTI Connext 5.1.0 using the UDPv6 and/or SHMEM transports. More...
 
const char *const DDS_BUILTIN_QOS_LIB_EXP
 A library of experimental QoS profiles. More...
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE
 Enables strict reliability. More...
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE
 Enables keep-last reliability. More...
 
const char *const DDS_PROFILE_GENERIC_BEST_EFFORT
 Enables best-effort reliability kind. More...
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_HIGH_THROUGHPUT
 A profile that can be used to achieve high throughput. More...
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LOW_LATENCY
 A profile that can be used to achieve low latency. More...
 
const char *const DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA
 A common Participant base profile to facilitate sending large data. More...
 
const char *const DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA_MONITORING
 Configures Participants for large data and monitoring. More...
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA
 Configures endpoints for sending large data with strict reliability. More...
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA
 Configures endpoints for sending large data with keep-last reliability. More...
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_FAST_FLOW
 Configures strictly reliable communication for large data with a fast flow controller. More...
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_MEDIUM_FLOW
 Configures strictly reliable communication for large data with a medium flow controller. More...
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_SLOW_FLOW
 Configures strictly reliable communication for large data with a slow flow controller. More...
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA_FAST_FLOW
 Configures keep-last reliable communication for large data with a fast flow controller. More...
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA_MEDIUM_FLOW
 Configures keep-last reliable communication for large data with a medium flow controller. More...
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA_SLOW_FLOW
 Configures keep-last reliable communication for large data with a slow flow controller. More...
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_TRANSIENT_LOCAL
 Persists the samples of a DataWriter as long as the entity exists. More...
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_TRANSIENT
 Persists samples using RTI Persistence Service. More...
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_PERSISTENT
 Persists samples in permanent storage, like a disk, using RTI Persistence Service. More...
 
const char *const DDS_PROFILE_GENERIC_AUTO_TUNING
 Enables the Turbo Mode batching and Auto Throttle experimental features. More...
 
const char *const DDS_PROFILE_GENERIC_MINIMAL_MEMORY_FOOTPRINT
 Uses a set of QoS which reduces the memory footprint of the application. More...
 
const char *const DDS_PROFILE_GENERIC_SECURITY
 Loads the DDS Secure builtin plugins. More...
 
const char *const DDS_PROFILE_PATTERN_PERIODIC_DATA
 Used for applications that expect periodic data. More...
 
const char *const DDS_PROFILE_PATTERN_STREAMING
 Used for applications that stream data. More...
 
const char *const DDS_PROFILE_PATTERN_RELIABLE_STREAMING
 Used for applications that stream data and require reliable communication. More...
 
const char *const DDS_PROFILE_PATTERN_EVENT
 Used for applications that handle events. More...
 
const char *const DDS_PROFILE_PATTERN_ALARM_EVENT
 Used for applications that handle alarm events. More...
 
const char *const DDS_PROFILE_PATTERN_STATUS
 Used for applications whose samples represent statuses. More...
 
const char *const DDS_PROFILE_PATTERN_ALARM_STATUS
 Used for applications in which samples represent alarm statuses. More...
 
const char *const DDS_PROFILE_PATTERN_LAST_VALUE_CACHE
 Used for applications that only need the last published value. More...
 
const char *const DDS_BUILTIN_QOS_SNIPPET_LIB
 A library of QoS Snippets. More...
 
const char *const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_COMMON
 QoS Snippet that configures the reliability protocol with a common configuration. More...
 
const char *const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_KEEP_ALL
 QoS Snippet that configures the reliability protocol for KEEP_ALL. More...
 
const char *const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_KEEP_LAST
 QoS Snippet that configures the reliability protocol for KEEP_LAST. More...
 
const char *const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_HIGH_RATE
 QoS Snippet that configures the reliability protocol for sending data at a high rate. More...
 
const char *const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_LOW_LATENCY
 QoS Snippet that configures the reliability protocol for sending data at low latency. More...
 
const char *const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_LARGE_DATA
 QoS Snippet that configures the reliability protocol for large data. More...
 
const char *const DDS_SNIPPET_OPTIMIZATION_DATACACHE_LARGE_DATA_DYNAMICMEMALLOC
 Configures the DataWriter and DataReader caches to use dynamic memory allocation for Large Data samples. More...
 
const char *const DDS_SNIPPET_OPTIMIZATION_DISCOVERY_COMMON
 QoS Snippet that optimizes discovery with a common configuration. More...
 
const char *const DDS_SNIPPET_OPTIMIZATION_DISCOVERY_PARTICIPANT_COMPACT
 QoS Snippet that optimizes the Participant QoS to send less discovery information. More...
 
const char *const DDS_SNIPPET_OPTIMIZATION_DISCOVERY_ENDPOINT_FAST
 QoS Snippet that optimizes the Endpoint Discovery to be faster. More...
 
const char *const DDS_SNIPPET_OPTIMIZATION_TRANSPORT_LARGE_BUFFERS
 QoS Snippet that increases the Participant default buffer that shmem and udpv4 use. More...
 
const char *const DDS_SNIPPET_QOS_POLICY_RELIABILITY_RELIABLE
 QoS Snippet that sets RELIABILITY QoS to RELIABLE. More...
 
const char *const DDS_SNIPPET_QOS_POLICY_RELIABILITY_BEST_EFFORT
 QoS Snippet that sets RELIABILITY QoS to BEST_EFFORT. More...
 
const char *const DDS_SNIPPET_QOS_POLICY_HISTORY_KEEP_LAST_1
 QoS Snippet that sets HISTORY QoS to KEEP_LAST kind with depth 1. More...
 
const char *const DDS_SNIPPET_QOS_POLICY_HISTORY_KEEP_ALL
 QoS Snippet that sets HISTORY QosPolicy to KEEP_ALL kind. More...
 
const char *const DDS_SNIPPET_QOS_POLICY_PUBLISH_MODE_ASYNCHRONOUS
 QoS Snippet that sets PUBLISH_MODE QosPolicy to ASYNCHRONOUS kind. More...
 
const char *const DDS_SNIPPET_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL
 QoS Snippet that sets DURABILITY QosPolicy to TRANSIENT_LOCAL kind. More...
 
const char *const DDS_SNIPPET_QOS_POLICY_DURABILITY_TRANSIENT
 QoS Snippet that sets DURABILITY QosPolicy to TRANSIENT kind. More...
 
const char *const DDS_SNIPPET_QOS_POLICY_DURABILITY_PERSISTENT
 QoS Snippet that sets DURABILITY QosPolicy to PERSISTENT kind. More...
 
const char *const DDS_SNIPPET_QOS_POLICY_BATCHING_ENABLE
 QoS Snippet that sets BATCH QosPolicy to true. More...
 
const char *const DDS_SNIPPET_FEATURE_FLOW_CONTROLLER_838MBPS
 QoS Snippet that configures and set a FlowController of 838 Mbps. More...
 
const char *const DDS_SNIPPET_FEATURE_FLOW_CONTROLLER_209MBPS
 QoS Snippet that configures and sets a FlowController of 209 Mbps. More...
 
const char *const DDS_SNIPPET_FEATURE_FLOW_CONTROLLER_52MBPS
 QoS Snippet that configures and sets a FlowController of 52 Mbps. More...
 
const char *const DDS_SNIPPET_FEATURE_AUTO_TUNING_ENABLE
 QoS Snippet that enables auto_throttle and turbo_mode to true. More...
 
const char *const DDS_SNIPPET_FEATURE_MONITORING_ENABLE
 QoS Snippet that enables the use of the RTI Monitoring Library. More...
 
const char *const DDS_SNIPPET_FEATURE_SECURITY_ENABLE
 QoS Snippet that enables security using the Builtin Security Plugins. More...
 
const char *const DDS_SNIPPET_FEATURE_TOPIC_QUERY_ENABLE
 QoS Snippet that enables Topic Query. More...
 
const char *const DDS_SNIPPET_TRANSPORT_TCP_LAN_CLIENT
 QoS Snippet that configures a TCP LAN Client over DDS. More...
 
const char *const DDS_SNIPPET_TRANSPORT_TCP_WAN_SYMMETRIC_CLIENT
 QoS Snippet that configures a symmetric WAN TCP Client over DDS. More...
 
const char *const DDS_SNIPPET_TRANSPORT_TCP_WAN_ASYMMETRIC_SERVER
 QoS Snippet that an asymmetric WAN TCP Server over DDS. More...
 
const char *const DDS_SNIPPET_TRANSPORT_TCP_WAN_ASYMMETRIC_CLIENT
 QoS Snippet that configures an asymmetric WAN TCP Client over DDS. More...
 
const char *const DDS_SNIPPET_TRANSPORT_UDP_AVOID_IP_FRAGMENTATION
 QoS Snippet that configures RTI Connext and the UDP built-in transports (UDPv4, UDPv6, UDPv4_WAN) to avoid IP fragmentation. More...
 
const char *const DDS_SNIPPET_TRANSPORT_UDP_WAN
 QoS Snippet that enables the RTI Real-Time WAN Transport (UDPv4_WAN). More...
 
const char *const DDS_SNIPPET_COMPATIBILITY_CONNEXT_MICRO_VERSION_2_4_3
 QoS Snippet that configures sets LIVELINESS QoS to be compatible with RTI Connext Micro 2.4.3. More...
 
const char *const DDS_SNIPPET_COMPATIBILITY_OTHER_DDS_VENDORS_ENABLE
 QoS Snippet that configures RTI Connext to interoperate with other DDS vendors. More...
 
const char *const DDS_SNIPPET_5_1_0_TRANSPORT_ENABLE
 QoS Snippet that configures RTI Connext to interoperate with RTI Connext 5.1.0 and below for UDPv6 and SHMEM transports. More...
 

Detailed Description

<<extension>> QoS libraries, profiles, and snippets that are automatically built into RTI Connext.

The built-in profiles can be accessed in QoS XML configuration files and by using any of the APIs that accept library and profiles names by using the constants or string versions as documented on this page.

The built-in profiles are provided as a way to quickly and easily configure RTI Connext applications with a set of QoS values aimed at achieving a specific behavior.

There are three built-in QoS libraries:

There are three types of profiles:

There are several types of QoS Snippets. These are the current QoS Snippets available:

These QoS Profiles can be used as base profiles in XML configuration, then QoS Snippets can modify specific aspects of this base QoS Profile, and finally files and values can be modified to fit a specific system's needs. For example:

<qos_profile name="MyProfile" base_name="BuiltinQosLib::Generic.Common">
<domain_participant_qos base_name="BuiltinQosLib::Generic.Monitoring.Common">
<base_name>
<element>BuiltinQosSnippetLib::Feature.Monitoring.Enable</element>
</base_name>
<!-- Override and add values -->
</domain_participant_qos>
</qos_profile>

The QoS Profiles can also be used in any APIs that call for a QoS library and profile name, for example, the create_*_with_profile() APIs. To create a DDS_DataWriter configured to send large data:

All the built-in QoS Profiles and QoS Snippets are documented in the BaselineRoot.documentationONLY.xml and BuiltinProfiles.documentationONLY.xml files that are included in the NDDSHOME/xml directory of the RTI Connext installation.

Variable Documentation

◆ DDS_BUILTIN_QOS_LIB

const char* const DDS_BUILTIN_QOS_LIB

A library of non-experimental QoS profiles.

String-version: "BuiltinQosLib"

◆ DDS_PROFILE_BASELINE_ROOT

const char* const DDS_PROFILE_BASELINE_ROOT

The root baseline QoS values from which all other Baseline.X.X.X profiles inherit.

This profile contains the root baseline QoS values from which all other Baseline.X.X.X profiles inherit. These values correspond to the default values for RTI Connext 5.0.0.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Baseline.Root"

◆ DDS_PROFILE_BASELINE

const char* const DDS_PROFILE_BASELINE

The most up-to-date QoS default values.

You can use this profile if you want your application to pick up and use any new QoS default settings each time a new RTI Connext version is released – without changing your application code.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Baseline"

◆ DDS_PROFILE_BASELINE_5_0_0

const char* const DDS_PROFILE_BASELINE_5_0_0

The QoS default values for version 5.0.0.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Baseline.5.0.0"

◆ DDS_PROFILE_BASELINE_5_1_0

const char* const DDS_PROFILE_BASELINE_5_1_0

The QoS default values for version 5.1.0.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Baseline.5.1.0"

◆ DDS_PROFILE_BASELINE_5_2_0

const char* const DDS_PROFILE_BASELINE_5_2_0

The QoS default values for version 5.2.0.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Baseline.5.2.0"

◆ DDS_PROFILE_BASELINE_5_3_0

const char* const DDS_PROFILE_BASELINE_5_3_0

The QoS default values for version 5.3.0.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Baseline.5.3.0"

◆ DDS_PROFILE_BASELINE_6_0_0

const char* const DDS_PROFILE_BASELINE_6_0_0

The QoS default values for version 6.0.0.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Baseline.6.0.0"

◆ DDS_PROFILE_BASELINE_6_1_0

const char* const DDS_PROFILE_BASELINE_6_1_0

The QoS default values for version 6.1.0.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Baseline.6.1.0"

◆ DDS_PROFILE_BASELINE_7_0_0

const char* const DDS_PROFILE_BASELINE_7_0_0

The QoS default values for version 7.0.0.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Baseline.7.0.0"

◆ DDS_PROFILE_GENERIC_COMMON

const char* const DDS_PROFILE_GENERIC_COMMON

A common Participant base profile.

All Generic.X and Pattern.X profiles inherit from this profile.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Generic.Common"

◆ DDS_PROFILE_GENERIC_MONITORING_COMMON

const char* const DDS_PROFILE_GENERIC_MONITORING_COMMON

Enables RTI Monitoring Library.

Generic Base participant QoS Profile that enables RTI Monitoring Library.

Use of this QoS Profile is deprecated. It is included for backwards compatibility.

Instead of using the (deprecated) "BuiltinQosLib::Generic.Monitoring.Common", apply the QoS Snippet "BuiltinQosSnippetLib::Feature.Monitoring.Enable" via composition. For example:

<qos_profile name="MyProfile">
<base_name>
<element>BuiltinQosSnippetLib::Feature.Monitoring.Enable</element>
</base_name>
</qos_profile>

Legacy applications may use this QoS Profile via inheritance. To do this, create a derived QoS Profile that inherits from this one. For example:

<qos_profile name="MyProfile" base_name="BuiltinQosLib::Generic.StrictReliable">
<domain_participant_qos base_name="BuiltinQosLib::Generic.Monitoring.Common">
</qos_profile>

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Generic.Monitoring.Common"

◆ DDS_PROFILE_GENERIC_CONNEXT_MICRO_COMPATIBILITY

const char* const DDS_PROFILE_GENERIC_CONNEXT_MICRO_COMPATIBILITY

Sets the values necessary to communicate with RTI Connext Micro.

This profile will always represent the QoS values required for interoperability between the most recent version of RTI Connext Micro at the time of release of the most recent version of RTI Connext.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Generic.ConnextMicroCompatibility"

◆ DDS_PROFILE_GENERIC_CONNEXT_MICRO_COMPATIBILITY_2_4_9

const char* const DDS_PROFILE_GENERIC_CONNEXT_MICRO_COMPATIBILITY_2_4_9

Sets the values necessary to communicate with RTI Connext Micro versions 2.4.4 through at least 2.4.9.

At the time of the release of RTI Connext 5.3.0 it was not necessary to set any QoS values in order to interoperate with RTI Connext Micro. This applies to RTI Connext Micro versions 2.4.4 and later. The most recent version of RTI Connext Micro at the time of release of RTI Connext 5.3.0 was 2.4.9. There is no guarantee that this profile will interoperate with versions of RTI Connext Micro after 2.4.9.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Generic.ConnextMicroCompatibility.2.4.9"

◆ DDS_PROFILE_GENERIC_CONNEXT_MICRO_COMPATIBILITY_2_4_3

const char* const DDS_PROFILE_GENERIC_CONNEXT_MICRO_COMPATIBILITY_2_4_3

Sets the values necessary to communicate with RTI Connext Micro versions 2.4.3 and ealier.

RTI Connext Micro versions 2.4.3 and earlier only supported the DDS_MANUAL_BY_TOPIC_LIVELINESS_QOS LivelinessQos kind. In order to be compatible with these versions of RTI Connext Micro, the DDS_DataReader and DDS_DataWriter must have their Liveliness kind changed to this value because the default kind in RTI Connext is DDS_AUTOMATIC_LIVELINESS_QOS.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Generic.ConnextMicroCompatibility.2.4.3"

◆ DDS_PROFILE_GENERIC_OTHER_DDS_VENDOR_COMPATIBILITY

const char* const DDS_PROFILE_GENERIC_OTHER_DDS_VENDOR_COMPATIBILITY

Sets the values necessary to interoperate with other DDS vendors.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Generic.OtherDDSVendorCompatibility"

◆ DDS_PROFILE_GENERIC_510_TRANSPORT_COMPATIBILITY

const char* const DDS_PROFILE_GENERIC_510_TRANSPORT_COMPATIBILITY

Sets the values necessary to interoperate with RTI Connext 5.1.0 using the UDPv6 and/or SHMEM transports.

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Generic.510TransportCompatibility"

◆ DDS_BUILTIN_QOS_LIB_EXP

const char* const DDS_BUILTIN_QOS_LIB_EXP

A library of experimental QoS profiles.

Experimental profiles are new profiles that have been tested internally but have not gone through an extensive validation period. Therefore some of the settings may change in future releases based on customer and internal feedback. After validation, experimental profiles will be moved into the non-experimental library.

QoS Profiles in this library are deprecated. They have been moved to "BuiltinQosLib". You should use the QoS Profiles from "BuiltinQosLib" instead of the ones in "BuiltinQosLibExp". The experimental profiles are still defined here to avoid backward compatibility issues.

String-version: "BuiltinQosLibExp"

◆ DDS_PROFILE_GENERIC_STRICT_RELIABLE

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE

Enables strict reliability.

Configures communication to be "strict reliable" where every sample is reliably delivered.

Combines the use of the DDS_RELIABLE_RELIABILITY_QOS for DDS_ReliabilityQosPolicy with a DDS_KEEP_ALL_HISTORY_QOS for the DDS_HistoryQosPolicyKind.

This QoS Profile also optimizes the reliability protocol setting for this configuration.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.StrictReliable"

◆ DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE

const char* const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE

Enables keep-last reliability.

Like the Generic.StrictReliable profile, this profile ensures in-order delivery of samples. However, new data can overwrite data that has not yet been acknowledged by the reader, therefore causing possible sample loss.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.KeepLastReliable"

◆ DDS_PROFILE_GENERIC_BEST_EFFORT

const char* const DDS_PROFILE_GENERIC_BEST_EFFORT

Enables best-effort reliability kind.

This profile enables best-effort communication. No effort or resources are spent to track whether or not sent samples are received. Minimal resources are used. This is the most deterministic method of sending data since there is no indeterministic delay that can be introduced by resending data. Data samples may be lost. This setting is good for periodic data.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.BestEffort"

◆ DDS_PROFILE_GENERIC_STRICT_RELIABLE_HIGH_THROUGHPUT

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_HIGH_THROUGHPUT

A profile that can be used to achieve high throughput.

This QoS Profile extends the DDS_PROFILE_GENERIC_STRICT_RELIABLE QoS Profile to perform additional, fine-grained performance tuning specific to applications that send continuously streaming data. The parameters specified here add to and/or override the parameters specified in the DDS_PROFILE_GENERIC_STRICT_RELIABLE QoS Profile..

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.StrictReliable.HighThroughput"

◆ DDS_PROFILE_GENERIC_STRICT_RELIABLE_LOW_LATENCY

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LOW_LATENCY

A profile that can be used to achieve low latency.

This QoS Profile extends the DDS_PROFILE_GENERIC_STRICT_RELIABLE QoS Profile to perform additional, fine-grained performance tuning specific to applications that send continuously streaming data. The parameters specified here add to and/or override the parameters specified in the DDS_PROFILE_GENERIC_STRICT_RELIABLE QoS Profile.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.StrictReliable.LowLatency"

◆ DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA

const char* const DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA

A common Participant base profile to facilitate sending large data.

This is a common Participant base QoS Profile that configures 3 different flow controllers: 838, 209, and 52 Mbps that can each be used to throttle application data flow at different rates.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.Participant.LargeData"

◆ DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA_MONITORING

const char* const DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA_MONITORING

Configures Participants for large data and monitoring.

This is a common base Participant QoS Profile to configure Participants to both handle large data and use RTI Monitoring Library.

This QoS Profile is deprecated. It is included for backwards compatibility.

It is recommended that instead of inheriting from this QoS Profile, new applications apply the following QoS Snippets to their application-specific QoS Profiles:

Enable Monitoring

Enable Large Data + optimizations

String-version: "Generic.Participant.LargeData.Monitoring"

See also
DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA
DDS_PROFILE_GENERIC_MONITORING_COMMON

◆ DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA

Configures endpoints for sending large data with strict reliability.

This QoS Profile extends the DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA QoS Profile to handle sending large samples. This QoS Profile optimizes memory usage per sample within RTI Connext, but it does not do any flow control. You can use this QoS Profile directly, which enables asynchronous publication with the default flow controller (i.e. no flow control) or you can use one of the three QoS Profiles below (Generic.StrictReliable.LargeData.*Flow), which uses this QoS Profile as a common base QoS Profile. Each of these three QoS Profiles uses one of the three flow controllers defined in DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA in order to throttle application data flow.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.StrictReliable.LargeData"

◆ DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA

const char* const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA

Configures endpoints for sending large data with keep-last reliability.

This QoS Profile is similar to the DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA QoS Profile, but also adds QoS Snippets to handle sending large data. You can use this QoS Profile directly, which enables the default flow controller (i.e., no flow control) or you can choose one of the three QoS Profiles below (Generic.KeepLastReliable.LargeData.*Flow) which uses this QoS Profile as a common base QoS Profile. Each of these three QoS Profiles uses one of the three flow controllers defined in DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA in order to throttle application data flow.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.KeepLastReliable.LargeData"

◆ DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_FAST_FLOW

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_FAST_FLOW

Configures strictly reliable communication for large data with a fast flow controller.

Strictly reliable communication for large data with a 838 Mbps (~ 100 MB/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.StrictReliable.LargeData.FastFlow"

◆ DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_MEDIUM_FLOW

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_MEDIUM_FLOW

Configures strictly reliable communication for large data with a medium flow controller.

Strictly reliable communication for large data with a 209Mbps (~ 25 MB/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.StrictReliable.LargeData.MediumFlow"

◆ DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_SLOW_FLOW

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_SLOW_FLOW

Configures strictly reliable communication for large data with a slow flow controller.

Strictly reliable communication for large data with a 52 MB/sec (~ 6.25 MB/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.StrictReliable.LargeData.SlowFlow"

◆ DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA_FAST_FLOW

const char* const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA_FAST_FLOW

Configures keep-last reliable communication for large data with a fast flow controller.

Keep-last reliable communication for large data with a 838 Mbps (~ 100 MB/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.KeepLastReliable.LargeData.FastFlow"

◆ DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA_MEDIUM_FLOW

const char* const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA_MEDIUM_FLOW

Configures keep-last reliable communication for large data with a medium flow controller.

Keep-last reliable communication for large data with a 209Mbps (~ 25 MB/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.KeepLastReliable.LargeData.MediumFlow"

◆ DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA_SLOW_FLOW

const char* const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA_SLOW_FLOW

Configures keep-last reliable communication for large data with a slow flow controller.

Keep-last reliable communication for large data with a 52 MB/sec (~ 6.25 MB/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.KeepLastReliable.LargeData.SlowFlow"

◆ DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_TRANSIENT_LOCAL

const char* const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_TRANSIENT_LOCAL

Persists the samples of a DataWriter as long as the entity exists.

This profile extends the DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE profile, but persists the samples of a DDS_DataWriter as long as the entity exists in order to deliver them to late-joining DataReaders.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.KeepLastReliable.TransientLocal"

◆ DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_TRANSIENT

const char* const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_TRANSIENT

Persists samples using RTI Persistence Service.

This profile extends the DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE profile, but persists samples using Persistence Service in order to deliver them to late-joining DataReaders.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.KeepLastReliable.Transient"

◆ DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_PERSISTENT

const char* const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_PERSISTENT

Persists samples in permanent storage, like a disk, using RTI Persistence Service.

This profile extends the DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE profile, but persists samples in permanent storage, such as a disk, using Persistence Service in order to deliver them to late-joining DataReaders.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.KeepLastReliable.Persistent"

◆ DDS_PROFILE_GENERIC_AUTO_TUNING

const char* const DDS_PROFILE_GENERIC_AUTO_TUNING

Enables the Turbo Mode batching and Auto Throttle experimental features.

Turbo Mode batching adjusts the maximum number of bytes of a batch based on how frequently samples are being written. Auto Throttle auto-adjusts the speed at which a writer will write samples, based on the number of unacknowledged samples in its queue.

These features are designed to auto-adjust the publishing behavior within a system in order to achieve the best possible performance with regards to throughput and latency.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.AutoTuning"

◆ DDS_PROFILE_GENERIC_MINIMAL_MEMORY_FOOTPRINT

const char* const DDS_PROFILE_GENERIC_MINIMAL_MEMORY_FOOTPRINT

Uses a set of QoS which reduces the memory footprint of the application.

Uses a set of QoS which reduces the memory footprint of the application.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.MinimalMemoryFootprint"

◆ DDS_PROFILE_GENERIC_SECURITY

const char* const DDS_PROFILE_GENERIC_SECURITY

Loads the DDS Secure builtin plugins.

Generic Base Participant Profile that enables the builtin DDS Security Plugins.

Use of this QoS Profile is deprecated. It is included for backwards compatibility.

Instead of using the (deprecated) "BuiltinQosLib::Generic.Security", apply the QoS Snippet "BuiltinQosSnippetLib::Feature.Security.Enable" via composition. For example:

<qos_profile name="MyProfile">
<base_name>
<element>BuiltinQosSnippetLib::Feature.Security.Enable</element>
</base_name>
</qos_profile>

Legacy applications may use this QoS Profile via inheritance. To do this, create a derived QoS Profile that inherits from this one. For example:

<qos_profile name="MyProfile" base_name="BuiltinQosLib::Generic.StrictReliable">
<domain_participant_qos base_name="BuiltinQosLib::Generic.Security">
</qos_profile>

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Generic.Security"

◆ DDS_PROFILE_PATTERN_PERIODIC_DATA

const char* const DDS_PROFILE_PATTERN_PERIODIC_DATA

Used for applications that expect periodic data.

This QoS Profile is intended to be used for applications that expect periodic data such as sensor data. The deadline that is set in this profile can be used to detect when DataWriters are not publishing data with the expected periodicity.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.PeriodicData"

◆ DDS_PROFILE_PATTERN_STREAMING

const char* const DDS_PROFILE_PATTERN_STREAMING

Used for applications that stream data.

The data sent in streaming applications is commonly periodic. Therefore this profile simply inherits from the DDS_PROFILE_PATTERN_PERIODIC_DATA profile. Note: With this QoS Profile, the application may lose data, which may be acceptable in use cases such as video conferencing.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.Streaming"

◆ DDS_PROFILE_PATTERN_RELIABLE_STREAMING

const char* const DDS_PROFILE_PATTERN_RELIABLE_STREAMING

Used for applications that stream data and require reliable communication.

Sometimes streaming applications require reliable communication while still tolerating some data loss. In this case, we inherit from the DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE QoS Profile and the following QoS Snippets:

This QoS Snippet also increases the DDS_HistoryQosPolicy::depth to reduce the probability of losing samples.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.ReliableStreaming"

◆ DDS_PROFILE_PATTERN_EVENT

const char* const DDS_PROFILE_PATTERN_EVENT

Used for applications that handle events.

This QoS Profile can be used by applications in which samples represent events such as button pushes or alerts. When events are triggered, the system should almost always do something, meaning that you don't want the system to lose the event. This means that the system requires strictly reliable communication. To enable it, use the following QoS Snippets:

Since events and alerts are critical and non-periodic data, it is important to detect situations in which communication between a DDS_DataWriter and DDS_DataReader is broken. This is why this profile sets the DDS_LivelinessQosPolicy. If the DDS_DataWriter does not assert its liveliness in a timely manner, the DDS_DataReader will report 'loss of liveliness' to the application.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.Event"

◆ DDS_PROFILE_PATTERN_ALARM_EVENT

const char* const DDS_PROFILE_PATTERN_ALARM_EVENT

Used for applications that handle alarm events.

An alarm is a type of event; therefore this profile simply inherits from DDS_PROFILE_PATTERN_EVENT.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.AlarmEvent"

◆ DDS_PROFILE_PATTERN_STATUS

const char* const DDS_PROFILE_PATTERN_STATUS

Used for applications whose samples represent statuses.

This QoS Profile can be used by applications in which samples represent state variables whose values remain valid as long as they don't explicitly change. State variables typically do not change periodically. State variables and their values should also be available to applications that appear after the value originally changed because it is unreasonable to have to wait until the next change of state, which may be indeterminate.

Whether to use this QoS Profile or DDS_PROFILE_PATTERN_PERIODIC_DATA can often be an application choice. For example, if a DataWriter is publishing temperature sensor data, it could use the DDS_PROFILE_PATTERN_PERIODIC_DATA QoS Profile and publish the data at a fixed rate or it could use the DDS_PROFILE_PATTERN_STATUS QoS Profile and only publish the temperature when it changes more than 1 degree.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.Status"

◆ DDS_PROFILE_PATTERN_ALARM_STATUS

const char* const DDS_PROFILE_PATTERN_ALARM_STATUS

Used for applications in which samples represent alarm statuses.

An alarm status is a type of status; therefore this QoS Profile simply inherits from DDS_PROFILE_PATTERN_STATUS.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.AlarmStatus"

◆ DDS_PROFILE_PATTERN_LAST_VALUE_CACHE

const char* const DDS_PROFILE_PATTERN_LAST_VALUE_CACHE

Used for applications that only need the last published value.

With this QoS Profile, a DDS_DataWriter will keep in its queue the last value that was published for each sample instance. Late-joining DataReaders will get that value when they join the system. This QoS Profile inherits from DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_TRANSIENT_LOCAL because the use case requires delivery to late-joiners.

In Library: DDS_BUILTIN_QOS_LIB and DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.LastValueCache"

◆ DDS_BUILTIN_QOS_SNIPPET_LIB

const char* const DDS_BUILTIN_QOS_SNIPPET_LIB

A library of QoS Snippets.

String-version: "BuiltinQosSnippetLib"

◆ DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_COMMON

const char* const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_COMMON

QoS Snippet that configures the reliability protocol with a common configuration.

The QoS Snippets starting with "Optimization.ReliabilityProtocol." provide alternative configurations of the same QoS Policies. Choose just one QoS Snippet of the alternatives when defining a new QoS Profile or QoS Snippet.

This QoS Snippet defines parameters common to a set of "alternative" QoS Snippets that configure the reliability protocol.

Modified QoS Parameters:

This QoS Snippet configures the reliability protocol parameters for more aggressive (faster) heartbeats so that sample loss is detected and repaired faster.

This QoS Snippet also sets the DDS_RtpsReliableWriterProtocol_t::max_heartbeat_retries, which works in combination with the heartbeat rate to determine when the DDS_DataWriter considers a DDS_DataReader non-responsive. This QoS Snippet configures the DDS_DataWriterProtocolQosPolicy::rtps_reliable_writer parameters so that the DDS_DataWriter considers the DDS_DataReader to be "inactive" after 500 unresponded heartbeats.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Optimization.ReliabilityProtocol.Common"

◆ DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_KEEP_ALL

const char* const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_KEEP_ALL

QoS Snippet that configures the reliability protocol for KEEP_ALL.

The QoS Snippets starting with "Optimization.ReliabilityProtocol." provide alternative configurations of the same QoS Policies. Choose just one QoS Snippet of the alternatives when defining a new QoS Profile or QoS Snippet.

This QoS Snippet optimizes the DDS_DataWriter reliable protocol parameters for a reliable DDS_DataWriter with DDS_HistoryQosPolicyKind set to DDS_KEEP_ALL_HISTORY_QOS.

Modified QoS Parameters:

Note that this QoS Snippet does not configure the DDS_ReliabilityQosPolicy or DDS_HistoryQosPolicy QoS policies. It is intended to be used in combination with other QoS Snippets that configure those policies.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Optimization.ReliabilityProtocol.KeepAll"

◆ DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_KEEP_LAST

const char* const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_KEEP_LAST

QoS Snippet that configures the reliability protocol for KEEP_LAST.

The QoS Snippets starting with "Optimization.ReliabilityProtocol." provide alternative configurations of the same QoS Policies. Choose just one QoS Snippet of the alternatives when defining a new QoS Profile or QoS Snippet.

This QoS Snippet optimizes the DDS_DataWriter reliable protocol parameters for a reliable DDS_DataWriter with DDS_HistoryQosPolicyKind set to DDS_KEEP_LAST_HISTORY_QOS.

Modified QoS Parameters:

Note that this QoS Snippet does not configure the DDS_ReliabilityQosPolicy or DDS_HistoryQosPolicy QoS policies. It is intended to be used in combination with other QoS Snippets that configure those policies.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Optimization.ReliabilityProtocol.KeepLast"

◆ DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_HIGH_RATE

const char* const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_HIGH_RATE

QoS Snippet that configures the reliability protocol for sending data at a high rate.

The QoS Snippets starting with "Optimization.ReliabilityProtocol." provide alternative configurations of the same QoS Policies. Choose just one QoS Snippet of the alternatives when defining a new QoS Profile or QoS Snippet.

This QoS Snippet optimizes the DDS_DataWriter reliable protocol parameters for a reliable DDS_DataWriter that is writing messages at high rates, especially in situations where throughput is favored over latency.

Modified QoS Parameters:

This QoS Snippet sets a fast rate of heartbeats so that errors are detected and repaired more swiftly.

Note that to get the highest thoughout you may need to apply additional changes to the final QoS Profile. See the QoS Profile DDS_PROFILE_GENERIC_STRICT_RELIABLE_HIGH_THROUGHPUT for further information.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Optimization.ReliabilityProtocol.HighRate"

◆ DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_LOW_LATENCY

const char* const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_LOW_LATENCY

QoS Snippet that configures the reliability protocol for sending data at low latency.

The QoS Snippets starting with "Optimization.ReliabilityProtocol." provide alternative configurations of the same QoS Policies. Choose just one QoS Snippet of the alternatives when defining a new QoS Profile or QoS Snippet.

This QoS Snippet modifies the Reliable Protocol parameters to accomplish low latency.

Modified QoS Parameters:

Note that to get the lowest latency you may need to apply additional changes to the final QoS Profile. See the QoS Profile DDS_PROFILE_GENERIC_STRICT_RELIABLE_LOW_LATENCY for further information.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Optimization.ReliabilityProtocol.LowLatency"

◆ DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_LARGE_DATA

const char* const DDS_SNIPPET_OPTIMIZATION_RELIABILITY_PROTOCOL_LARGE_DATA

QoS Snippet that configures the reliability protocol for large data.

The QoS Snippets starting with "Optimization.ReliabilityProtocol." provide alternative configurations of the same QoS Policies. Choose just one QoS Snippet of the alternatives when defining a new QoS Profile or QoS Snippet.

Modifies the Reliable Protocol parameters and Resource Limits to work with Large Data.

Modified QoS Parameters:

Note that to send large data you need to apply additional changes that configure the data caches, asynchronous writing, transport buffers, etc. See, for example, DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA, and derivatives for fully functional Large Data QoS Profiles.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Optimization.ReliabilityProtocol.LargeData"

◆ DDS_SNIPPET_OPTIMIZATION_DATACACHE_LARGE_DATA_DYNAMICMEMALLOC

const char* const DDS_SNIPPET_OPTIMIZATION_DATACACHE_LARGE_DATA_DYNAMICMEMALLOC

Configures the DataWriter and DataReader caches to use dynamic memory allocation for Large Data samples.

Modified QoS Parameters:

This configuration is needed to handle data that contains unbounded sequences or strings. This QoS Snippet is also recommended if samples can have very different sizes and the bigger samples can be very large.

If dynamic memory allocation is not used for the larger samples, then all samples are allocated to their maximum size which can consume a lot of resources.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Optimization.DataCache.LargeData.DynamicMemAlloc"

◆ DDS_SNIPPET_OPTIMIZATION_DISCOVERY_COMMON

const char* const DDS_SNIPPET_OPTIMIZATION_DISCOVERY_COMMON

QoS Snippet that optimizes discovery with a common configuration.

Optimizes the DDS_DomainParticipantQos to detect faster discovery changes. This QoS Snippet increases the speed moderately so that it fits the normal scenarios.

Modified QoS Parameters:

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Optimization.Discovery.Common"

◆ DDS_SNIPPET_OPTIMIZATION_DISCOVERY_PARTICIPANT_COMPACT

const char* const DDS_SNIPPET_OPTIMIZATION_DISCOVERY_PARTICIPANT_COMPACT

QoS Snippet that optimizes the Participant QoS to send less discovery information.

Modified QoS Parameters:

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Optimization.Discovery.Participant.Compact"

◆ DDS_SNIPPET_OPTIMIZATION_DISCOVERY_ENDPOINT_FAST

const char* const DDS_SNIPPET_OPTIMIZATION_DISCOVERY_ENDPOINT_FAST

QoS Snippet that optimizes the Endpoint Discovery to be faster.

This is useful when using security, to prevent a noticeable delay.

Modified QoS Parameters:

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Optimization.Discovery.Endpoint.Fast"

◆ DDS_SNIPPET_OPTIMIZATION_TRANSPORT_LARGE_BUFFERS

const char* const DDS_SNIPPET_OPTIMIZATION_TRANSPORT_LARGE_BUFFERS

QoS Snippet that increases the Participant default buffer that shmem and udpv4 use.

This is useful when using Large Data

Modified QoS Parameters:

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Optimization.Transport.LargeBuffers"

◆ DDS_SNIPPET_QOS_POLICY_RELIABILITY_RELIABLE

const char* const DDS_SNIPPET_QOS_POLICY_RELIABILITY_RELIABLE

QoS Snippet that sets RELIABILITY QoS to RELIABLE.

This also configures a blocking time in case the DDS_DataWriter writes faster than the DataReaders can accommodate.

Modified QoS Parameters:

Note that by itself enabling reliability does not ensure that every sample written is delivered to the DataReaders. This is because the DDS_DataWriter and/or DDS_DataReader can be configured to override samples in its cache based on the configuration of the DDS_HistoryQosPolicy QoS policy.

To ensure delivery of every sample (at the expense of potentially blocking the DDS_DataWriter), use the QoS Profile DDS_PROFILE_GENERIC_STRICT_RELIABLE or one of the derived QoS Profiles.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "QosPolicy.Reliability.Reliable"

◆ DDS_SNIPPET_QOS_POLICY_RELIABILITY_BEST_EFFORT

const char* const DDS_SNIPPET_QOS_POLICY_RELIABILITY_BEST_EFFORT

QoS Snippet that sets RELIABILITY QoS to BEST_EFFORT.

Modified QoS Parameters:

With best-effort, there are no resources spent to confirm delivery of samples nor repairs of any samples that may be lost.

Best-effort communication reduces jitter; therefore, the delay between sending data and receiving it is more deterministic for the samples that are actually received. Best-effort is good for periodic data where it may be better to get the next value than to wait for the previous one to be repaired.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "QosPolicy.Reliability.BestEffort"

◆ DDS_SNIPPET_QOS_POLICY_HISTORY_KEEP_LAST_1

const char* const DDS_SNIPPET_QOS_POLICY_HISTORY_KEEP_LAST_1

QoS Snippet that sets HISTORY QoS to KEEP_LAST kind with depth 1.

Modified QoS Parameters:

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "QosPolicy.History.KeepLast_1"

◆ DDS_SNIPPET_QOS_POLICY_HISTORY_KEEP_ALL

const char* const DDS_SNIPPET_QOS_POLICY_HISTORY_KEEP_ALL

QoS Snippet that sets HISTORY QosPolicy to KEEP_ALL kind.

Modified QoS Parameters:

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "QosPolicy.History.KeepAll"

◆ DDS_SNIPPET_QOS_POLICY_PUBLISH_MODE_ASYNCHRONOUS

const char* const DDS_SNIPPET_QOS_POLICY_PUBLISH_MODE_ASYNCHRONOUS

QoS Snippet that sets PUBLISH_MODE QosPolicy to ASYNCHRONOUS kind.

Modified QoS Parameters:

Asynchronous Publish mode decouples the application thread that calls the DDS_DataWriter "write" operation from the thread used to send the data on the network. See https://community.rti.com/glossary/asynchronous-writer

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "QosPolicy.PublishMode.Asynchronous"

◆ DDS_SNIPPET_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL

const char* const DDS_SNIPPET_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL

QoS Snippet that sets DURABILITY QosPolicy to TRANSIENT_LOCAL kind.

Modified QoS Parameters:

DataWriters will store and send previously published DDS samples for delivery to newly discovered DataReaders as long as the DDS_DataWriter still exists. For this setting to be effective, you must also set the DDS_ReliabilityQosPolicyKind to DDS_RELIABLE_RELIABILITY_QOS (not Best Effort). Which particular DDS samples are kept depends on other QoS settings such as DDS_HistoryQosPolicy and DDS_ResourceLimitsQosPolicy.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "QosPolicy.Durability.TransientLocal"

◆ DDS_SNIPPET_QOS_POLICY_DURABILITY_TRANSIENT

const char* const DDS_SNIPPET_QOS_POLICY_DURABILITY_TRANSIENT

QoS Snippet that sets DURABILITY QosPolicy to TRANSIENT kind.

Modified QoS Parameters:

RTI Connext will store previously published DDS samples in memory using Persistence Service, which will send the stored data to newly discovered DataReaders. Which particular DDS samples are kept and sent by Persistence Service depends on the DDS_HistoryQosPolicy and DDS_ResourceLimitsQosPolicy of the Persistence Service DataWriters. These QosPolicies can be configured in the Persistence Service configuration file or through the DDS_DurabilityQosPolicyKind of the DataWriters configured with DDS_TRANSIENT_DURABILITY_QOS.

You need a Persistence Service instance running to use this behavior.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "QosPolicy.Durability.Transient"

◆ DDS_SNIPPET_QOS_POLICY_DURABILITY_PERSISTENT

const char* const DDS_SNIPPET_QOS_POLICY_DURABILITY_PERSISTENT

QoS Snippet that sets DURABILITY QosPolicy to PERSISTENT kind.

Modified QoS Parameters:

RTI Connext will store previously published DDS samples in permanent storage, like a disk, using Persistence Service, which will send the stored data to newly discovered DataReaders. Which particular DDS samples are kept and sent by Persistence Service depends on the DDS_HistoryQosPolicy and DDS_ResourceLimitsQosPolicy in the Persistence Service DataWriters. These QosPolicies can be configured in the Persistence Service configuration file or through the DDS_DurabilityQosPolicyKind of the DataWriters configured with DDS_PERSISTENT_DURABILITY_QOS.

You need a Persistence Service instance running to use this behavior.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "QosPolicy.Durability.Persistent"

◆ DDS_SNIPPET_QOS_POLICY_BATCHING_ENABLE

const char* const DDS_SNIPPET_QOS_POLICY_BATCHING_ENABLE

QoS Snippet that sets BATCH QosPolicy to true.

Modified QoS Parameters:

This QoS Snippet specifies and configures the mechanism that allows RTI Connext to collect multiple user data DDS samples to be sent in a single network packet, to take advantage of the efficiency of sending larger packets and thus increase effective throughput.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "QosPolicy.Batching.Enable"

◆ DDS_SNIPPET_FEATURE_FLOW_CONTROLLER_838MBPS

const char* const DDS_SNIPPET_FEATURE_FLOW_CONTROLLER_838MBPS

QoS Snippet that configures and set a FlowController of 838 Mbps.

Defines a DDS_FlowController and configures the DDS_DataWriterQos with it.

This is a DDS_FlowController of 838 Mbps (~ 100 MB/sec)

Modified QoS Parameters:

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Feature.FlowController.838Mbps"

◆ DDS_SNIPPET_FEATURE_FLOW_CONTROLLER_209MBPS

const char* const DDS_SNIPPET_FEATURE_FLOW_CONTROLLER_209MBPS

QoS Snippet that configures and sets a FlowController of 209 Mbps.

Defines a DDS_FlowController and configures the DDS_DataWriterQos with it.

This is a DDS_FlowController of 209 Mbps (~ 25 MB/sec)

Modified QoS Parameters:

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Feature.FlowController.209Mbps"

◆ DDS_SNIPPET_FEATURE_FLOW_CONTROLLER_52MBPS

const char* const DDS_SNIPPET_FEATURE_FLOW_CONTROLLER_52MBPS

QoS Snippet that configures and sets a FlowController of 52 Mbps.

Defines a DDS_FlowController and configures the DDS_DataWriterQos with it.

This is a DDS_FlowController of 52 Mbps (~ 6.25 MB/sec)

Modified QoS Parameters:

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Feature.FlowController.52Mbps"

◆ DDS_SNIPPET_FEATURE_AUTO_TUNING_ENABLE

const char* const DDS_SNIPPET_FEATURE_AUTO_TUNING_ENABLE

QoS Snippet that enables auto_throttle and turbo_mode to true.

Sets the DDS_DomainParticipantQos properties to enable auto_throttle and turbo_mode to true.

Modified QoS Parameters:

The domain_participant.auto_throttle configures the DDS_DomainParticipant to gather internal measurements (during DDS_DomainParticipant creation) that are required for the Auto Throttle feature. This allows DataWriters belonging to this DDS_DomainParticipant to use the Auto Throttle feature.

The turbo_mode adjusts the batch max_data_bytes based on how frequently the DDS_DataWriter writes data.

Data_writer.auto_throttle enables automatic throttling in the DDS_DataWriter so it can automatically adjust the writing rate and the send window size; this minimizes the need for repairing DDS samples and improves latency.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Feature.AutoTuning.Enable"

◆ DDS_SNIPPET_FEATURE_MONITORING_ENABLE

const char* const DDS_SNIPPET_FEATURE_MONITORING_ENABLE

QoS Snippet that enables the use of the RTI Monitoring Library.

To enable the use of RTI Monitoring Library apply this QoS Snippet to the QoS Profile used to create your DDS_DomainParticipant. For example:

<qos_profile name="MyProfile">
<base_name>
<element>BuiltinQosLib::Feature.Monitoring.Enable</element>
</base_name>
</qos_profile>

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Feature.Monitoring.Enable"

◆ DDS_SNIPPET_FEATURE_SECURITY_ENABLE

const char* const DDS_SNIPPET_FEATURE_SECURITY_ENABLE

QoS Snippet that enables security using the Builtin Security Plugins.

To enable the use of the Builtin DDS Security Library apply this QoS Snippet to the QoS Profile used to create your DDS_DomainParticipant. For example:

<qos_profile name="MyProfile">
<base_name>
<element>BuiltinQosLib::Feature.Security.Enable</element>
</base_name>
</qos_profile>

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Feature.Security.Enable"

◆ DDS_SNIPPET_FEATURE_TOPIC_QUERY_ENABLE

const char* const DDS_SNIPPET_FEATURE_TOPIC_QUERY_ENABLE

QoS Snippet that enables Topic Query.

To enable the use of the RTI Connext DDS_TopicQuery feature, apply this QoS Snippet to the QoS Profile used to create your DDS_DataWriter. For example:

<qos_profile name="MyProfile">
<base_name>
<element>BuiltinQosLib::Feature.TopicQuery.Enable</element>
</base_name>
</qos_profile>

For more information on Topic Query see the "Topic Queries" chapter in the User's Manual.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Feature.TopicQuery.Enable"

◆ DDS_SNIPPET_TRANSPORT_TCP_LAN_CLIENT

const char* const DDS_SNIPPET_TRANSPORT_TCP_LAN_CLIENT

QoS Snippet that configures a TCP LAN Client over DDS.

This QoS Snippet sets all the mandatory properties; however the final QoS Profile requires additional configuration.

The values of the initial_peers and the property dds.transport.TCPv4.tcp1.server_bind_port are incorrect (just sample strings). Therefore, they must be modified:

  • initial_peers: should point to the remote client IP and port.
  • server_bind_port: is the port this application will be using.

This modification should be done in the QoS Profile that will be used to create the DDS_Entity. These new values will overwrite the current invalid values.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Transport.TCP.LAN.Client"

◆ DDS_SNIPPET_TRANSPORT_TCP_WAN_SYMMETRIC_CLIENT

const char* const DDS_SNIPPET_TRANSPORT_TCP_WAN_SYMMETRIC_CLIENT

QoS Snippet that configures a symmetric WAN TCP Client over DDS.

This QoS Snippet sets all the mandatory properties; however the final QoS Profile requires additional configuration.

The values of the properties dds.transport.TCPv4.tcp1.public_address and dds.transport.TCPv4.tcp1.server_bind_port are incorrect (just sample strings). Also the initial_peers information is not correct. Therefore, the following must be modified:

  • initial_peers: should point to the remote client IP and port.
  • public_address: public IP address where this application can be reached.
  • server_bind_port: port this application will be using.

This modification should be done in the QoS Profile that will be used to create the DDS_Entity. These new values will overwrite the current invalid values.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Transport.TCP.WAN.Symmetric.Client"

◆ DDS_SNIPPET_TRANSPORT_TCP_WAN_ASYMMETRIC_SERVER

const char* const DDS_SNIPPET_TRANSPORT_TCP_WAN_ASYMMETRIC_SERVER

QoS Snippet that an asymmetric WAN TCP Server over DDS.

This QoS Snippet sets all the mandatory properties; however the final QoS Profile requires additional configuration.

The values of the properties dds.transport.TCPv4.tcp1.public_address and dds.transport.TCPv4.tcp1.server_bind_port are incorrect (just sample strings). Therefore, they must be modified to the corresponding public_address and port_number. This modification should be done in the QoS Profile that will be used to create the DDS_Entity. These new values will overwrite the current invalid values.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Transport.TCP.WAN.Asymmetric.Server"

◆ DDS_SNIPPET_TRANSPORT_TCP_WAN_ASYMMETRIC_CLIENT

const char* const DDS_SNIPPET_TRANSPORT_TCP_WAN_ASYMMETRIC_CLIENT

QoS Snippet that configures an asymmetric WAN TCP Client over DDS.

This QoS Snippet sets all the mandatory properties; however the final QoS Profile requires additional configuration.

The value of discovery.initial_peers and public_ip have to match the values set on the Server side (DDS_SNIPPET_TRANSPORT_TCP_WAN_ASYMMETRIC_SERVER). This modification should be done in the QoS Profile that will be used to create the DDS_Entity. This new value will overwrite the current invalid value.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Transport.TCP.WAN.Asymmetric.Client"

◆ DDS_SNIPPET_TRANSPORT_UDP_AVOID_IP_FRAGMENTATION

const char* const DDS_SNIPPET_TRANSPORT_UDP_AVOID_IP_FRAGMENTATION

QoS Snippet that configures RTI Connext and the UDP built-in transports (UDPv4, UDPv6, UDPv4_WAN) to avoid IP fragmentation.

For WAN communications and, in general, for communications in third party networks, it is not a good idea to rely on IP fragmentation. IP fragmentation causes significant issues in UDP, where there is no integrated support for a path MTU (maximum transmission unit) discovery protocol as there is in TCP.

This snippet provides a way to avoid IP fragmentation in Connext applications using the built-in UDP transports. Instead, Connext will be responsible for fragmentation, which is done at the RTPS level.

Among other changes, this configuration changes the transport MTU (message_size_max) to be 1400 bytes. Notice that this change will affect other transports such as SHMEM since Connext chooses the minimum transport MTU across all enabled transports to determine the maximum size of outgoing RTPS messages.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Transport.UDP.AvoidIPFragmentation"

◆ DDS_SNIPPET_TRANSPORT_UDP_WAN

const char* const DDS_SNIPPET_TRANSPORT_UDP_WAN

QoS Snippet that enables the RTI Real-Time WAN Transport (UDPv4_WAN).

The snippet disables all the other built-in transports and avoids the use of IP fragmentation.

For WAN communications and, in general, for communications in third-party networks, it is not a good idea to rely on IP fragmentation. IP fragmentation causes significant issues in UDP, where there is no integrated support for a path MTU (maximum transmission unit) discovery protocol as there is in TCP.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Transport.UDP.WAN"

◆ DDS_SNIPPET_COMPATIBILITY_CONNEXT_MICRO_VERSION_2_4_3

const char* const DDS_SNIPPET_COMPATIBILITY_CONNEXT_MICRO_VERSION_2_4_3

QoS Snippet that configures sets LIVELINESS QoS to be compatible with RTI Connext Micro 2.4.3.

QoS Snippet that sets the DDS_DataReaderQos and DDS_DataWriterQos DDS_LivelinessQosPolicyKind to DDS_MANUAL_BY_TOPIC_LIVELINESS_QOS It also disables the built-in shared memory transport.

Modified QoS Parameters:

RTI Connext Micro versions 2.4.3 and earlier only supported DDS_MANUAL_BY_TOPIC_LIVELINESS_QOS DDS_LivelinessQosPolicyKind. In order to be compatible with RTI Connext Micro 2.4.3, the DDS_DataReader and DDS_DataWriter must have their DDS_LivelinessQosPolicyKind changed to this value because the default kind in RTI Connext is DDS_AUTOMATIC_LIVELINESS_QOS.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Compatibility.ConnextMicro.Version243"

◆ DDS_SNIPPET_COMPATIBILITY_OTHER_DDS_VENDORS_ENABLE

const char* const DDS_SNIPPET_COMPATIBILITY_OTHER_DDS_VENDORS_ENABLE

QoS Snippet that configures RTI Connext to interoperate with other DDS vendors.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Compatibility.OtherDDSVendor.Enable"

◆ DDS_SNIPPET_5_1_0_TRANSPORT_ENABLE

const char* const DDS_SNIPPET_5_1_0_TRANSPORT_ENABLE

QoS Snippet that configures RTI Connext to interoperate with RTI Connext 5.1.0 and below for UDPv6 and SHMEM transports.

In Library: DDS_BUILTIN_QOS_SNIPPET_LIB

String-version: "Compatibility.510Transport.Enable"