2.2.1. RTI Connext Core Libraries

The following issues affect backward compatibility in the Core Libraries when migrating from release 7.6.0 to release 7.7.0. Issues in the Core Libraries may affect components that use these libraries, including Infrastructure Services and Tools.

2.2.1.1. Configuration Changes

2.2.1.1.1. Aliases for enabled_transport QoS no longer use case-sensitive matching

The enabled_transport QoS previously required exact case matches for transport aliases. Now, alias matching is case-insensitive.

If you rely on case sensitivity for custom transports in your enabled_transport values, your upgrade to 7.7.0 will no longer distinguish the values by case. For example:

<!-- Distinct custom transports with case-sensitive names -->
<transport_builtin>
    <mask>NONE</mask>
</transport_builtin>
<property>
    <name>dds.transport.load_plugins</name>
    <value>MyPlugin,myplugin</value> <!-- Previously two different plugins, now treated the same -->
</property>

2.2.1.2. Utilities Changes

2.2.1.2.1. RTI DDS Spy transport option now uses string-based masks instead of integers

Starting in release 7.7.0, the -transport option in RTI DDS Spy has changed from using a bitmask (integer values) to using a more user-friendly mask of string literals separated by |.

In previous releases, you configured the -transport option using integer values representing a bitmask. For example:

rtiddsspy -transport 1     # UDPv4 only
rtiddsspy -transport 2     # Shared memory only
rtiddsspy -transport 3     # UDPv4 and shared memory
rtiddsspy -transport 8     # UDPv6 only
rtiddsspy -transport 9     # UDPv4 and UDPv6
rtiddsspy -transport 10    # Shared memory and UDPv6
rtiddsspy -transport 11    # UDPv4, shared memory, and UDPv6

Starting in 7.7.0, you configure the -transport option using human-readable transport alias names combined with the | separator:

rtiddsspy -transport udpv4               # UDPv4 only
rtiddsspy -transport shmem               # Shared memory only
rtiddsspy -transport "udpv4|shmem"       # UDPv4 and shared memory (default)
rtiddsspy -transport udpv6               # UDPv6 only
rtiddsspy -transport "udpv4|udpv6"       # UDPv4 and UDPv6
rtiddsspy -transport "shmem|udpv6"       # Shared memory and UDPv6
rtiddsspy -transport "udpv4|shmem|udpv6" # UDPv4, shared memory, and UDPv6

The following table shows the mapping between the old integer values and the new string-based aliases:

Previous Format (Bitmask)

New Format (String Aliases)

1

udpv4

2

shmem

3

udpv4|shmem

8

udpv6

9

udpv4|udpv6

10

shmem|udpv6

11

udpv4|shmem|udpv6

If you have scripts that use the old integer-based format, you will need to update them to use the new string-based format.