Hi,
I am dealing with pub-sub of large data, and obviously this follows with "ASYNCHRONOUS_PUBLISH_MODE_QOS" policy. Since I wanted late-joiners to access informartion, I also added durability QoS with TRANSIENT_LOCAL_DURABILITY_QOS kind.
Now, this is my question.
Can I be sure that the subscriber receives all the published ones? If not, is there a way (DDS-way) to know that the topic is consumed by all the subscribers - atleast communication went through and data reached the subscriber?
Uday
Hi,
By using RELIABLE reliability QoS you will ensure that the all the matching DataReaders will receive the sample. In order to send old samples to late-joiners DataReaders you need to set also the History QoS and TRANSIENT_LOCAL durability. The History property specify the number of samples to store on the DataWriter queue. For instance, with KEEP_LAST and DEPTH = 5, a late-joiner DataReader will receive the latest 5 samples from that DataWriter. If you want to get all the previous samples you need to set the History kind to KEEP_ALL. Note that this will affect to the queue size and will increase the program memory. You could also configure Persistence Service to store the samples into disk and avoid a high program memory.
You can get more information in the User's Manual:
Regards,
Benito