RTI Connext DDS Micro C API  Version 3.0.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
When RTI Connext DDS Micro discovers DDS entities using a DDS discovery protocol, such as DPSE (Dynamic Participant Static Endpoint) or DPDE (Dynamic Participant Dynamic Endpoint), it matches the discovered entities with the locally created DataReaders and DataWriters. For each match, either a local DataWriter matching a remote DataReader or a local DataReader matching a remote DataWriter, internal state must be managed.
A match, in this context, is defined as being able to receive packets sent from a DDS_DataReader to a DDS_DataWriter, or from a DDS_DataWriter to a DDS_DataReader:
  • A data-writer needs one resource for each datareader it matches.
  • A data-reader needs one resource for each datawriter it matches.
The DDS_DomainParticipantResourceLimitsQosPolicy::matching_writer_reader_pair_allocation resource-limits sets the limit for the maximum number of matches that can be managed. When this resource-limit is reached no further matching can occur, even if new DDS_DataReader's and DDS_DataWriter's are discovered.
A simple rule of thumb is to set this resource-limit to:
(local_reader_allocation + local_writer_allocation) * max_remote_participants.
This assumes that each datareader and datawriter matches one datawriter and datareader respectively for each discovered participant. However, this may over-allocate resources.
The DDS_DomainParticipantResourceLimitsQosPolicy::matching_reader_writer_pair_allocation resource-limit is not used and will be deprecated in future versions.

RTI Connext DDS Micro C API Version 3.0.2 Copyright © Thu Dec 12 2019 Real-Time Innovations, Inc