From c8d21a12ad63f4569ab2079109d9d3e4d0532b23 Mon Sep 17 00:00:00 2001 From: Patrick Balsiger Date: Fri, 22 Aug 2025 16:16:07 +0200 Subject: [PATCH] feat: use lambdas again for task registration --- src/ClusterManager.cpp | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/src/ClusterManager.cpp b/src/ClusterManager.cpp index c339e0d..122c114 100644 --- a/src/ClusterManager.cpp +++ b/src/ClusterManager.cpp @@ -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"); }