]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/messages/MExportDirFinish.h
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / messages / MExportDirFinish.h
index 8cea97757dd6e0ee3b67228f72212e20621bda80..6cc35d0935f4a7f831494d814e161a72033d3d5f 100644 (file)
 
 #include "msg/Message.h"
 
-class MExportDirFinish : public Message {
+class MExportDirFinish : public MessageInstance<MExportDirFinish> {
+public:
+  friend factory;
+private:
   dirfrag_t dirfrag;
   bool last;
 
  public:
-  dirfrag_t get_dirfrag() { return dirfrag; }
-  bool is_last() { return last; }
+  dirfrag_t get_dirfrag() const { return dirfrag; }
+  bool is_last() const { return last; }
   
+protected:
   MExportDirFinish() : last(false) {}
   MExportDirFinish(dirfrag_t df, bool l, uint64_t tid) :
-    Message(MSG_MDS_EXPORTDIRFINISH), dirfrag(df), last(l) {
+    MessageInstance(MSG_MDS_EXPORTDIRFINISH), dirfrag(df), last(l) {
     set_tid(tid);
   }
-private:
   ~MExportDirFinish() override {}
 
 public:
-  const char *get_type_name() const override { return "ExFin"; }
+  std::string_view get_type_name() const override { return "ExFin"; }
   void print(ostream& o) const override {
     o << "export_finish(" << dirfrag << (last ? " last" : "") << ")";
   }
   
   void encode_payload(uint64_t features) override {
-    ::encode(dirfrag, payload);
-    ::encode(last, payload);
+    using ceph::encode;
+    encode(dirfrag, payload);
+    encode(last, payload);
   }
   void decode_payload() override {
-    bufferlist::iterator p = payload.begin();
-    ::decode(dirfrag, p);
-    ::decode(last, p);
+    auto p = payload.cbegin();
+    decode(dirfrag, p);
+    decode(last, p);
   }
 
 };