1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef MOSDRECOVERYDELETEREPLY_H
5 #define MOSDRECOVERYDELETEREPLY_H
7 #include "MOSDFastDispatchOp.h"
9 struct MOSDPGRecoveryDeleteReply
: public MOSDFastDispatchOp
{
10 static const int HEAD_VERSION
= 1;
11 static const int COMPAT_VERSION
= 1;
15 epoch_t map_epoch
, min_epoch
;
16 list
<pair
<hobject_t
, eversion_t
> > objects
;
18 epoch_t
get_map_epoch() const override
{
21 epoch_t
get_min_epoch() const override
{
24 spg_t
get_spg() const override
{
28 MOSDPGRecoveryDeleteReply()
29 : MOSDFastDispatchOp(MSG_OSD_PG_RECOVERY_DELETE_REPLY
, HEAD_VERSION
, COMPAT_VERSION
),
30 map_epoch(0), min_epoch(0)
33 void decode_payload() override
{
34 bufferlist::iterator p
= payload
.begin();
35 ::decode(pgid
.pgid
, p
);
36 ::decode(map_epoch
, p
);
37 ::decode(min_epoch
, p
);
39 ::decode(pgid
.shard
, p
);
43 void encode_payload(uint64_t features
) override
{
44 ::encode(pgid
.pgid
, payload
);
45 ::encode(map_epoch
, payload
);
46 ::encode(min_epoch
, payload
);
47 ::encode(objects
, payload
);
48 ::encode(pgid
.shard
, payload
);
49 ::encode(from
, payload
);
52 void print(ostream
& out
) const override
{
53 out
<< "MOSDPGRecoveryDeleteReply(" << pgid
54 << " e" << map_epoch
<< "," << min_epoch
<< " " << objects
<< ")";
57 const char *get_type_name() const override
{ return "recovery_delete_reply"; }