ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

There is no guarantee for inorder delivery from multiple publishers to one or more subscribers. Nor is the order guaranteed to be the same for the two subscribers. Each publisher and subscriber pair has a separate communication channel open.

You're right that in a distributed system this is generally hard. Knowing the order of who published first is no really even known. Generally I'd recommend making sure that you put timestamps in your messages and make your algorithm robust to out of order delivery. As well as making sure that your system clocks are well synchronized.

If you want guaranteed ordering and confirmed delivery I'd recommend using services which provide confirmation of delivery. There's more overhead and they block, but that's the trade-off for the guarantees.