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"
8 class MOSDBeacon
: public MessageInstance
<MOSDBeacon
, PaxosServiceMessage
> {
12 std::vector
<pg_t
> pgs
;
13 epoch_t min_last_epoch_clean
= 0;
16 : MessageInstance(MSG_OSD_BEACON
, 0)
18 MOSDBeacon(epoch_t e
, epoch_t min_lec
)
19 : MessageInstance(MSG_OSD_BEACON
, e
),
20 min_last_epoch_clean(min_lec
)
22 void encode_payload(uint64_t features
) override
{
26 encode(min_last_epoch_clean
, payload
);
28 void decode_payload() override
{
29 auto p
= payload
.cbegin();
32 decode(min_last_epoch_clean
, p
);
34 std::string_view
get_type_name() const override
{ return "osd_beacon"; }
35 void print(ostream
&out
) const {
36 out
<< get_type_name()
38 << " lec " << min_last_epoch_clean
39 << " v" << version
<< ")";