bootstrap();
+ // encode command sets
+ const MonCommand *cmds;
+ int cmdsize;
+ get_locally_supported_monitor_commands(&cmds, &cmdsize);
+ MonCommand::encode_array(cmds, cmdsize, supported_commands_bl);
+ get_classic_monitor_commands(&cmds, &cmdsize);
+ MonCommand::encode_array(cmds, cmdsize, classic_commands_bl);
+
lock.Unlock();
return 0;
}
utime_t leader_since; // when this monitor became the leader, if it is the leader
utime_t exited_quorum; // time detected as not in quorum; 0 if in
uint64_t quorum_features; ///< intersection of quorum member feature bits
+ bufferlist supported_commands_bl; // encoded MonCommands we support
+ bufferlist classic_commands_bl; // encoded MonCommands supported by Dumpling
set<string> outside_quorum;
uint64_t features); // end election (called by Elector)
void finish_election();
+ const bufferlist& get_supported_commands_bl() {
+ return supported_commands_bl;
+ }
+ const bufferlist& get_classic_commands_bl() {
+ return classic_commands_bl;
+ }
+
void update_logger();
/**