feat: use lambdas again for task registration
This commit is contained in:
@@ -11,23 +11,12 @@ ClusterManager::ClusterManager(NodeContext& ctx, TaskManager& taskMgr) : ctx(ctx
|
||||
}
|
||||
|
||||
void ClusterManager::registerTasks() {
|
||||
// Register all cluster-related tasks using std::bind
|
||||
taskManager.registerTask("discovery_send", ctx.config.discovery_interval_ms,
|
||||
std::bind(&ClusterManager::sendDiscovery, this));
|
||||
taskManager.registerTask("discovery_listen", ctx.config.discovery_interval_ms / 10,
|
||||
std::bind(&ClusterManager::listenForDiscovery, this));
|
||||
taskManager.registerTask("status_update", ctx.config.status_update_interval_ms,
|
||||
std::bind([](ClusterManager* cm) {
|
||||
cm->updateAllNodeStatuses();
|
||||
cm->removeDeadNodes();
|
||||
}, this));
|
||||
taskManager.registerTask("print_members", ctx.config.print_interval_ms,
|
||||
std::bind(&ClusterManager::printMemberList, this));
|
||||
taskManager.registerTask("heartbeat", ctx.config.heartbeat_interval_ms,
|
||||
std::bind(&ClusterManager::heartbeatTaskCallback, this));
|
||||
taskManager.registerTask("update_members_info", ctx.config.member_info_update_interval_ms,
|
||||
std::bind(&ClusterManager::updateAllMembersInfoTaskCallback, this));
|
||||
|
||||
taskManager.registerTask("discovery_send", ctx.config.discovery_interval_ms, [this]() { sendDiscovery(); });
|
||||
taskManager.registerTask("discovery_listen", ctx.config.discovery_interval_ms / 10, [this]() { listenForDiscovery(); });
|
||||
taskManager.registerTask("status_update", ctx.config.status_update_interval_ms, [this]() { updateAllNodeStatuses(); removeDeadNodes(); });
|
||||
taskManager.registerTask("print_members", ctx.config.print_interval_ms, [this]() { printMemberList(); });
|
||||
taskManager.registerTask("heartbeat", ctx.config.heartbeat_interval_ms, [this]() { heartbeatTaskCallback(); });
|
||||
taskManager.registerTask("update_members_info", ctx.config.member_info_update_interval_ms, [this]() { updateAllMembersInfoTaskCallback(); });
|
||||
Serial.println("[ClusterManager] Registered all cluster tasks");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user