#include "messages/PaxosServiceMessage.h"
#include <vector>
-using std::vector;
+#include <string>
+
+class MMonCommand : public MessageInstance<MMonCommand, PaxosServiceMessage> {
+public:
+ friend factory;
-class MMonCommand : public PaxosServiceMessage {
- public:
uuid_d fsid;
- vector<string> cmd;
+ std::vector<std::string> cmd;
- MMonCommand() : PaxosServiceMessage(MSG_MON_COMMAND, 0) {}
+ MMonCommand() : MessageInstance(MSG_MON_COMMAND, 0) {}
MMonCommand(const uuid_d &f)
- : PaxosServiceMessage(MSG_MON_COMMAND, 0),
+ : MessageInstance(MSG_MON_COMMAND, 0),
fsid(f)
{ }
~MMonCommand() override {}
public:
- const char *get_type_name() const override { return "mon_command"; }
+ std::string_view get_type_name() const override { return "mon_command"; }
void print(ostream& o) const override {
o << "mon_command(";
for (unsigned i=0; i<cmd.size(); i++) {
}
void encode_payload(uint64_t features) override {
+ using ceph::encode;
paxos_encode();
- ::encode(fsid, payload);
- ::encode(cmd, payload);
+ encode(fsid, payload);
+ encode(cmd, payload);
}
void decode_payload() override {
- bufferlist::iterator p = payload.begin();
+ auto p = payload.cbegin();
paxos_decode(p);
- ::decode(fsid, p);
- ::decode(cmd, p);
+ decode(fsid, p);
+ decode(cmd, p);
}
};