In common/message/message.hpp, BaseMessage::read() reads the "sent" field first and then "received"; same for serialize(). The protocol documentation has been wrong ever since it was added in commit 9d7e08b43
9d7e08b43