]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/messages/MAuthReply.h
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / messages / MAuthReply.h
index 161fe644ba191069bf799cfa238937959231441c..be3368e653375b1592c7914430c1d2d8457cba2a 100644 (file)
 #include "msg/Message.h"
 #include "common/errno.h"
 
-struct MAuthReply : public Message {
+class MAuthReply : public MessageInstance<MAuthReply> {
+public:
+  friend factory;
+
   __u32 protocol;
   errorcode32_t result;
   uint64_t global_id;      // if zero, meaningless
   string result_msg;
   bufferlist result_bl;
 
-  MAuthReply() : Message(CEPH_MSG_AUTH_REPLY), protocol(0), result(0), global_id(0) {}
+  MAuthReply() : MessageInstance(CEPH_MSG_AUTH_REPLY), protocol(0), result(0), global_id(0) {}
   MAuthReply(__u32 p, bufferlist *bl = NULL, int r = 0, uint64_t gid=0, const char *msg = "") :
-    Message(CEPH_MSG_AUTH_REPLY),
+    MessageInstance(CEPH_MSG_AUTH_REPLY),
     protocol(p), result(r), global_id(gid),
     result_msg(msg) {
     if (bl)
@@ -37,7 +40,7 @@ private:
   ~MAuthReply() override {}
 
 public:
-  const char *get_type_name() const override { return "auth_reply"; }
+  std::string_view get_type_name() const override { return "auth_reply"; }
   void print(ostream& o) const override {
     o << "auth_reply(proto " << protocol << " " << result << " " << cpp_strerror(result);
     if (result_msg.length())
@@ -46,19 +49,20 @@ public:
   }
 
   void decode_payload() override {
-    bufferlist::iterator p = payload.begin();
-    ::decode(protocol, p);
-    ::decode(result, p);
-    ::decode(global_id, p);
-    ::decode(result_bl, p);
-    ::decode(result_msg, p);
+    auto p = payload.cbegin();
+    decode(protocol, p);
+    decode(result, p);
+    decode(global_id, p);
+    decode(result_bl, p);
+    decode(result_msg, p);
   }
   void encode_payload(uint64_t features) override {
-    ::encode(protocol, payload);
-    ::encode(result, payload);
-    ::encode(global_id, payload);
-    ::encode(result_bl, payload);
-    ::encode(result_msg, payload);
+    using ceph::encode;
+    encode(protocol, payload);
+    encode(result, payload);
+    encode(global_id, payload);
+    encode(result_bl, payload);
+    encode(result_msg, payload);
   }
 };