4.2. Usability

4.2.1. [Minor] Lack of allowed multicast interfaces did not cause Connext to ignore multicast addresses

If none of your allowed interfaces supported multicast, then Connext failed to adapt to this situation and incorrectly did the following by default:

  • Outgoing participant discovery announcements were still sent to the 239.255.0.1 multicast address.

  • The 239.255.0.1 locator was still advertised in the outgoing participant discovery announcements.

  • multicast_resend_threshold was still taking effect. Repair traffic (for both metadata and user data) was still attempted and failed to be sent over multicast.

  • Warnings such as

NDDS_Transport_UDPv4_SocketFactory_create_receive_socket:No interface found enabled for multicast

and

send failed: locator: udpv4://239.255.0.1:7400

were still being logged.

[RTI Issue ID CORE-14825]

4.2.2. [Minor] Error when configuring AllocationSettings with initial equals to maximum

Previously, when configuring rti::core::AllocationSettings with initial_count equal to max_count (to prevent dynamic allocations), Connext required incremental_count to be explicitly set to zero. This constraint caused errors during DomainParticipant creation when applied simultaneously to remote_reader_allocation, local_reader_allocation, and local_writer_allocation, due to internal allocation settings derived from these public configuration values:

ERROR [CREATE DP|0x00000002,0x00000002,0x00000002:0x000001C1{Domain=0}|CREATE PRESPsService|LC:Discovery] REDAFastBufferPoolProperty_isConsistent:PRECONDITION | propertyIn->growth.increment == 0 && propertyIn->growth.maximal (36) != propertyIn->growth.initial (12)
ERROR [CREATE DP|0x00000002,0x00000002,0x00000002:0x000001C1{Domain=0}|CREATE PRESPsService|LC:Discovery] REDAFastBufferPool_newWithParams:!precondition: inconsistent property
ERROR [CREATE DP|0x00000002,0x00000002,0x00000002:0x000001C1{Domain=0}|CREATE PRESPsService|LC:Discovery] PRESPsService_new:!create readerContentFilterPolicyBufferPool

This issue has been resolved by relaxing the validation requirements:

  • When initial_count equals max_count, dynamic allocations will not occur regardless of the incremental_count value.

  • The incremental_count value is now ignored in this scenario, eliminating the previous error.

  • If incremental_count is explicitly set to zero, Connext will still validate that initial_count equals max_count.

[RTI Issue ID CORE-16228]

4.2.3. [Minor] Monitoring Library 2.0 required a license when used in DDS Ping or DDS Spy with license-managed bundles

When enabling Monitoring Library 2.0 in DDS Ping or DDS Spy with License-Managed (lm) Connext bundles, a license is no longer required. (Note that Collector Service does still require a license.)

[RTI Issue ID MONITOR-756]