return true;
}
-void DaemonServer::update_task_status(DaemonKey key, const ref_t<MMgrReport>& m) {
+void DaemonServer::update_task_status(
+ DaemonKey key,
+ const std::map<std::string,std::string>& task_status)
+{
dout(10) << "got task status from " << key << dendl;
bool service_map_dirty = false;
- if ((*m->task_status).empty()) {
+ if (task_status.empty()) {
auto removed = pending_service_map.rm_daemon(key.type, key.name);
if (removed) {
service_map_dirty = true;
}
} else {
auto p = pending_service_map.get_daemon(key.type, key.name);
- if (!map_compare(p.first->task_status, *m->task_status)) {
+ if (!map_compare(p.first->task_status, task_status)) {
service_map_dirty = true;
- p.first->task_status = *m->task_status;
+ p.first->task_status = task_status;
}
}
}
// update task status
if (m->task_status) {
- update_task_status(key, m);
+ update_task_status(key, *m->task_status);
daemon->last_service_beacon = now;
}
if (m->get_connection()->peer_is_osd() || m->get_connection()->peer_is_mon()) {
}
};
- void update_task_status(DaemonKey key, const ref_t<MMgrReport>& m);
+ void update_task_status(DaemonKey key,
+ const std::map<std::string,std::string>& task_status);
public:
int init(uint64_t gid, entity_addrvec_t client_addrs);