I have a DDS test application that creates both a publisher and a subscriber to the same topic. I then publish data and all the instances of the application get the data. This allows me to have a common topic for many different publishers of the same data. Consider the shapes demo: Each instance can send a Square and any instance subscribing to the "Square" topic gets the square.
The Issue is that the local application that published the data would get the data as well. I have filtered using my actual internal transmitted data but this is going to be insufficient. I need the local subscriber to ignore all data from the local publisher. (Same binary, different threads).
Wait you say, isnt that what ignore_publication or ignore_participant is for? Supposedly but I have yet to get this to work correctly. I want to be able to subscribe to the topic but ignore the local publication data in that topic.
Well I have been unable to get those to work. I use the DevGuideExamples for messager.minimal in OpenDDS package to base my test example code. This code does not have the ignore* functionality in it and I have been unable to find any example code.
From what I understand, putting the participant->ignore_participant.. line should ignore all DATA from my own publishing. I am still getting the same data constantly from when I published, I get it back in my subscriber.
This has to be fundamental to a Pub/Sub that you don't receive your own data even if you subscribe to the same topic you publish.