#include "msg/Message.h"
-class MInodeFileCaps : public MessageInstance<MInodeFileCaps> {
-public:
- friend factory;
+class MInodeFileCaps : public SafeMessage {
private:
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
inodeno_t ino;
__u32 caps = 0;
- public:
-
+public:
inodeno_t get_ino() const { return ino; }
int get_caps() const { return caps; }
protected:
- MInodeFileCaps() : MessageInstance(MSG_MDS_INODEFILECAPS) {}
+ MInodeFileCaps() : SafeMessage(MSG_MDS_INODEFILECAPS, HEAD_VERSION, COMPAT_VERSION) {}
MInodeFileCaps(inodeno_t ino, int caps) :
- MessageInstance(MSG_MDS_INODEFILECAPS) {
+ SafeMessage(MSG_MDS_INODEFILECAPS, HEAD_VERSION, COMPAT_VERSION) {
this->ino = ino;
this->caps = caps;
}
decode(ino, p);
decode(caps, p);
}
+private:
+ template<class T, typename... Args>
+ friend boost::intrusive_ptr<T> ceph::make_message(Args&&... args);
};
#endif