]> git.proxmox.com Git - ceph.git/blame - ceph/src/messages/MOSDPGRecoveryDeleteReply.h
import 15.2.0 Octopus source
[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;
c07f9fc5
FG
18 list<pair<hobject_t, eversion_t> > objects;
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 {
11fdf7f2
TL
35 auto p = payload.cbegin();
36 decode(pgid.pgid, p);
37 decode(map_epoch, p);
38 decode(min_epoch, p);
39 decode(objects, p);
40 decode(pgid.shard, p);
41 decode(from, p);
c07f9fc5
FG
42 }
43
44 void encode_payload(uint64_t features) override {
11fdf7f2
TL
45 using ceph::encode;
46 encode(pgid.pgid, payload);
47 encode(map_epoch, payload);
48 encode(min_epoch, payload);
49 encode(objects, payload);
50 encode(pgid.shard, payload);
51 encode(from, payload);
c07f9fc5
FG
52 }
53
54 void print(ostream& out) const override {
55 out << "MOSDPGRecoveryDeleteReply(" << pgid
56 << " e" << map_epoch << "," << min_epoch << " " << objects << ")";
57 }
58
11fdf7f2 59 std::string_view get_type_name() const override { return "recovery_delete_reply"; }
9f95a23c
TL
60
61private:
62 template<class T, typename... Args>
63 friend boost::intrusive_ptr<T> ceph::make_message(Args&&... args);
c07f9fc5
FG
64};
65
66#endif