#include "msg/Message.h"
-class MExportCapsAck : public Message {
- public:
+class MExportCapsAck : public MessageInstance<MExportCapsAck> {
+public:
+ friend factory;
+
inodeno_t ino;
bufferlist cap_bl;
+protected:
MExportCapsAck() :
- Message(MSG_MDS_EXPORTCAPSACK) {}
+ MessageInstance(MSG_MDS_EXPORTCAPSACK) {}
MExportCapsAck(inodeno_t i) :
- Message(MSG_MDS_EXPORTCAPSACK), ino(i) {}
-private:
+ MessageInstance(MSG_MDS_EXPORTCAPSACK), ino(i) {}
~MExportCapsAck() override {}
public:
- const char *get_type_name() const override { return "export_caps_ack"; }
+ std::string_view get_type_name() const override { return "export_caps_ack"; }
void print(ostream& o) const override {
o << "export_caps_ack(" << ino << ")";
}
void encode_payload(uint64_t features) override {
- ::encode(ino, payload);
- ::encode(cap_bl, payload);
+ using ceph::encode;
+ encode(ino, payload);
+ encode(cap_bl, payload);
}
void decode_payload() override {
- auto p = payload.begin();
- ::decode(ino, p);
- ::decode(cap_bl, p);
+ auto p = payload.cbegin();
+ decode(ino, p);
+ decode(cap_bl, p);
}
};