Data order when receiving multiple data simultaneously

2 posts / 0 new
Last post
Last seen: 2 years 1 month ago
Joined: 03/19/2020
Posts: 5
Data order when receiving multiple data simultaneously

Hi everyone, 

I am learning DDS and I have come to this question. For example, I have one subscriber and multiple publisher in the same topic. As I know, the DataReader reads the coming data and places it in internal cache. What if we multiple data arrive at the same time, how the order of the data is stored? Does it base on any criteria, such as priority, to store the data in the cache? 

I apologize if this question is not supposed to be here. 

Thanks in advance! 

irwin's picture
Last seen: 2 years 2 weeks ago
Joined: 08/14/2010
Posts: 42


   Your messages may be sent from different publishers at the same time but they will wiil processed by default in the order that they arrive. Lets start with all publishers are on seperate machines and are sending out on Udpv4. The subscriber is listening on its Upv4 socket. By default there is but one Udpv4 user data receive thread. Therefore they will be processed as it arrives on that socket. That is one at a time. Data samples are stored in the recieve queue in order. However, for reliable samples, a late repaired sample will be store ahead of a previous sample. Again, this question has a lot of neuances. I would sugges that you create your own use test cases. Look t the arriving data and issue another question if the results you see is not was what you expected.