]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
messages: populate header.version in constructor
authorSage Weil <sage@newdream.net>
Fri, 10 Feb 2012 22:38:13 +0000 (14:38 -0800)
committerSage Weil <sage@newdream.net>
Fri, 10 Feb 2012 22:38:13 +0000 (14:38 -0800)
commit7b5689acfcb6e0b7f654c8bf41bd39d1cf66b0e9
tree1399d61a70cd9eafc36928f79c647605afc06664
parent8d90856a1f93f8377c997cf02ce778d412af40e8
messages: populate header.version in constructor

Define a HEAD_VERSION and COMPAT_VERSION for any versioned message.  Pass
to Message constructor so that it is always initialized, even from the
the default constructor.  That's needed because we use that to check
decoding compatibility when receiving/decoding messages.

If we are conditionally encoding an old version, explicitly set
header.version in encode_payload().

We also set compat_version to demonstrate what will happen for future
revisions.  In this case, it's moot, because no old code understands
compat_version yet: nobody with old decode code will see these values
anyway.  But use this opportunity to demonstrate how it would be used in
the future.

Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
20 files changed:
src/messages/MClientCaps.h
src/messages/MClientReconnect.h
src/messages/MDiscoverReply.h
src/messages/MMDSBeacon.h
src/messages/MMonElection.h
src/messages/MMonGetVersionReply.h
src/messages/MMonPaxos.h
src/messages/MMonSubscribe.h
src/messages/MOSDBoot.h
src/messages/MOSDFailure.h
src/messages/MOSDMap.h
src/messages/MOSDOp.h
src/messages/MOSDOpReply.h
src/messages/MOSDPGLog.h
src/messages/MOSDPGNotify.h
src/messages/MOSDRepScrub.h
src/messages/MOSDSubOp.h
src/messages/MPoolOp.h
src/messages/PaxosServiceMessage.h
src/msg/Message.h