refactoring/firmware-optimizations #16

Merged
master merged 4 commits from refactoring/firmware-optimizations into main 2025-10-21 13:51:03 +02:00
2 changed files with 20 additions and 23 deletions
Showing only changes of commit daae29dd3f - Show all commits

View File

@@ -20,7 +20,7 @@ public:
void removeDeadNodes(); void removeDeadNodes();
void printMemberList(); void printMemberList();
const std::map<String, NodeInfo>& getMemberList() const { return *ctx.memberList; } const std::map<String, NodeInfo>& getMemberList() const { return *ctx.memberList; }
void updateLocalNodeResources(); void updateLocalNodeResources(NodeInfo& node);
void heartbeatTaskCallback(); void heartbeatTaskCallback();
void updateAllMembersInfoTaskCallback(); void updateAllMembersInfoTaskCallback();
void broadcastNodeUpdate(); void broadcastNodeUpdate();

View File

@@ -380,10 +380,7 @@ void ClusterManager::heartbeatTaskCallback() {
auto it = memberList.find(ctx.hostname); auto it = memberList.find(ctx.hostname);
if (it != memberList.end()) { if (it != memberList.end()) {
NodeInfo& node = it->second; NodeInfo& node = it->second;
node.lastSeen = millis(); updateLocalNodeResources(node);
node.status = NodeInfo::ACTIVE;
node.uptime = millis(); // Update uptime
updateLocalNodeResources();
addOrUpdateNode(ctx.hostname, ctx.localIP); addOrUpdateNode(ctx.hostname, ctx.localIP);
} }
@@ -481,11 +478,12 @@ void ClusterManager::printMemberList() {
} }
} }
void ClusterManager::updateLocalNodeResources() { void ClusterManager::updateLocalNodeResources(NodeInfo& node) {
auto& memberList = *ctx.memberList; // Update node status and timing
auto it = memberList.find(ctx.hostname); node.lastSeen = millis();
if (it != memberList.end()) { node.status = NodeInfo::ACTIVE;
NodeInfo& node = it->second; node.uptime = millis();
uint32_t freeHeap = ESP.getFreeHeap(); uint32_t freeHeap = ESP.getFreeHeap();
node.resources.freeHeap = freeHeap; node.resources.freeHeap = freeHeap;
node.resources.chipId = ESP.getChipId(); node.resources.chipId = ESP.getChipId();
@@ -500,4 +498,3 @@ void ClusterManager::updateLocalNodeResources() {
LOG_ERROR("Cluster", "Critical memory warning: " + String(freeHeap) + " bytes free"); LOG_ERROR("Cluster", "Critical memory warning: " + String(freeHeap) + " bytes free");
} }
} }
}