About this Document

Paths Mentioned in Documentation

The documentation refers to:

  • <NDDSHOME>
  • This refers to the installation directory for RTI® Connext®. The default installation paths are:

    • macOS® systems:
      /Applications/rti_connext_dds-7.0.0
    • Linux systems, non-root user:
      /home/<your user name>/rti_connext_dds-7.0.0
    • Linux systems, root user:
      /opt/rti_connext_dds-7.0.0
    • Windows® systems, user without Administrator privileges:
      <your home directory>\rti_connext_dds-7.0.0
    • Windows systems, user with Administrator privileges:
      C:\Program Files\rti_connext_dds-7.0.0

    You may also see $NDDSHOME or %NDDSHOME%, which refers to an environment variable set to the installation path.

    Wherever you see <NDDSHOME> used in a path, replace it with your installation path.

    Note for Windows Users: When using a command prompt to enter a command that includes the path C:\Program Files (or any directory name that has a space), enclose the path in quotation marks. For example:

    “C:\Program Files\rti_connext_dds-7.0.0\bin\rtiddsgen”

    Or if you have defined the NDDSHOME environment variable:

    “%NDDSHOME%\bin\rtiddsgen” 
  • <path to examples>
  • By default, examples are copied into your home directory the first time you run RTI Launcher or any script in <NDDSHOME>/bin. This document refers to the location of the copied examples as <path to examples>.

    Wherever you see <path to examples>, replace it with the appropriate path.

    Default path to the examples:

    • macOS systems: /Users/<your user name>/rti_workspace/7.0.0/examples
    • Linux systems: /home/<your user name>/rti_workspace/7.0.0/examples
    • Windows systems: <your Windows documents folder>\rti_workspace\7.0.0\examples
    • Where 'your Windows documents folder' depends on your version of Windows. For example, on Windows 10, the folder is C:\Users\<your user name>\Documents.

    Note: You can specify a different location for rti_workspace. You can also specify that you do not want the examples copied to the workspace. For details, see Controlling Location for RTI Workspace and Copying of Examples in the RTI Connext Installation Guide.

Programming Language Conventions

The terminology and example code in this manual assume you are using Traditional C++ without namespace support.

C, Modern C++, C#, and Java APIs are also available; they are fully described in the API Reference HTML documentation. (Note: the Modern C++ API is not available for all platforms, check the RTI Connext Core Libraries Platform Notes to see if it is available for your platform.)

Namespace support in Traditional C++, and C# is also available; see the API Reference HTML documentation (from the Modules page, select Using DDS:: Namespace) for details. In the Modern C++ API all types, constants and functions are always in namespaces.

Traditional vs. Modern C++

Connext provides two different C++ APIs, which we refer to as the "Traditional C++" and "Modern C++" APIs. They provide substantially different programming paradigms and patterns. The Traditional API could be considered as simply "C with classes," while the Modern API incorporates modern C++ techniques, most notably:

  • Generic programming
  • Integration with the standard library
  • Automatic object lifecycle management, providing full value types and reference types
  • C++11 support, such as move operations, initializer lists, and support for range for-loops.

These different programming styles make the Modern C++ API differ significantly with respect to the other language APIs in several aspects; to name a few:

This manual points out these kinds of differences whenever they are substantial.

Extensions to the DDS Standard

Connext implements the DDS Standard published by the OMG. It also includes features that are extensions to DDS. These include additional Quality of Service parameters, function calls, structure fields, etc.

Extensions also include product-specific APIs that complement the DDS API. These include APIs to create and use transport plug-ins, and APIs to control the verbosity and logging capabilities. These APIs are prefixed with NDDS, such as NDDSTransportSupport::register_transport().

Environment Variables

Connext documentation refers to path names that have been customized during installation. NDDSHOME refers to the installation directory of Connext.

Names of Supported Platforms

Connext runs on several different target platforms. To support this vast array of platforms, Connext separates the executable, library, and object files for each platform into individual directories.

Each platform name has four parts: hardware architecture, operating system, operating system version and compiler. For example, x64Linux2.6gcc4.4.5 is the directory that contains files specific to Linux® version 2.6 for the x64 Intel processor, compiled with gcc version 4.4.5.

For a full list of supported platforms, see the Supported Platforms for Compiler-Dependent Products, in the RTI Connext Core Libraries Release Notes.

Additional Resources

The details of each API (such as function parameters, return values, etc.) and examples are in the API Reference HTML documentation. In case of discrepancies between the information in this document and the API Reference HTML documentation, the latter should be considered more up-to-date.