3.8. RTI Routing Service¶
The following issues affect backward compatibility in Routing Service.
3.8.1. Application Binary Interface¶
184.108.40.206. Service Library¶
The Routing Service Library does not provide ABI compatibility. Applications and libraries that linked against previous versions of this library are not guaranteed to work in 6.0.0. Applications and libraries that linked against this library will need to be recompiled. See Section 3.1.1.
220.127.116.11. Infrastructure Library¶
The Routing Service Infrastructure Library does not provide ABI compatibility. Applications and libraries (usually Adapters and Transformation plug-ins) that linked against previous versions of this library are not guaranteed to work in 6.0.0. Applications and libraries that linked against this library will need to be recompiled. See Section 3.1.1.
18.104.22.168. Adapter API¶
The Routing Service Adapter C API has changed, and existing implementations are required to be recompiled. These changes are minimal and should not affect the API interface. Therefore, existing Adapter implementation code should recompile with no additional changes.
22.214.171.124. Service API¶
The Routing Service Service C API has changed, and existing applications that use this API are required to be recompiled. These changes are minimal and should not affect the API interface. Therefore, existing applications and libraries using the Service API should recompile with no additional changes.
126.96.36.199. XSD compatibility¶
The Routing Service XSD definition no longer allows the use of tags
<connection_2> that could
<domain_route>. Instead, these tags should be replaced with
<participant>` and ``<connection> tags, which now receive a name.
For example the following legacy XML is no longer valid:
<domain_route> <participant_1>...</participant_1> <connection_2>...</connection_2> </domain_route>
Instead, the equivalent and compatible XML code is shown as follows:
<domain_route> <participant name="1">...</participant> <connection name="2">...</connection> </domain_route>
The command-line version of Routing Service incorporates an option to convert legacy XML
configuration files to their equivalent compliant version. Look for the
-convertLegacyXml in the command-line help.
For example, the following command will convert an existing legacy file with
routerLegacy.xml and generate a new file with the name
routerConverted.xml in the same directory:
[NDDSHOME]/bin/rtiroutingservice \ -cfgFile routerLegacy.xml -convertLegacyXml routerConverted.xml
188.8.131.52. XML Validation¶
Routing Service incorporates builtin XSD validation of XML configuration files. Routing Service will fail to load non-compliant XML configuration files. You will need to update your XML configuration files (see Section 184.108.40.206) to be compliant with the new definitions.
As a temporary workaround, you can disable XSD validation by using the
-ignoreXsdValidation in the command-line version of Routing Service or by
enforce_xsd_validation to false in the library version of Routing Service.
This workaround is not recommended and should be used only for testing
purposes during the migration process.
3.8.4. Administration and Monitoring¶
220.127.116.11. New models¶
The Routing Service remote administration and monitoring interfaces (including DDS topics and command-syntax) have been redesigned. They are no longer compatible with the interfaces from previous releases. Any applications that used the legacy interfaces to administer or monitor Routing Service will no longer communicate and will need to be updated to use the new interfaces. See Remote Administration in the Routing Service User’s Manual. See Monitoring in the Routing Service User’s Manual.
RTI Administration Console has been updated to use the new administration and monitoring interfaces, so it will use the new DDS model and commands to communicate with Routing Service.
18.104.22.168. “Ignore” warnings¶
If WARNINGs are enabled, you may receive the following warning in Routing Service saying that you are ignoring a participant even though you are not ignoring it:
DISCParticipantDiscoveryPlugin_assertRemoteParticipant:remote entity ignored by user: 0X1017E82,0XD1817B1C,0X80642BE7,0X1C1
This warning is reported when the administration/monitoring participant uses the same domain ID as one of the Routing Service participants. In this case, the administration/monitoring participant will not communicate with the Routing Service participant.
This warning is intended (new) behavior in 6.0.0. You may see this warning if you are migrating to 6.0.0 using the same domain ID configuration as in 5.3.1. If you change the domain ID of the administration/monitoring participant, the warning will not occur and the participant will not be ignored.
Routing Service has not made any changes to the entities’ QoS with regards to previous versions. See Section 3.1.4 for QoS changes in the Core Libraries that may affect Routing Service.
For very small data sizes (between 1-64 bytes), Routing Service throughput is ~10% worse and latency is ~3% higher.
3.8.7. Library Size¶
A comparison of Routing Service libraries sizes for the architecture
x64Linux3gcc4.8.2 is shown in Table 3.6.
The Routing Service Release Notes, Getting Started Guide, and User’s Manual have been consolidated into a single document, which is available in HTML and PDF formats. You can find them in your Connext DDS installation in the following locations:
- HTML main page: