The DPSE builtin participant topic datawriter allocates max_participant_locators to send participant announcements to. The default value DDS_LENGTH_AUTO calculates max_participant_locators as remote_participant_allocation + (DPSE_MAX_ANON_PARTICIPANT * (peer_length + 1)) where the constant DPSE_MAX_ANON_PARTICIPANT = 6.
A participant locator is defined as a unique index@address to send to where index is an integer >= 0 and only applies to unicast addresses. For multicast address the index is 0. This index is the highest participant_id that will receive participant announcements at the address.
The maximum number of addresses to send to is defined by the peer list (either specified in DDS_DiscoveryQosPolicy::initial_peers or by calling DDS_DomainParticipant_add_peer. The maximum number of addresses needed is determined by adding all indices for all unicast addresses and adding one for each multicast address.
If memory is limited it is advised to set this value as low as possible.