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 RTI Connector provides for some notable RTI 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.getInput() 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.waitForPublications(), Output.waitForSubscriptions() 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 RTI 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 (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>\
    

Note

Each version of Connector can only load add-on libraries from its corresponding Connext DDS release. You can see this correspondence in the Release Notes. For example, Connector 1.1.0 can only load Connext DDS 6.1.0 add-on libraries.