Not getting DDS Messages after creating 20 topics, with a DataWriter and DataReader each.

2 posts / 0 new
Last post
Offline
Last seen: 3 years 1 month ago
Joined: 08/31/2021
Posts: 2
Not getting DDS Messages after creating 20 topics, with a DataWriter and DataReader each.

Hello, I am trying to create 20 topics on the same domain. I create a DataWriter and a DataReader for each topic. But when I create everything, I find that 15 out of 20 of the DataReaders do not receieve any messages from the DataWriters on the topic, even though the DataReaders have matched DataWriters on the domain.

Does anyone know what might be going on?

r
Offline
Last seen: 1 day 9 hours ago
Joined: 06/17/2019
Posts: 50

If you're creating 20 domain participants I would try increasing the participant ID limit in your initial peers. By default Connext discovers 5 domain participants per host (not counting multicast), but this can easily be increased. 

Here are some relevant resources:

https://community.rti.com/kb/why-cant-more-5-domainparticipants-communicate-within-same-machine

Section 9.5.2.2: https://community.rti.com/static/documentation/connext-dds/6.1.0/doc/manuals/connext_dds_professional/users_manual/index.htm#users_manual/DISCOVERY_Qos.htm#9.5.2.2_Setting_the_%E2%80%98Initial_Peers%E2%80%99_List%3FTocPath%3DPart%25202%253A%2520Core%2520Concepts%7C9.%2520Working%2520with%2520DDS%2520Domains%7C9.5%2520DomainParticipant%2520QosPolicies%7C9.5.2%2520DISCOVERY%2520QosPolicy%2520(DDS%2520Extension)%7C_____2

Section 15.2.1: https://community.rti.com/static/documentation/connext-dds/6.1.0/doc/manuals/connext_dds_professional/users_manual/index.htm#users_manual/Peer_Descriptor_Format.htm

And if you don't want to set your initial peers via XML, you can also control it programmatically, via an environmental variable, or flat file, see section 15.2: https://community.rti.com/static/documentation/connext-dds/6.1.0/doc/manuals/connext_dds_professional/users_manual/index.htm#users_manual/ConfigPeersListUsed_inDiscov.htm

Here is the XML I would recommend testing on each of your domain participants:

<participant_qos>
     <discovery>
          <initial_peers>
               <element>19@builtin.udpv4://127.0.0.1</element>
               <element>19@builtin.shmem://</element>
       </initial_peers>
    </discovery>          
</participant_qos>