Discovery

Discovery is the process by which a DomainParticipant learns about other DomainParticipants, DataWriters, and DataReaders within the same domain.

The discovery process includes:

  • Detection of new entities in the domain
  • Detection that entities have shut down cleanly
  • Detection that entities have timed out because of lack of communication

 The discovery process takes place in two phases.  In the first phase, DomainParticipants send announcements about themselves to a list of initial peers.

Phase 1: DomainParticipant announces to its initial peers

 

Phase 1: Initial Discovery Announcement from a DomainParticipant to its initial peers

In the second phase of discovery, DomainParticipants respond to the announcements they have received.  In this phase, DomainParticipants send information about DataWriters, DataReaders, Topics, data types, and QoS.

 

Phase 2: DomainParticipants exchange information about DataWriters and DataReaders

Phase 2: DomainParticipants respond to initial announcements and exchange data about DataWriters and DataReaders

Discovery is an ongoing process, allowing new entities to come online at any time as the system is running.  Full details of how discovery works can be found in the RTI Connext DDS User's Manual, in Chapter 14: Discovery.