float to uint64 conversion

This commit is contained in:
2025-12-29 15:26:33 +00:00
parent f4784bc935
commit 8f06af2bd0
8 changed files with 155 additions and 43 deletions
+22 -15
View File
@@ -41,10 +41,12 @@ namespace metrics
buf.writeFloat(f);
// Memory
buf.writeFloat(memory.mem_used);
buf.writeFloat(memory.mem_total);
buf.writeFloat(memory.swap_used);
buf.writeFloat(memory.swap_total);
buf.writeUint64(memory.memory.used);
buf.writeUint64(memory.memory.available);
buf.writeUint64(memory.memory.total);
buf.writeUint64(memory.swap.used);
buf.writeUint64(memory.swap.available);
buf.writeUint64(memory.swap.total);
// Disks
buf.writeUint8(static_cast<uint8_t>(disks.size()));
@@ -52,8 +54,9 @@ namespace metrics
{
buf.writeString(d.name);
buf.writeString(d.path);
buf.writeFloat(d.used);
buf.writeFloat(d.total);
buf.writeUint64(d.metrics.used);
buf.writeUint64(d.metrics.available);
buf.writeUint64(d.metrics.total);
}
return buf.data();
@@ -80,10 +83,12 @@ namespace metrics
h.cpu.coreLoads.push_back(buf.readFloat());
// Memory
h.memory.mem_used = buf.readFloat();
h.memory.mem_total = buf.readFloat();
h.memory.swap_used = buf.readFloat();
h.memory.swap_total = buf.readFloat();
h.memory.memory.used = buf.readUint64();
h.memory.memory.available = buf.readUint64();
h.memory.memory.total = buf.readUint64();
h.memory.swap.used = buf.readUint64();
h.memory.swap.available = buf.readUint64();
h.memory.swap.total = buf.readUint64();
// Disks
uint8_t numDisks = buf.readUint8();
@@ -91,11 +96,13 @@ namespace metrics
h.disks.reserve(numDisks);
for (uint8_t i = 0; i < numDisks; ++i)
{
std::string name = buf.readString();
std::string path = buf.readString();
float used = buf.readFloat();
float total = buf.readFloat();
h.disks.push_back({name, path, used, total});
Disk disk;
disk.name = buf.readString();
disk.path = buf.readString();
disk.metrics.used = buf.readUint64();
disk.metrics.available = buf.readUint64();
disk.metrics.total = buf.readUint64();
h.disks.push_back(disk);
}
return h;