Acknowledgement from "all" subscribers

2 posts / 0 new
Last post
Offline
Last seen: 4 years 8 months ago
Joined: 03/25/2015
Posts: 33
Acknowledgement from "all" subscribers

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

 

Organization:
Benito Palacios's picture
Offline
Last seen: 5 years 8 months ago
Joined: 10/05/2015
Posts: 13

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