]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | #ifndef CEPH_MGATHERCAPS_H |
2 | #define CEPH_MGATHERCAPS_H | |
3 | ||
f67539c2 | 4 | #include "messages/MMDSOp.h" |
7c673cae FG |
5 | |
6 | ||
f67539c2 | 7 | class MGatherCaps final : public MMDSOp { |
9f95a23c TL |
8 | static constexpr int HEAD_VERSION = 1; |
9 | static constexpr int COMPAT_VERSION = 1; | |
11fdf7f2 | 10 | |
9f95a23c | 11 | public: |
7c673cae FG |
12 | inodeno_t ino; |
13 | ||
11fdf7f2 | 14 | protected: |
7c673cae | 15 | MGatherCaps() : |
f67539c2 TL |
16 | MMDSOp{MSG_MDS_GATHERCAPS, HEAD_VERSION, COMPAT_VERSION} {} |
17 | ~MGatherCaps() final {} | |
7c673cae FG |
18 | |
19 | public: | |
11fdf7f2 | 20 | std::string_view get_type_name() const override { return "gather_caps"; } |
f67539c2 | 21 | void print(std::ostream& o) const override { |
7c673cae FG |
22 | o << "gather_caps(" << ino << ")"; |
23 | } | |
24 | ||
25 | void encode_payload(uint64_t features) override { | |
11fdf7f2 TL |
26 | using ceph::encode; |
27 | encode(ino, payload); | |
7c673cae FG |
28 | } |
29 | void decode_payload() override { | |
11fdf7f2 TL |
30 | using ceph::decode; |
31 | auto p = payload.cbegin(); | |
32 | decode(ino, p); | |
7c673cae | 33 | } |
9f95a23c TL |
34 | private: |
35 | template<class T, typename... Args> | |
36 | friend boost::intrusive_ptr<T> ceph::make_message(Args&&... args); | |
20effc67 TL |
37 | template<class T, typename... Args> |
38 | friend MURef<T> crimson::make_message(Args&&... args); | |
7c673cae FG |
39 | }; |
40 | ||
41 | #endif |