]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
messages/MConfig: send config map
authorSage Weil <sage@redhat.com>
Sat, 2 Dec 2017 04:41:08 +0000 (22:41 -0600)
committerSage Weil <sage@redhat.com>
Tue, 6 Mar 2018 20:44:47 +0000 (14:44 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/messages/MConfig.h [new file with mode: 0644]
src/msg/Message.cc
src/msg/Message.h

diff --git a/src/messages/MConfig.h b/src/messages/MConfig.h
new file mode 100644 (file)
index 0000000..465d961
--- /dev/null
@@ -0,0 +1,37 @@
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+
+#pragma once
+
+#include "msg/Message.h"
+
+struct MConfig : public Message {
+  static const int HEAD_VERSION = 1;
+  static const int COMPAT_VERSION = 1;
+
+  map<string,string> config;
+
+  MConfig() : Message(MSG_CONFIG, HEAD_VERSION, COMPAT_VERSION) { }
+  MConfig(const map<string,string>& c)
+    : Message(MSG_CONFIG, HEAD_VERSION, COMPAT_VERSION),
+      config(c) {}
+
+  const char *get_type_name() const override {
+    return "config";
+  }
+  void print(ostream& o) const override {
+    o << "config(" << config.size() << " keys" << ")";
+  }
+
+  void decode_payload() override {
+    using ceph::decode;
+    bufferlist::iterator p = payload.begin();
+    decode(config, p);
+  }
+
+  void encode_payload(uint64_t) override {
+    using ceph::encode;
+    encode(config, payload);
+  }
+
+};
index 15ea4e15ec33b17bbbc0fc1e7f38c87b6fe3e3ef..e4512d54152463ca8305b7391a3a20cfbacc73b2 100644 (file)
@@ -34,6 +34,7 @@
 #include "messages/MMonCommand.h"
 #include "messages/MMonCommandAck.h"
 #include "messages/MMonPaxos.h"
+#include "messages/MConfig.h"
 
 #include "messages/MMonProbe.h"
 #include "messages/MMonJoin.h"
@@ -361,6 +362,9 @@ Message *decode_message(CephContext *cct, int crcflags,
   case MSG_MON_PAXOS:
     m = new MMonPaxos;
     break;
+  case MSG_CONFIG:
+    m = new MConfig;
+    break;
 
   case MSG_MON_PROBE:
     m = new MMonProbe;
index 091b07d6ee2179483d9c732a853194aa64da20e5..739e1d972162a29a3c6f279151fa7fdfbade353e 100644 (file)
@@ -59,6 +59,8 @@
 
 #define MSG_PAXOS                  40
 
+#define MSG_CONFIG           62
+
 
 // osd internal
 #define MSG_OSD_PING         70