ros-drivers/rosserial — pull request #55 by PaulBouchier (2013-07-14 03:01:36+00:00)
Title: Hydro devel

Introduced protocol version in 2nd byte of messages.

@MichaelFergusson, please have a look at the change in node_handle.h to pre-enable the NEXT protocol change to be detected by rosserial_python: if client detects a protocol mismatch when configured_ is false, it sends a requestTimeSync() message. This will be ignored in the case of protocol mismatch, and seems it should be harmless if the protocol mismatch was due to data corruption and in fact there is not a protocol mismatch.

@MikePurvis - thanks for suggestion to send a "trial message" using old protocol. I didn't go that route because the protocol is stateless at present - that would have made it stateful inasmuch as each side would have had to go from an uninitialized state to an initialized state in sync with the other and I'm worried about a bunch of corner cases popping out of that where one side is initialized and the other not, and recovery from that. Seems like a can of worms. Instead I opted for the best messages I could emit to suggest that there might be a protocol mismatch in the case of non-response.