RTI Connext C++ API  Version 5.1.0
Builtin Qos Profiles

<<eXtension>> QoS libraries and profiles that are automatically built into RTI Connext. More...

Variables

const char *const DDS_BUILTIN_QOS_LIB
 A library of non-experimental QoS profiles.
 
const char *const DDS_PROFILE_BASELINE_ROOT
 The root baseline QoS values from which all other Baseline.X.X.X profiles inherit.
 
const char *const DDS_PROFILE_BASELINE
 The most up-to-date QoS default values.
 
const char *const DDS_PROFILE_BASELINE_5_0_0
 The QoS default values for version 5.0.0.
 
const char *const DDS_PROFILE_BASELINE_5_1_0
 The QoS default values for version 5.1.0.
 
const char *const DDS_PROFILE_GENERIC_COMMON
 A common Participant base profile.
 
const char *const DDS_PROFILE_GENERIC_MONITORING_COMMON
 Enables RTI Monitoring Library.
 
const char *const DDS_PROFILE_GENERIC_CONNEXT_MICRO_COMPATIBILITY
 Sets the values necessary to communicate with RTI Connext Micro.
 
const char *const DDS_BUILTIN_QOS_LIB_EXP
 A library of experimental QoS profiles.
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE
 Enables strict reliability.
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE
 Enables keep-last reliability.
 
const char *const DDS_PROFILE_GENERIC_BEST_EFFORT
 Enables best-effort reliability.
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_HIGH_THROUGHPUT
 A profile that can be used to achieve high throughput.
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LOW_LATENCY
 A profile that can be used to achieve low latency.
 
const char *const DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA
 A common Participant base profile to facilitate sending large data.
 
const char *const DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA_MONITORING
 Configures Participants for large data and monitoring.
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA
 Configures endpoints for sending large data with strict reliability.
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA
 Configures endpoints for sending large data with keep-last reliability.
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_FAST_FLOW
 Configures strictly reliable communication for large data with a fast flow controller.
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_MEDIUM_FLOW
 Configures strictly reliable communication for large data with a medium flow controller.
 
const char *const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_SLOW_FLOW
 Configures strictly reliable communication for large data with a slow flow controller.
 
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.
 
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.
 
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.
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_TRANSIENT_LOCAL
 Persists the samples of a DataWriter as long as the entity exists.
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_TRANSIENT
 Persists samples using RTI Persistence Service.
 
const char *const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_PERSISTENT
 Persists samples in permanent storage, like a disk, using RTI Persistence Service.
 
const char *const DDS_PROFILE_GENERIC_AUTO_TUNING
 Enables the Turbo Mode batching and Auto Throttle experimental features.
 
const char *const DDS_PROFILE_PATTERN_PERIODIC_DATA
 Used for applications that expect periodic data.
 
const char *const DDS_PROFILE_PATTERN_STREAMING
 Used for applications that stream data.
 
const char *const DDS_PROFILE_PATTERN_RELIABLE_STREAMING
 Used for applications that stream data and require reliable communication.
 
const char *const DDS_PROFILE_PATTERN_EVENT
 Used for applications that handle events.
 
const char *const DDS_PROFILE_PATTERN_ALARM_EVENT
 Used for applications which handle alarm events.
 
const char *const DDS_PROFILE_PATTERN_STATUS
 Used for applications whose samples represent statuses.
 
const char *const DDS_PROFILE_PATTERN_ALARM_STATUS
 Used for applications in which samples represent alarm statuses.
 
const char *const DDS_PROFILE_PATTERN_LAST_VALUE_CACHE
 Used for applications that only need the last published value.
 

Detailed Description

<<eXtension>> QoS libraries and profiles 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 types of profiles:

These profiles can be used as base profiles in XML configuration files and values can be modified to fit a specific system's needs. For example:

<qos_profile name="MyProfile" base_name="BuiltinQosLibExp::Generic.StrictReliable">
<participant_qos base_name="BuiltinQosLib::Generic.Monitoring.Common">
<!-- Override and add values -->
</participant_qos>
</qos_profile>

The 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 DDSDataWriter configured to send large data:

writer = DDS_DomainParticipant_create_datawriter_with_profile(
participant, topic,

All the built-in profiles are documented in the BaselineRoot.documentationONLY.xml and BuiltinProfiles.documentationONLY.xml files that are included in the NDDSHOME/qos_profiles_5.1.0/xml directory of the RTI Connext installation.

Variable Documentation

const char* const DDS_BUILTIN_QOS_LIB

A library of non-experimental QoS profiles.

String-version: "BuiltinQosLib"

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"

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"

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"

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"

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"

const char* const DDS_PROFILE_GENERIC_MONITORING_COMMON

Enables RTI Monitoring Library.

Enables RTI Monitoring Library using the Baseline QoS defaults. You can use this profile to override the Participant configuration to use monitoring when inheriting profiles. For example:

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

In Library: DDS_BUILTIN_QOS_LIB

String-version: "Generic.Monitoring.Common"

const char* const DDS_PROFILE_GENERIC_CONNEXT_MICRO_COMPATIBILITY

Sets the values necessary to communicate with RTI Connext Micro.

RTI Connext Micro only supports the DDS_MANUAL_BY_TOPIC_LIVELINESS_QOS LivelinessQos kind. In order to be compatible with RTI Connext Micro, the DDSDataReader and DDSDataWriter 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"

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.

String-version: "BuiltinQosLibExp"

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE

Enables strict reliability.

This profile guarantees delivery of every published sample. Samples will not be overwritten, regardless of the DDS_HistoryQosPolicy::depth. Strict reliability ensures in-order delivery and retransmission of lost samples.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.StrictReliable"

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_EXP

String-version: "Generic.KeepLastReliable"

const char* const DDS_PROFILE_GENERIC_BEST_EFFORT

Enables best-effort reliability.

This profiles 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_EXP

String-version: "Generic.BestEffort"

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_HIGH_THROUGHPUT

A profile that can be used to achieve high throughput.

This profile extends the Generic.StrictReliable 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 Generic.StrictReliable profile.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.StrictReliable.HighThroughput"

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LOW_LATENCY

A profile that can be used to achieve low latency.

This profile extends the Generic.StrictReliable 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 Generic.StrictReliable profile.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.StrictReliable.LowLatency"

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 profile that configures three flow controllers (fast, medium, and slow). Each one can be used to throttle application data flow at different rates.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.Participant.LargeData"

const char* const DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA_MONITORING

Configures Participants for large data and monitoring.

This is a common base Participant profile to configure participants to handle large data and use RTI Monitoring Library.

In Library: DDS_BUILTIN_QOS_LIB_EXP

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

See Also
DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA
DDS_PROFILE_GENERIC_MONITORING_COMMON
const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA

Configures endpoints for sending large data with strict reliability.

This profile extends the DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA profile to handle sending large samples while providing strict reliability. This profile optimizes the memory usage per sample within the middleware and enables asynchronous publication (necessary for strict reliability), but it does not perform any flow control.

If you need flow control, consider using one of the three profiles (Generic.StrictReliable.LargeData.*Flow) that use this profile as a common base profile. Each of those three profiles use one of the three flow controllers (fast, medium, or slow) defined in DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA to throttle application data flow.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.StrictReliable.LargeData"

const char* const DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA

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

This profile is similar to the DDS_PROFILE_GENERIC_KEEP_LAST_RELIABLE_LARGE_DATA profile but inherits from Generic.StrictReliable.LargeData in order to handle sending large data. You can use this profile directly, which enables the default flow controller (that is, NO flow control) or use one of three profiles (Generic.KeepLastReliable.LargeData.*Flow) that use this profile as a common base profile. Each of those three profiles use one of the three flow controllers defined in DDS_PROFILE_GENERIC_PARTICIPANT_LARGE_DATA to throttle application data flow.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.KeepLastReliable.LargeData"

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_FAST_FLOW

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

This profile configures strictly reliable communication for large data with a 100 MB/sec (838 Mb/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB_EXP

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

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_MEDIUM_FLOW

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

This profile configures strictly reliable communication for large data with a 25 MB/sec (209 Mb/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB_EXP

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

const char* const DDS_PROFILE_GENERIC_STRICT_RELIABLE_LARGE_DATA_SLOW_FLOW

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

This profile configures strictly reliable communication for large data with a 6.25 MB/sec (52 Mb/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB_EXP

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

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.

This profile configures keep-last reliable communication for large data with a 100 MB/sec (838 Mb/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB_EXP

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

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.

This profile configures keep-last reliable communication for large data with a 25 MB/sec (209 Mb/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB_EXP

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

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.

This profile configures keep-last reliable communication for large data with a 6.25 MB/sec (52 Mb/sec) flow controller.

In Library: DDS_BUILTIN_QOS_LIB_EXP

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

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 DataWriter as long as the entity exists in order to deliver them to late-joining DataReaders.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Generic.KeepLastReliable.TransientLocal"

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_EXP

String-version: "Generic.KeepLastReliable.Transient"

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_EXP

String-version: "Generic.KeepLastReliable.Persistent"

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_EXP

String-version: "Generic.AutoTuning"

const char* const DDS_PROFILE_PATTERN_PERIODIC_DATA

Used for applications that expect periodic data.

This 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_EXP

String-version: "Pattern.PeriodicData"

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 profile, the application may lose data, which may be acceptable in use cases such as video conferencing.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.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 profile and increase the DDS_HistoryQosPolicy::depth to reduce the probability of losing samples.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.ReliableStreaming"

const char* const DDS_PROFILE_PATTERN_EVENT

Used for applications that handle events.

This 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 we do not want to lose the event. Thus, there is a need for strictly reliable communication. Therefore, we inherit from the DDS_PROFILE_GENERIC_STRICT_RELIABLE profile. Since events and alerts are critical and non-periodic data, it is important to detect situations in which communication between a DDSDataWriter and DDSDataReader is broken. This is why this profile sets the DDS_LivelinessQosPolicy. If the DDSDataWriter does not assert its liveliness in a timely manner, the DDSDataReader will report 'loss of liveliness' to the application.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.Event"

const char* const DDS_PROFILE_PATTERN_ALARM_EVENT

Used for applications which 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_EXP

String-version: "Pattern.AlarmEvent"

const char* const DDS_PROFILE_PATTERN_STATUS

Used for applications whose samples represent statuses.

This 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 profile or Pattern.PeriodicData can often be an application choice. For example, if a DataWriter is publishing temperature sensor data, it could use the Pattern.PeriodicData profile and publish the data at a fixed rate or it could use the Pattern.Status profile and only publish the temperature when it changes more than 1 degree.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.Status"

const char* const DDS_PROFILE_PATTERN_ALARM_STATUS

Used for applications in which samples represent alarm statuses.

In Library: DDS_BUILTIN_QOS_LIB_EXP

String-version: "Pattern.AlarmStatus"

const char* const DDS_PROFILE_PATTERN_LAST_VALUE_CACHE

Used for applications that only need the last published value.

With this profile, a DDSDataWriter 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 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_EXP

String-version: "Pattern.LastValueCache"


RTI Connext C++ API Version 5.1.0 Copyright © Mon Feb 3 2014 Real-Time Innovations, Inc