1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
6 #include "PaxosServiceMessage.h"
7 #include "osd/osd_types.h"
8 #include "include/types.h"
10 class MMonGetPurgedSnapsReply
: public PaxosServiceMessage
{
13 map
<epoch_t
,mempool::osdmap::map
<int64_t,snap_interval_set_t
>> purged_snaps
;
15 MMonGetPurgedSnapsReply(epoch_t s
=0, epoch_t l
=0)
16 : PaxosServiceMessage
{MSG_MON_GET_PURGED_SNAPS_REPLY
, 0},
20 ~MMonGetPurgedSnapsReply() override
{}
23 std::string_view
get_type_name() const override
{
24 return "mon_get_purged_snaps_reply";
26 void print(std::ostream
& out
) const override
{
27 out
<< "mon_get_purged_snaps_reply([" << start
<< "," << last
<< "])";
30 void encode_payload(uint64_t features
) override
{
33 encode(start
, payload
);
34 encode(last
, payload
);
35 encode(purged_snaps
, payload
);
37 void decode_payload() override
{
39 auto p
= payload
.cbegin();
43 decode(purged_snaps
, p
);
47 template<class T
, typename
... Args
>
48 friend boost::intrusive_ptr
<T
> ceph::make_message(Args
&&... args
);