Hi. I would like to know if there is a way to guarantee the order of samples sent by multiple data writer belonging to the same subscriber if ASYNCHRONOUS_PUBLISHER QoSPolicy is used. At the moment, the topics that I am writing to are not keyed, however, I don't see how keyed topics can help here.
I am noticing that order of samples is not guaranteed if I use ASYNCHRONOUS_PUBLISHER policy even when samples are small in size (the order is observed using data reader listeners on the other side). The same is not true if I use SYNCHRONOUS_PUBLISHER policy.
Does DDS support this or is it a limitation?
EDIT: Forgot to mention. I know there are wait-based methods that allow me to wait until a particular sample has been delivered, however, this will block the caller for indefinite amount of time. I need to know if it is possible to send messages asynchronously without the need to block the caller.
P.S: I am using C++ NDDS v.4.5c library running on Linux. The machines in question are connected directly using point-to-point protocol. No other network services are running on both machines.