| 37 | std::string_view get_type_name() const override { return "mon_map"; } |
| 38 | |
| 39 | void encode_payload(uint64_t features) override { |
| 40 | if (monmapbl.length() && |
| 41 | ((features & CEPH_FEATURE_MONENC) == 0 || |
| 42 | (features & CEPH_FEATURE_MSG_ADDR2) == 0)) { |
| 43 | // reencode old-format monmap |
| 44 | MonMap t; |
| 45 | t.decode(monmapbl); |
| 46 | monmapbl.clear(); |
| 47 | t.encode(monmapbl, features); |
| 48 | } |
| 49 | |
| 50 | using ceph::encode; |
| 51 | encode(monmapbl, payload); |
| 52 | } |
| 53 | void decode_payload() override { |
| 54 | using ceph::decode; |
| 55 | auto p = payload.cbegin(); |