RTI Connext Modern C++ API
Version 5.2.0
|
<<extension>> QoS libraries and profiles that are automatically built into RTI Connext. More...
Functions | |
std::string | rti::core::builtin_profiles::qos_lib::library_name () |
A library of non-experimental QoS profiles. | |
std::string | rti::core::builtin_profiles::qos_lib::baseline () |
The most up-to-date QoS default values. | |
std::string | rti::core::builtin_profiles::qos_lib::baseline_5_0_0 () |
The QoS default values for version 5.0.0. | |
std::string | rti::core::builtin_profiles::qos_lib::baseline_5_1_0 () |
The QoS default values for version 5.1.0. | |
std::string | rti::core::builtin_profiles::qos_lib::baseline_5_2_0 () |
The QoS default values for version 5.2.0. | |
std::string | rti::core::builtin_profiles::qos_lib::generic_common () |
A common Participant base profile. | |
std::string | rti::core::builtin_profiles::qos_lib::generic_monitoring_common () |
Enables RTI Monitoring Library. | |
std::string | rti::core::builtin_profiles::qos_lib::generic_connext_micro_compatibility () |
Sets the values necessary to communicate with RTI Connext Micro. | |
std::string | rti::core::builtin_profiles::qos_lib::generic_other_dds_vendor_compatibility () |
Sets the values necessary to interoperate with other DDS vendors. | |
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. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::library_name () |
A library of experimental QoS profiles. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::generic_strict_reliable () |
Enables strict reliability. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::generic_keep_last_reliable () |
Enables keep-last reliability. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::generic_best_effort () |
Enables best-effort reliability. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::generic_strict_reliable_high_throughput () |
A profile that can be used to achieve high throughput. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::generic_strict_reliable_low_latency () |
A profile that can be used to achieve low latency. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::generic_participant_large_data () |
A common Participant base profile to facilitate sending large data. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::generic_participant_large_data_monitoring () |
Configures Participants for large data and monitoring. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::generic_strict_reliable_large_data () |
Configures endpoints for sending large data with strict reliability. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::generic_keep_last_reliable_transient () |
Persists samples using RTI Persistence Service. | |
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. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::generic_auto_tuning () |
Enables the Turbo Mode batching and Auto Throttle experimental features. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::pattern_periodic_data () |
Used for applications that expect periodic data. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::pattern_streaming () |
Used for applications that stream data. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::pattern_reliable_streaming () |
Used for applications that stream data and require reliable communication. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::pattern_event () |
Used for applications that handle events. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::pattern_alarm_event () |
Used for applications which handle alarm events. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::pattern_status () |
Used for applications whose samples represent statuses. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::pattern_alarm_status () |
Used for applications in which samples represent alarm statuses. | |
std::string | rti::core::builtin_profiles::qos_lib_exp::pattern_last_value_cache () |
Used for applications that only need the last published value. | |
<<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:
These names can also be used to look up the built-in QoS profiles in the default QosProvider (dds::core::QosProvider::Default()), for example:
Note that the profile names also contain the library name. For example strict_reliable()
returns "BuiltinQosLib::Generic.StrictReliable"
There profiles are contained in two different libraries, in two namespaces: rti::core::builtin_profiles::qos_lib, and rti::core::builtin_profiles::qos_lib_exp
All the built-in profiles 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::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.
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:
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.
RTI Connext Micro only supports the dds::core::policy::LivelinessKind::MANUAL_BY_TOPIC LivelinessQos kind. In order to be compatible with 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"
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_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.
String-version: "BuiltinQosLibExp"
std::string rti::core::builtin_profiles::qos_lib_exp::generic_strict_reliable | ( | ) |
Enables strict reliability.
This profile guarantees delivery of every published sample. Samples will not be overwritten, regardless of the dds::core::policy::History::depth. Strict reliability ensures in-order delivery and retransmission of lost samples.
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.
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.
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 profile extends the PROFILE_GENERIC_STRICT_RELIABLE 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.
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 profile extends the PROFILE_GENERIC_STRICT_RELIABLE 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.
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 profile that configures three flow controllers (fast, medium, and slow). Each one can 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 profile to configure participants to handle large data and use RTI Monitoring Library.
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 profile extends the 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 PROFILE_GENERIC_PARTICIPANT_LARGE_DATA 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 profile is similar to the 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 PROFILE_GENERIC_PARTICIPANT_LARGE_DATA 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.
This profile configures strictly reliable communication for large data with a 100 MB/sec (838 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.
This profile configures strictly reliable communication for large data with a 25 MB/sec (209 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.
This profile configures strictly reliable communication for large data with a 6.25 MB/sec (52 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.
This profile configures keep-last reliable communication for large data with a 100 MB/sec (838 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.
This profile configures keep-last reliable communication for large data with a 25 MB/sec (209 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.
This profile configures keep-last reliable communication for large data with a 6.25 MB/sec (52 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 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.
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 PROFILE_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 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.
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::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.
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 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.
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 PROFILE_GENERIC_KEEP_LAST_RELIABLE profile and increase 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 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 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 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 which handle alarm events.
An alarm is a type of event; therefore this profile simply inherits from PROFILE_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 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.
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.
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 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 profile inherits from PROFILE_GENERIC_KEEP_LAST_RELIABLE_TRANSIENT_LOCAL because the use case requires delivery to late-joiners.
String-version: "Pattern.LastValueCache"