7.4. Connext DDS features

Because RTI Connector is a simplified API, it provides access to a subset of the features in RTI Connext DDS.

In addition to the functionality described in the rest of this documentation, this section summarizes the support that Connector provides for some notable Connext DDS features.

7.4.1. General features

General Features
Feature Level of support Notes
Quality of Service (QoS) Partial

Most QoS policies are supported because they can be configured in XML, but those that are designed to be mutable can’t be changed in Connector. QoS policies that require a supporting API may have limited or no support.

A few examples of QoS policies that are fully supported in Connector:

  • Reliability
  • Durability
  • History
  • Ownership

A few examples of QoS policies that are supported but can’t be changed in Connector even though they are mutable by design and changeable in other APIs:

  • Partition
  • Lifespan
  • Ownership Strength
  • Property and User Data
  • Time-Based Filter

A few examples of QoS policies that have limited support because they require a supporting API that is not available in Connector:

  • Batch - fully supported except that manual flushing is not available
  • Entity Factory - autoenable_created_entities can be set to false only for a subscriber, in order to enable an Input only when Connector.get_input() is called.
  • Property - Properties can be set in XML, but they can’t be looked up in Connector

Topic Qos is not supported in Connector. Use DataReader QoS and DataWriter QoS directly.

Entity Statuses Partial Only Input.wait() (data available), Input.wait_for_publications(), and Output.wait_for_subscriptions() are supported.
Managing Data Instances Partial On an Output, it is possible to dispose or unregister an instance (see Output.write()). Instances are automatically registered when first written. On an Input the instance state can be obtained, alongside the key fields of a disposed instance (see Accessing key values of disposed samples). Instance handles are not exposed.
Application Acknowledgment Partial

DDS_APPLICATION_AUTO_ACKNOWLEDGMENT_MODE is supported. If enabled, when a call to Input.take() or Input.read() is followed by another call, the second one automatically acknowledges the samples read in the first one.

DDS_APPLICATION_EXPLICIT_ACKNOWLEDGMENT_MODE is not supported.

Request-Reply Partial

The correlation between two samples can be established at the application level:

  • The Requester application writes by calling Output.write() with the parameter identity=A (the request sample)
  • The Replier application receives the request sample, obtains the identity (A), from “SampleIterator.info and writes a new sample with related_sample_identity=A (the reply sample)
  • The Requester application receives the reply sample, and correlates the related_sample_identity from SampleIterator.info with the identity it used in the first step.
Topic Queries Partial Input doesn’t have the API to create a TopicQuery, but in the configuration file a data_writer can enable support for TopicQuery so other Connext DDS Subscribers can query the Connector Publisher.
Zero Copy Transfer Over Shared Memory Not supported Only available in C and C++.
Built-in Topics Not supported API not available.
Transport Plugins Partial The built-in transports can be configured in XML.
Add-on Libraries (such as Monitoring, Security Plugins ) Supported See Loading Connext DDS Add-On Libraries.

7.4.5. Loading Connext DDS Add-On Libraries

Connector supports features that require the loading of additional Connext DDS libraries, such as Monitoring and Security Plugins.

The Monitoring and Security plugins are configured in XML, as described in the previous links.

To use RTI Connext DDS add-ons you need an RTI Connext DDS installation. To configure your environment so that Connector can load these additional libraries:

  • Set your environment using:

    $ source <Connext DDS installation directory>/resource/scripts/rtisetenv_<architecture>.bash
    

    or:

    > <Connext DDS installation directory>\resource\scripts\rtisetenv_<architecture>.bat
    
  • Or set your system’s library path to:

    <Connext DDS installation directory>\lib\<architecture>\