8. Migrating from Connext Professional¶
In some cases, it may be necessary to write an application that is compiled against both Connext Micro, Connext Cert, and Connext Professional. In general this is not easy to do because Connext Micro and Connext Cert support a very limited set of features compared to Connext Professional. However, while Connext Cert is subset of Connext Micro, it is relatively easy to write applications that support both.
Due to the nature of the DDS API and the philosophy of declaring behavior through QoS profiles instead of using different APIs, it may be possible to share common code. In particular, Connext Professional supports configuration through QoS profile files, which eases the job of writing portable code.
Note that Connext Professional supports many extended APIs that are not covered by the DDS specification; for example, APIs that create DDS Entities based on QoS profiles.
8.1. Supported DDS Features¶
Connext Micro supports a subset of the DDS DCPS standard. For a detailed list of supported Entities and QoS policies, please refer to the C API Reference and C++ API Reference.
8.2. Development Environment¶
There are no conflicts between Connext Micro and Connext Professional with respect to library names, header files, etc. It is advisable to keep the two installations separate, which is the normal case.
Connext Micro uses the environment variable RTIMEHOME to locate the root of the Connext Micro installation.
Connext Professional uses the environment variable NDDSHOME to locate the root of the Connext Professional installation.
8.3. Non-standard APIs¶
The DDS specification omits many APIs and policies necessary to configure a DDS application, such as transport, discovery, memory, logging, etc. In general, Connext Micro and Connext Professional do not share APIs for these functions.
It is recommended to configure Connext Professional using QoS profiles as much as possible.
8.4. QoS Policies¶
QoS policies defined by the DDS standard behave the same between Connext Micro and Connext Professional. However, note that Connext Micro does not always support all the values for a policy and in particular unlimited resources are not supported.
Unsupported QoS policies are the most likely reason for not being able to switch between Connext Micro and Connext Professional.
8.5. Standard APIs¶
APIs that are defined by the standard behave the same between Connext Micro and Connext Professional.
8.6. IDL Files¶
Connext Micro and Connext Professional use the same IDL compiler (rtiddsgen) and Connext Micro typically ships with the latest version. However, Connext Micro and Connext Professional use different templates to generate code and it is not possible to share the generated code. Thus, while the same IDL can be used, the generated output must be saved in different locations.