Search code examples
data-distribution-serviceopendds

OpenDDS - DCPSInfoRepo is killed but the publisher and subscriber are communicating


I'm exercising with OpenDDS DCPS examples from OpenDDS-3.11/examples/DCPS/IntroductionToOpenDDS on Ubuntu 16. As per the AAA_README.txt found in the same location, I first started DCPSInfoRepo OpenDDS-3.11/bin/DCPSInfoRepo -ORBEndpoint iiop://localhost:12345 followed by subscriber and publisher respectively.

I could get the publisher publishing and subscriber receiving the subscribed topics. I understand the DCPSInfoRepo creates repo.ior which will contain the participant's entry.

But if I kill the DCPSInfoRepo, I could see the publisher and subscriber continue to communicate but obviously could not add another participant as DCPSInfoRepo is not running.

I would like to know why the publisher and subscriber continue to communicate in the absence of DCPSInfoRepo. Don't we need DCPSInfoRepo server after participants are added? please clarify.


Solution

  • The DCPSInfoRepo is only used for discovery, at the moment publishers/subscribers know of each other they will keep communicating even without the DCPSInfoRepo.

    I would recommend you to use the RTPS discovery which is coming from the DDS standard. That removes the need for the DCPSInfoRepo completely (which is a single point of failure).