RTI Connext Modern C++ API Version 7.3.0
|
<<extension>> QoS libraries and profiles that are automatically built into RTI Connext. More...
<<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 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:
These names can also be used to look up the built-in QoS Profiles and QoS Snippets in the default QosProvider (dds::core::QosProvider::Default()), for example:
Note that the QoS Profile and QoS Snippets names also contain the library name. For example strict_reliable()
returns "BuiltinQosLib::Generic.StrictReliable"
The QoS Profiles and QoS Snippets are contained in three different libraries, in three namespaces:
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.
std::string rti::core::builtin_profiles::qos_lib::library_name | ( | ) |
A library of non-experimental QoS profiles.
String-version: "BuiltinQosLib"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Baseline"
std::string rti::core::builtin_profiles::qos_lib::baseline_5_0_0 | ( | ) |
The QoS default values for version 5.0.0.
String-version: "Baseline.5.0.0"
std::string rti::core::builtin_profiles::qos_lib::baseline_5_1_0 | ( | ) |
The QoS default values for version 5.1.0.
String-version: "Baseline.5.1.0"
std::string rti::core::builtin_profiles::qos_lib::baseline_5_2_0 | ( | ) |
The QoS default values for version 5.2.0.
String-version: "Baseline.5.2.0"
std::string rti::core::builtin_profiles::qos_lib::baseline_5_3_0 | ( | ) |
The QoS default values for version 5.3.0.
String-version: "Baseline.5.3.0"
std::string rti::core::builtin_profiles::qos_lib::baseline_6_0_0 | ( | ) |
The QoS default values for version 6.0.0.
String-version: "Baseline.6.0.0"
std::string rti::core::builtin_profiles::qos_lib::baseline_6_1_0 | ( | ) |
The QoS default values for version 6.1.0.
String-version: "Baseline.6.1.0"
std::string rti::core::builtin_profiles::qos_lib::baseline_7_0_0 | ( | ) |
The QoS default values for version 7.0.0.
String-version: "Baseline.7.0.0"
std::string rti::core::builtin_profiles::qos_lib::baseline_7_1_0 | ( | ) |
The QoS default values for version 7.1.0.
String-version: "Baseline.7.1.0"
std::string rti::core::builtin_profiles::qos_lib::generic_common | ( | ) |
A common Participant base profile.
All Generic.X and Pattern.X profiles inherit from this profile.
String-version: "Generic.Common"
std::string rti::core::builtin_profiles::qos_lib::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:
Legacy applications may use this QoS Profile via inheritance. To do this, create a derived QoS Profile that inherits from this one. For example:
String-version: "Generic.Monitoring.Common"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.ConnextMicroCompatibility"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.ConnextMicroCompatibility.2.4.9"
std::string rti::core::builtin_profiles::qos_lib::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::core::policy::LivelinessKind::MANUAL_BY_TOPIC LivelinessQos kind. In order to be compatible with these versions of RTI Connext Micro, the dds::sub::DataReader and dds::pub::DataWriter must have their Liveliness kind changed to this value because the default kind in RTI Connext is dds::core::policy::LivelinessKind::AUTOMATIC.
String-version: "Generic.ConnextMicroCompatibility.2.4.3"
std::string rti::core::builtin_profiles::qos_lib::generic_other_dds_vendor_compatibility | ( | ) |
Sets the values necessary to interoperate with other DDS vendors.
String-version: "Generic.OtherDDSVendorCompatibility"
std::string rti::core::builtin_profiles::qos_lib::generic_510_transport_compatibility | ( | ) |
Sets the values necessary to interoperate with RTI Connext 5.1.0 using the UDPv6 and/or SHMEM transports.
String-version: "Generic.510TransportCompatibility"
std::string rti::core::builtin_profiles::qos_lib::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:
Legacy applications may use this QoS Profile via inheritance. To do this, create a derived QoS Profile that inherits from this one. For example:
String-version: "Generic.Security"
std::string rti::core::builtin_profiles::qos_lib::generic_strict_reliable | ( | ) |
Enables strict reliability.
Configures communication to be "strict reliable" where every sample is reliably delivered.
Combines the use of the dds::core::policy::ReliabilityKind_def::RELIABLE for dds::core::policy::Reliability with a dds::core::policy::HistoryKind::KEEP_ALL for the dds::core::policy::HistoryKind.
This QoS Profile also optimizes the reliability protocol setting for this configuration.
String-version: "Generic.StrictReliable"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.KeepLastReliable"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.BestEffort"
std::string rti::core::builtin_profiles::qos_lib::generic_strict_reliable_high_throughput | ( | ) |
A profile that can be used to achieve high throughput.
This QoS Profile extends the rti::core::builtin_profiles::qos_lib::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 rti::core::builtin_profiles::qos_lib::generic_strict_reliable() QoS Profile..
String-version: "Generic.StrictReliable.HighThroughput"
std::string rti::core::builtin_profiles::qos_lib::generic_strict_reliable_low_latency | ( | ) |
A profile that can be used to achieve low latency.
This QoS Profile extends the rti::core::builtin_profiles::qos_lib::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 rti::core::builtin_profiles::qos_lib::generic_strict_reliable() QoS Profile.
String-version: "Generic.StrictReliable.LowLatency"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.Participant.LargeData"
std::string rti::core::builtin_profiles::qos_lib::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"
std::string rti::core::builtin_profiles::qos_lib::generic_strict_reliable_large_data | ( | ) |
Configures endpoints for sending large data with strict reliability.
This QoS Profile extends the rti::core::builtin_profiles::qos_lib::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 rti::core::builtin_profiles::qos_lib::generic_participant_large_data() in order to throttle application data flow.
String-version: "Generic.StrictReliable.LargeData"
std::string rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable_large_data | ( | ) |
Configures endpoints for sending large data with keep-last reliability.
This QoS Profile is similar to the rti::core::builtin_profiles::qos_lib::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 rti::core::builtin_profiles::qos_lib::generic_participant_large_data() in order to throttle application data flow.
String-version: "Generic.KeepLastReliable.LargeData"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.StrictReliable.LargeData.FastFlow"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.StrictReliable.LargeData.MediumFlow"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.StrictReliable.LargeData.SlowFlow"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.KeepLastReliable.LargeData.FastFlow"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.KeepLastReliable.LargeData.MediumFlow"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.KeepLastReliable.LargeData.SlowFlow"
std::string rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable_transient_local | ( | ) |
Persists the samples of a DataWriter as long as the entity exists.
This profile extends the rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable() profile, but persists the samples of a dds::pub::DataWriter as long as the entity exists in order to deliver them to late-joining DataReaders.
String-version: "Generic.KeepLastReliable.TransientLocal"
std::string rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable_transient | ( | ) |
Persists samples using RTI Persistence Service.
This profile extends the rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable() profile, but persists samples using Persistence Service in order to deliver them to late-joining DataReaders.
String-version: "Generic.KeepLastReliable.Transient"
std::string rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable_persistent | ( | ) |
Persists samples in permanent storage, like a disk, using RTI Persistence Service.
This profile extends the rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.KeepLastReliable.Persistent"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.AutoTuning"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.MinimalMemoryFootprint"
std::string rti::core::builtin_profiles::qos_lib::generic_monitoring2 | ( | ) |
The default QoS profile that the DDS entities created by the RTI Monitoring Library 2.0 use.
This profile inherits from rti::core::builtin_profiles::qos_lib::generic_minimal_memory_footprint().
The following DomainParticipant QoS policy of this profile cannot be modified and it is overwritten by the RTI Monitoring Library 2.0:
The following DataWriter and DataReader QoS policies of this profile cannot be modified and they are overwritten by the RTI Monitoring Library 2.0:
This profile uses Topic Filters to select the DataWriter and DataReader QoS depending on the Observability Distribution Topic.
You should be using this profile or a profile inheriting from it when you configure the distribution of telemetry data using the <distribution_settings> tag under <monitoring> for the <participant_factory_qos>.
Note: This profile does not enable the use of the RTI Monitoring Library 2.0. To do that you can use the Snippet rti::core::builtin_profiles::qos_snippet_lib::snippet_feature_monitoring2_enable().
String-version: "Generic.Monitoring2"
std::string rti::core::builtin_profiles::qos_lib::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.
String-version: "Pattern.PeriodicData"
std::string rti::core::builtin_profiles::qos_lib::pattern_streaming | ( | ) |
Used for applications that stream data.
The data sent in streaming applications is commonly periodic. Therefore this profile simply inherits from the rti::core::builtin_profiles::qos_lib::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.
String-version: "Pattern.Streaming"
std::string rti::core::builtin_profiles::qos_lib::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 rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable() QoS Profile and the following QoS Snippets:
This QoS Snippet also increases the dds::core::policy::History::depth to reduce the probability of losing samples.
String-version: "Pattern.ReliableStreaming"
std::string rti::core::builtin_profiles::qos_lib::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::pub::DataWriter and dds::sub::DataReader is broken. This is why this profile sets the dds::core::policy::Liveliness. If the dds::pub::DataWriter does not assert its liveliness in a timely manner, the dds::sub::DataReader will report 'loss of liveliness' to the application.
String-version: "Pattern.Event"
std::string rti::core::builtin_profiles::qos_lib::pattern_alarm_event | ( | ) |
Used for applications that handle alarm events.
An alarm is a type of event; therefore this profile simply inherits from rti::core::builtin_profiles::qos_lib::pattern_event().
String-version: "Pattern.AlarmEvent"
std::string rti::core::builtin_profiles::qos_lib::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 rti::core::builtin_profiles::qos_lib::pattern_periodic_data() can often be an application choice. For example, if a DataWriter is publishing temperature sensor data, it could use the rti::core::builtin_profiles::qos_lib::pattern_periodic_data() QoS Profile and publish the data at a fixed rate or it could use the rti::core::builtin_profiles::qos_lib::pattern_status() QoS Profile and only publish the temperature when it changes more than 1 degree.
String-version: "Pattern.Status"
std::string rti::core::builtin_profiles::qos_lib::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 rti::core::builtin_profiles::qos_lib::pattern_status().
String-version: "Pattern.AlarmStatus"
std::string rti::core::builtin_profiles::qos_lib::pattern_last_value_cache | ( | ) |
Used for applications that only need the last published value.
With this QoS Profile, a dds::pub::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 rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable_transient_local() because the use case requires delivery to late-joiners.
String-version: "Pattern.LastValueCache"
std::string rti::core::builtin_profiles::qos_lib_exp::library_name | ( | ) |
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"
std::string rti::core::builtin_profiles::qos_lib_exp::generic_strict_reliable | ( | ) |
Enables strict reliability.
Configures communication to be "strict reliable" where every sample is reliably delivered.
Combines the use of the dds::core::policy::ReliabilityKind_def::RELIABLE for dds::core::policy::Reliability with a dds::core::policy::HistoryKind::KEEP_ALL for the dds::core::policy::HistoryKind.
This QoS Profile also optimizes the reliability protocol setting for this configuration.
String-version: "Generic.StrictReliable"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Generic.KeepLastReliable"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Generic.BestEffort"
std::string rti::core::builtin_profiles::qos_lib_exp::generic_strict_reliable_high_throughput | ( | ) |
A profile that can be used to achieve high throughput.
This QoS Profile extends the rti::core::builtin_profiles::qos_lib::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 rti::core::builtin_profiles::qos_lib::generic_strict_reliable() QoS Profile..
String-version: "Generic.StrictReliable.HighThroughput"
std::string rti::core::builtin_profiles::qos_lib_exp::generic_strict_reliable_low_latency | ( | ) |
A profile that can be used to achieve low latency.
This QoS Profile extends the rti::core::builtin_profiles::qos_lib::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 rti::core::builtin_profiles::qos_lib::generic_strict_reliable() QoS Profile.
String-version: "Generic.StrictReliable.LowLatency"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Generic.Participant.LargeData"
std::string rti::core::builtin_profiles::qos_lib_exp::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"
std::string rti::core::builtin_profiles::qos_lib_exp::generic_strict_reliable_large_data | ( | ) |
Configures endpoints for sending large data with strict reliability.
This QoS Profile extends the rti::core::builtin_profiles::qos_lib::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 rti::core::builtin_profiles::qos_lib::generic_participant_large_data() in order to throttle application data flow.
String-version: "Generic.StrictReliable.LargeData"
std::string rti::core::builtin_profiles::qos_lib_exp::generic_keep_last_reliable_large_data | ( | ) |
Configures endpoints for sending large data with keep-last reliability.
This QoS Profile is similar to the rti::core::builtin_profiles::qos_lib::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 rti::core::builtin_profiles::qos_lib::generic_participant_large_data() in order to throttle application data flow.
String-version: "Generic.KeepLastReliable.LargeData"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Generic.StrictReliable.LargeData.FastFlow"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Generic.StrictReliable.LargeData.MediumFlow"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Generic.StrictReliable.LargeData.SlowFlow"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Generic.KeepLastReliable.LargeData.FastFlow"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Generic.KeepLastReliable.LargeData.MediumFlow"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Generic.KeepLastReliable.LargeData.SlowFlow"
std::string rti::core::builtin_profiles::qos_lib_exp::generic_keep_last_reliable_transient_local | ( | ) |
Persists the samples of a DataWriter as long as the entity exists.
This profile extends the rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable() profile, but persists the samples of a dds::pub::DataWriter as long as the entity exists in order to deliver them to late-joining DataReaders.
String-version: "Generic.KeepLastReliable.TransientLocal"
std::string rti::core::builtin_profiles::qos_lib_exp::generic_keep_last_reliable_transient | ( | ) |
Persists samples using RTI Persistence Service.
This profile extends the rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable() profile, but persists samples using Persistence Service in order to deliver them to late-joining DataReaders.
String-version: "Generic.KeepLastReliable.Transient"
std::string rti::core::builtin_profiles::qos_lib_exp::generic_keep_last_reliable_persistent | ( | ) |
Persists samples in permanent storage, like a disk, using RTI Persistence Service.
This profile extends the rti::core::builtin_profiles::qos_lib::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.
String-version: "Generic.KeepLastReliable.Persistent"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Generic.AutoTuning"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Generic.MinimalMemoryFootprint"
std::string rti::core::builtin_profiles::qos_lib_exp::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.
String-version: "Pattern.PeriodicData"
std::string rti::core::builtin_profiles::qos_lib_exp::pattern_streaming | ( | ) |
Used for applications that stream data.
The data sent in streaming applications is commonly periodic. Therefore this profile simply inherits from the rti::core::builtin_profiles::qos_lib::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.
String-version: "Pattern.Streaming"
std::string rti::core::builtin_profiles::qos_lib_exp::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 rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable() QoS Profile and the following QoS Snippets:
This QoS Snippet also increases the dds::core::policy::History::depth to reduce the probability of losing samples.
String-version: "Pattern.ReliableStreaming"
std::string rti::core::builtin_profiles::qos_lib_exp::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::pub::DataWriter and dds::sub::DataReader is broken. This is why this profile sets the dds::core::policy::Liveliness. If the dds::pub::DataWriter does not assert its liveliness in a timely manner, the dds::sub::DataReader will report 'loss of liveliness' to the application.
String-version: "Pattern.Event"
std::string rti::core::builtin_profiles::qos_lib_exp::pattern_alarm_event | ( | ) |
Used for applications that handle alarm events.
An alarm is a type of event; therefore this profile simply inherits from rti::core::builtin_profiles::qos_lib::pattern_event().
String-version: "Pattern.AlarmEvent"
std::string rti::core::builtin_profiles::qos_lib_exp::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 rti::core::builtin_profiles::qos_lib::pattern_periodic_data() can often be an application choice. For example, if a DataWriter is publishing temperature sensor data, it could use the rti::core::builtin_profiles::qos_lib::pattern_periodic_data() QoS Profile and publish the data at a fixed rate or it could use the rti::core::builtin_profiles::qos_lib::pattern_status() QoS Profile and only publish the temperature when it changes more than 1 degree.
String-version: "Pattern.Status"
std::string rti::core::builtin_profiles::qos_lib_exp::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 rti::core::builtin_profiles::qos_lib::pattern_status().
String-version: "Pattern.AlarmStatus"
std::string rti::core::builtin_profiles::qos_lib_exp::pattern_last_value_cache | ( | ) |
Used for applications that only need the last published value.
With this QoS Profile, a dds::pub::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 rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable_transient_local() because the use case requires delivery to late-joiners.
String-version: "Pattern.LastValueCache"
std::string rti::core::builtin_profiles::qos_snippet_lib::library_name | ( | ) |
A library of QoS Snippets.
String-version: "BuiltinQosSnippetLib"
std::string rti::core::builtin_profiles::qos_snippet_lib::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 rti::core::RtpsReliableWriterProtocol::max_heartbeat_retries, which works in combination with the heartbeat rate to determine when the dds::pub::DataWriter considers a dds::sub::DataReader non-responsive. This QoS Snippet configures the rti::core::policy::DataWriterProtocol::rtps_reliable_writer parameters so that the dds::pub::DataWriter considers the dds::sub::DataReader to be "inactive" after 500 unresponded heartbeats.
String-version: "Optimization.ReliabilityProtocol.Common"
std::string rti::core::builtin_profiles::qos_snippet_lib::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::pub::DataWriter reliable protocol parameters for a reliable dds::pub::DataWriter with dds::core::policy::HistoryKind set to dds::core::policy::HistoryKind::KEEP_ALL.
Modified QoS Parameters:
Note that this QoS Snippet does not configure the dds::core::policy::Reliability or dds::core::policy::History QoS policies. It is intended to be used in combination with other QoS Snippets that configure those policies.
String-version: "Optimization.ReliabilityProtocol.KeepAll"
std::string rti::core::builtin_profiles::qos_snippet_lib::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::pub::DataWriter reliable protocol parameters for a reliable dds::pub::DataWriter with dds::core::policy::HistoryKind set to dds::core::policy::HistoryKind::KEEP_LAST.
Modified QoS Parameters:
Note that this QoS Snippet does not configure the dds::core::policy::Reliability or dds::core::policy::History QoS policies. It is intended to be used in combination with other QoS Snippets that configure those policies.
String-version: "Optimization.ReliabilityProtocol.KeepLast"
std::string rti::core::builtin_profiles::qos_snippet_lib::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::pub::DataWriter reliable protocol parameters for a reliable dds::pub::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 rti::core::builtin_profiles::qos_lib::generic_strict_reliable_high_throughput() for further information.
String-version: "Optimization.ReliabilityProtocol.HighRate"
std::string rti::core::builtin_profiles::qos_snippet_lib::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 rti::core::builtin_profiles::qos_lib::generic_strict_reliable_low_latency() for further information.
String-version: "Optimization.ReliabilityProtocol.LowLatency"
std::string rti::core::builtin_profiles::qos_snippet_lib::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, rti::core::builtin_profiles::qos_lib::generic_keep_last_reliable_large_data(), and derivatives for fully functional Large Data QoS Profiles.
String-version: "Optimization.ReliabilityProtocol.LargeData"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_optimization_reliability_protocol_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.
String-version: "Optimization.DataCache.LargeData.DynamicMemAlloc"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_optimization_discovery_common | ( | ) |
QoS Snippet that optimizes discovery with a common configuration.
Optimizes the dds::domain::qos::DomainParticipantQos to detect faster discovery changes. This QoS Snippet increases the speed moderately so that it fits the normal scenarios.
Modified QoS Parameters:
String-version: "Optimization.Discovery.Common"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_optimization_discovery_participant_compact | ( | ) |
QoS Snippet that optimizes the Participant QoS to send less discovery information.
Modified QoS Parameters:
String-version: "Optimization.Discovery.Participant.Compact"
std::string rti::core::builtin_profiles::qos_snippet_lib::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:
String-version: "Optimization.Discovery.Endpoint.Fast"
std::string rti::core::builtin_profiles::qos_snippet_lib::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:
String-version: "Optimization.Transport.LargeBuffers"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_qos_policy_reliability_reliable | ( | ) |
QoS Snippet that sets RELIABILITY QoS to RELIABLE.
This also configures a blocking time in case the dds::pub::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::pub::DataWriter and/or dds::sub::DataReader can be configured to override samples in its cache based on the configuration of the dds::core::policy::History QoS policy.
To ensure delivery of every sample (at the expense of potentially blocking the dds::pub::DataWriter), use the QoS Profile rti::core::builtin_profiles::qos_lib::generic_strict_reliable() or one of the derived QoS Profiles.
String-version: "QosPolicy.Reliability.Reliable"
std::string rti::core::builtin_profiles::qos_snippet_lib::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.
String-version: "QosPolicy.Reliability.BestEffort"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_qos_policy_history_keep_last_1 | ( | ) |
QoS Snippet that sets HISTORY QoS to KEEP_LAST kind with depth 1.
Modified QoS Parameters:
String-version: "QosPolicy.History.KeepLast_1"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_qos_policy_history_keep_all | ( | ) |
QoS Snippet that sets HISTORY QosPolicy to KEEP_ALL kind.
Modified QoS Parameters:
String-version: "QosPolicy.History.KeepAll"
std::string rti::core::builtin_profiles::qos_snippet_lib::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::pub::DataWriter "write" operation from the thread used to send the data on the network. See https://community.rti.com/glossary/asynchronous-writer
String-version: "QosPolicy.PublishMode.Asynchronous"
std::string rti::core::builtin_profiles::qos_snippet_lib::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::pub::DataWriter still exists. For this setting to be effective, you must also set the dds::core::policy::ReliabilityKind_def to dds::core::policy::ReliabilityKind_def::RELIABLE (not Best Effort). Which particular DDS samples are kept depends on other QoS settings such as dds::core::policy::History and dds::core::policy::ResourceLimits.
String-version: "QosPolicy.Durability.TransientLocal"
std::string rti::core::builtin_profiles::qos_snippet_lib::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::core::policy::History and dds::core::policy::ResourceLimits of the Persistence Service DataWriters. These QosPolicies can be configured in the Persistence Service configuration file or through the dds::core::policy::DurabilityKind of the DataWriters configured with dds::core::policy::DurabilityKind::TRANSIENT.
You need a Persistence Service instance running to use this behavior.
String-version: "QosPolicy.Durability.Transient"
std::string rti::core::builtin_profiles::qos_snippet_lib::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::core::policy::History and dds::core::policy::ResourceLimits in the Persistence Service DataWriters. These QosPolicies can be configured in the Persistence Service configuration file or through the dds::core::policy::DurabilityKind of the DataWriters configured with dds::core::policy::DurabilityKind::PERSISTENT.
You need a Persistence Service instance running to use this behavior.
String-version: "QosPolicy.Durability.Persistent"
std::string rti::core::builtin_profiles::qos_snippet_lib::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.
String-version: "QosPolicy.Batching.Enable"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_qos_policy_flow_controller_838mbps | ( | ) |
QoS Snippet that configures and set a FlowController of 838 Mbps.
Defines a rti::pub::FlowController and configures the dds::pub::qos::DataWriterQos with it.
This is a rti::pub::FlowController of 838 Mbps (~ 100 MB/sec)
Modified QoS Parameters:
String-version: "Feature.FlowController.838Mbps"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_qos_policy_flow_controller_209mbps | ( | ) |
QoS Snippet that configures and sets a FlowController of 209 Mbps.
Defines a rti::pub::FlowController and configures the dds::pub::qos::DataWriterQos with it.
This is a rti::pub::FlowController of 209 Mbps (~ 25 MB/sec)
Modified QoS Parameters:
String-version: "Feature.FlowController.209Mbps"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_qos_policy_flow_controller_52mbps | ( | ) |
QoS Snippet that configures and sets a FlowController of 52 Mbps.
Defines a rti::pub::FlowController and configures the dds::pub::qos::DataWriterQos with it.
This is a rti::pub::FlowController of 52 Mbps (~ 6.25 MB/sec)
Modified QoS Parameters:
String-version: "Feature.FlowController.52Mbps"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_feature_auto_tuning_enable | ( | ) |
QoS Snippet that enables auto_throttle and turbo_mode to true.
Sets the dds::domain::qos::DomainParticipantQos properties to enable auto_throttle and turbo_mode to true.
Modified QoS Parameters:
The domain_participant.auto_throttle configures the dds::domain::DomainParticipant to gather internal measurements (during dds::domain::DomainParticipant creation) that are required for the Auto Throttle feature. This allows DataWriters belonging to this dds::domain::DomainParticipant to use the Auto Throttle feature.
The turbo_mode adjusts the batch max_data_bytes based on how frequently the dds::pub::DataWriter writes data.
Data_writer.auto_throttle enables automatic throttling in the dds::pub::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.
String-version: "Feature.AutoTuning.Enable"
std::string rti::core::builtin_profiles::qos_snippet_lib::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::domain::DomainParticipant. For example:
String-version: "Feature.Monitoring.Enable"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_feature_monitoring2_enable | ( | ) |
QoS Snippet that enables the use of the RTI Monitoring Library 2.0.
QoS Snippet to enable the use of the RTI Monitoring Library 2.0 with a dedicated DomainParticipant publishing telemetry data from your application in domain ID 2. All metrics are enabled for all resources in this profile.
To enable the use of RTI Monitoring Library 2.0, apply this QoS Snippet to the QoS Profile used to create your DomainParticipantFactory. For example:
String-version: "Feature.Monitoring2.Enable"
std::string rti::core::builtin_profiles::qos_snippet_lib::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::domain::DomainParticipant. For example:
String-version: "Feature.Security.Enable"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_feature_topic_query_enable | ( | ) |
QoS Snippet that enables Topic Query.
To enable the use of the RTI Connext rti::sub::TopicQuery feature, apply this QoS Snippet to the QoS Profile used to create your dds::pub::DataWriter. For example:
For more information on Topic Query see the "Topic Queries" chapter in the User's Manual.
String-version: "Feature.TopicQuery.Enable"
std::string rti::core::builtin_profiles::qos_snippet_lib::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:
This modification should be done in the QoS Profile that will be used to create the dds::core::Entity. These new values will overwrite the current invalid values.
String-version: "Transport.TCP.LAN.Client"
std::string rti::core::builtin_profiles::qos_snippet_lib::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:
This modification should be done in the QoS Profile that will be used to create the dds::core::Entity. These new values will overwrite the current invalid values.
String-version: "Transport.TCP.WAN.Symmetric.Client"
std::string rti::core::builtin_profiles::qos_snippet_lib::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::core::Entity. These new values will overwrite the current invalid values.
String-version: "Transport.TCP.WAN.Asymmetric.Server"
std::string rti::core::builtin_profiles::qos_snippet_lib::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 (rti::core::builtin_profiles::qos_snippet_lib::snippet_transport_tcp_wan_asymmetric_server()). This modification should be done in the QoS Profile that will be used to create the dds::core::Entity. This new value will overwrite the current invalid value.
String-version: "Transport.TCP.WAN.Asymmetric.Client"
std::string rti::core::builtin_profiles::qos_snippet_lib::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.
String-version: "Transport.UDP.AvoidIPFragmentation"
std::string rti::core::builtin_profiles::qos_snippet_lib::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.
String-version: "Transport.UDP.WAN"
std::string rti::core::builtin_profiles::qos_snippet_lib::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::sub::qos::DataReaderQos and dds::pub::qos::DataWriterQos dds::core::policy::LivelinessKind to dds::core::policy::LivelinessKind::MANUAL_BY_TOPIC It also disables the built-in shared memory transport.
Modified QoS Parameters:
RTI Connext Micro versions 2.4.3 and earlier only supported dds::core::policy::LivelinessKind::MANUAL_BY_TOPIC dds::core::policy::LivelinessKind. In order to be compatible with RTI Connext Micro 2.4.3, the dds::sub::DataReader and dds::pub::DataWriter must have their dds::core::policy::LivelinessKind changed to this value because the default kind in RTI Connext is dds::core::policy::LivelinessKind::AUTOMATIC.
String-version: "Compatibility.ConnextMicro.Version243"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_compatibility_other_dds_vendors_enable | ( | ) |
QoS Snippet that configures RTI Connext to interoperate with other DDS vendors.
String-version: "Compatibility.OtherDDSVendor.Enable"
std::string rti::core::builtin_profiles::qos_snippet_lib::snippet_compatibility_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.
String-version: "Compatibility.510Transport.Enable"