]> git.proxmox.com Git - ceph.git/blame - ceph/src/messages/MOSDPGRecoveryDeleteReply.h
import quincy beta 17.1.0
[ceph.git] / ceph / src / messages / MOSDPGRecoveryDeleteReply.h
CommitLineData
c07f9fc5
FG
1// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2// vim: ts=8 sw=2 smarttab
3
4#ifndef MOSDRECOVERYDELETEREPLY_H
5#define MOSDRECOVERYDELETEREPLY_H
6
7#include "MOSDFastDispatchOp.h"
8
9f95a23c 9class MOSDPGRecoveryDeleteReply : public MOSDFastDispatchOp {
11fdf7f2 10public:
11fdf7f2
TL
11 static constexpr int HEAD_VERSION = 2;
12 static constexpr int COMPAT_VERSION = 1;
c07f9fc5
FG
13
14 pg_shard_t from;
15 spg_t pgid;
9f95a23c
TL
16 epoch_t map_epoch = 0;
17 epoch_t min_epoch = 0;
f67539c2 18 std::list<std::pair<hobject_t, eversion_t> > objects;
c07f9fc5
FG
19
20 epoch_t get_map_epoch() const override {
21 return map_epoch;
22 }
23 epoch_t get_min_epoch() const override {
24 return min_epoch;
25 }
26 spg_t get_spg() const override {
27 return pgid;
28 }
29
30 MOSDPGRecoveryDeleteReply()
9f95a23c
TL
31 : MOSDFastDispatchOp{MSG_OSD_PG_RECOVERY_DELETE_REPLY, HEAD_VERSION, COMPAT_VERSION}
32 {}
c07f9fc5
FG
33
34 void decode_payload() override {
f67539c2 35 using ceph::decode;
11fdf7f2
TL
36 auto p = payload.cbegin();
37 decode(pgid.pgid, p);
38 decode(map_epoch, p);
39 decode(min_epoch, p);
40 decode(objects, p);
41 decode(pgid.shard, p);
42 decode(from, p);
c07f9fc5
FG
43 }
44
45 void encode_payload(uint64_t features) override {
11fdf7f2
TL
46 using ceph::encode;
47 encode(pgid.pgid, payload);
48 encode(map_epoch, payload);
49 encode(min_epoch, payload);
50 encode(objects, payload);
51 encode(pgid.shard, payload);
52 encode(from, payload);
c07f9fc5
FG
53 }
54
f67539c2 55 void print(std::ostream& out) const override {
c07f9fc5
FG
56 out << "MOSDPGRecoveryDeleteReply(" << pgid
57 << " e" << map_epoch << "," << min_epoch << " " << objects << ")";
58 }
59
11fdf7f2 60 std::string_view get_type_name() const override { return "recovery_delete_reply"; }
9f95a23c
TL
61
62private:
63 template<class T, typename... Args>
64 friend boost::intrusive_ptr<T> ceph::make_message(Args&&... args);
c07f9fc5
FG
65};
66
67#endif