|
18 | 18 | #include "NVMeofGwMap.h" |
19 | 19 |
|
20 | 20 | struct LastBeacon { |
21 | | - NvmeGwId gw_id; |
22 | | - NvmeGroupKey group_key; |
23 | | - |
24 | | - // Comparison operators to allow usage as a map key |
25 | | - bool operator<(const LastBeacon& other) const { |
26 | | - if (gw_id != other.gw_id) return gw_id < other.gw_id; |
27 | | - return group_key < other.group_key; |
28 | | - } |
29 | | - |
30 | | - bool operator==(const LastBeacon& other) const { |
31 | | - return gw_id == other.gw_id && |
32 | | - group_key == other.group_key; |
33 | | - } |
| 21 | + NvmeGwId gw_id; |
| 22 | + NvmeGroupKey group_key; |
| 23 | + |
| 24 | + // Comparison operators to allow usage as a map key |
| 25 | + bool operator<(const LastBeacon& other) const { |
| 26 | + if (gw_id != other.gw_id) return gw_id < other.gw_id; |
| 27 | + return group_key < other.group_key; |
| 28 | + } |
| 29 | + |
| 30 | + bool operator==(const LastBeacon& other) const { |
| 31 | + return gw_id == other.gw_id && |
| 32 | + group_key == other.group_key; |
| 33 | + } |
34 | 34 | }; |
35 | 35 |
|
36 | 36 | class NVMeofGwMon: public PaxosService, |
37 | 37 | public md_config_obs_t |
38 | 38 | { |
39 | | - NVMeofGwMap map; //NVMeGWMap |
40 | | - NVMeofGwMap pending_map; |
41 | | - std::map<LastBeacon, ceph::coarse_mono_clock::time_point> last_beacon; |
42 | | - ceph::coarse_mono_clock::time_point last_tick; |
| 39 | + NVMeofGwMap map; //NVMeGWMap |
| 40 | + NVMeofGwMap pending_map; |
| 41 | + std::map<LastBeacon, ceph::coarse_mono_clock::time_point> last_beacon; |
| 42 | + ceph::coarse_mono_clock::time_point last_tick; |
43 | 43 |
|
44 | 44 | public: |
45 | | - NVMeofGwMon(Monitor &mn, Paxos &p, const std::string& service_name): PaxosService(mn, p, service_name) {map.mon = &mn;} |
46 | | - ~NVMeofGwMon() override {} |
| 45 | + NVMeofGwMon(Monitor &mn, Paxos &p, const std::string& service_name) |
| 46 | + : PaxosService(mn, p, service_name) { |
| 47 | + map.mon = &mn; |
| 48 | + } |
| 49 | + ~NVMeofGwMon() override {} |
47 | 50 |
|
| 51 | + // config observer |
| 52 | + const char** get_tracked_conf_keys() const override; |
| 53 | + void handle_conf_change( |
| 54 | + const ConfigProxy& conf, const std::set<std::string> &changed) override {}; |
48 | 55 |
|
49 | | - // config observer |
50 | | - const char** get_tracked_conf_keys() const override; |
51 | | - void handle_conf_change(const ConfigProxy& conf, const std::set<std::string> &changed) override {}; |
| 56 | + // 3 pure virtual methods of the paxosService |
| 57 | + void create_initial() override {}; |
| 58 | + void create_pending() override; |
| 59 | + void encode_pending(MonitorDBStore::TransactionRef t) override; |
52 | 60 |
|
53 | | - // 3 pure virtual methods of the paxosService |
54 | | - void create_initial() override {}; |
55 | | - void create_pending() override; |
56 | | - void encode_pending(MonitorDBStore::TransactionRef t) override; |
| 61 | + void init() override; |
| 62 | + void on_shutdown() override; |
| 63 | + void on_restart() override; |
| 64 | + void update_from_paxos(bool *need_bootstrap) override; |
57 | 65 |
|
58 | | - void init() override; |
59 | | - void on_shutdown() override; |
60 | | - void on_restart() override; |
61 | | - void update_from_paxos(bool *need_bootstrap) override; |
| 66 | + version_t get_trim_to() const override; |
62 | 67 |
|
63 | | - version_t get_trim_to() const override; |
| 68 | + bool preprocess_query(MonOpRequestRef op) override; |
| 69 | + bool prepare_update(MonOpRequestRef op) override; |
64 | 70 |
|
65 | | - bool preprocess_query(MonOpRequestRef op) override; |
66 | | - bool prepare_update(MonOpRequestRef op) override; |
| 71 | + bool preprocess_command(MonOpRequestRef op); |
| 72 | + bool prepare_command(MonOpRequestRef op); |
67 | 73 |
|
68 | | - bool preprocess_command(MonOpRequestRef op); |
69 | | - bool prepare_command(MonOpRequestRef op); |
| 74 | + void encode_full(MonitorDBStore::TransactionRef t) override {} |
70 | 75 |
|
71 | | - void encode_full(MonitorDBStore::TransactionRef t) override { } |
| 76 | + bool preprocess_beacon(MonOpRequestRef op); |
| 77 | + bool prepare_beacon(MonOpRequestRef op); |
72 | 78 |
|
73 | | - bool preprocess_beacon(MonOpRequestRef op); |
74 | | - bool prepare_beacon(MonOpRequestRef op); |
| 79 | + void tick() override; |
| 80 | + void print_summary(ceph::Formatter *f, std::ostream *ss) const; |
75 | 81 |
|
76 | | - void tick() override; |
77 | | - void print_summary(ceph::Formatter *f, std::ostream *ss) const; |
78 | | - |
79 | | - void check_subs(bool type); |
80 | | - void check_sub(Subscription *sub); |
| 82 | + void check_subs(bool type); |
| 83 | + void check_sub(Subscription *sub); |
81 | 84 |
|
82 | 85 | private: |
83 | | - void synchronize_last_beacon(); |
| 86 | + void synchronize_last_beacon(); |
84 | 87 |
|
85 | 88 | }; |
86 | 89 |
|
|
0 commit comments