]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/messages/MAuth.h
import 15.2.0 Octopus source
[ceph.git] / ceph / src / messages / MAuth.h
index 0075e0b9fbab608b280621c0a79046f1b3ee8702..c7067859c2568ab9e9a4bd03685a21355e5fba87 100644 (file)
 #ifndef CEPH_MAUTH_H
 #define CEPH_MAUTH_H
 
+#include <string_view>
+
+#include "include/encoding.h"
+
+#include "msg/Message.h"
+#include "msg/MessageRef.h"
 #include "messages/PaxosServiceMessage.h"
 
-class MAuth : public MessageInstance<MAuth, PaxosServiceMessage> {
+class MAuth : public PaxosServiceMessage {
 public:
-  friend factory;
-
   __u32 protocol;
-  bufferlist auth_payload;
+  ceph::buffer::list auth_payload;
   epoch_t monmap_epoch;
 
   /* if protocol == 0, then auth_payload is a set<__u32> listing protocols the client supports */
 
-  MAuth() : MessageInstance(CEPH_MSG_AUTH, 0), protocol(0), monmap_epoch(0) { }
+  MAuth() : PaxosServiceMessage{CEPH_MSG_AUTH, 0}, protocol(0), monmap_epoch(0) { }
 private:
   ~MAuth() override {}
 
 public:
   std::string_view get_type_name() const override { return "auth"; }
-  void print(ostream& out) const override {
+  void print(std::ostream& out) const override {
     out << "auth(proto " << protocol << " " << auth_payload.length() << " bytes"
        << " epoch " << monmap_epoch << ")";
   }
 
   void decode_payload() override {
-    using ceph::encode;
+    using ceph::decode;
     auto p = payload.cbegin();
     paxos_decode(p);
     decode(protocol, p);
@@ -56,7 +60,7 @@ public:
     encode(auth_payload, payload);
     encode(monmap_epoch, payload);
   }
-  bufferlist& get_auth_payload() { return auth_payload; }
+  ceph::buffer::list& get_auth_payload() { return auth_payload; }
 };
 
 #endif