5.2.15. APIs (Multiple Languages)

5.2.15.1. [Major] The result of cdr_serialized_sample_max_size was too small if the maximum size was greater than 4 GB

If a data type included sequences that caused its maximum serialized size to be greater than 4 GB, then the result of calling the TypeCode cdr_serialized_sample_max_size API was too small due to an integer overflow. This problem affected all language APIs and has been fixed by making this API return 2 GB under this circumstance.

[RTI Issue ID CORE-15726]

5.2.15.2. [Major] Non-Java register_type failed if the maximum size was greater than 2 GB

If a data type’s maximum serialized size was greater than 2 GB, then the DomainParticipant register_type API failed with errors such as these:

RTIXCdrInterpreter_getSerSampleMaxSize:<type>:<field> skip error
RTIXCdrInterpreter_generateTypePluginProgram:failure generating get_max_serialized_size program for type
DDS_DomainParticipant_register_type:!failed to register user type with participant

This problem only affected Connext 6.0.0 and above and all language APIs except for Java. This problem has been fixed by making this API succeed under this circumstance. Connext supports registering types whose theoretical maximum serialized size is greater than 2 GB, as long as the samples that are written are never greater than 2 GB.

[RTI Issue ID CORE-12308]

5.2.15.3. [Minor] Enum label not printed when there was only one enum member

By default, when printing TypeCodes (using the DDS_TypeCode_to_string APIs), the ordinal values associated with an enum are only printed if they are explicitly provided in the type definition. There was a bug where the ordinal value was never printed (even if it was explicitly supplied in the type definition) if there was only one member in the enum.

[RTI Issue ID CORE-15715]

5.2.15.4. [Minor] Inconsistent QoS error when setting builtin discovery channels

In release 7.5.0, attempting to set participant_qos.discovery_config.enabled_builtin_channels to DiscoveryConfigBuiltinChannelKind.All in C# or DiscoveryConfigBuiltinChannelKind.MASK_ALL in Java during DomainParticipant creation resulted in an inconsistent QoS error.

[RTI Issue ID CORE-15868]