add ToHumanReadableSize, which formats data sizes into MiB, GiB, etc.

this is needed in order to display data sizes in upcoming changes
related to tracking statistics about the server's performance
This commit is contained in:
Lion Kortlepel committed 2022-11-23 09:34:49 +01:00
1 parent 6842dccfc3
commit 692129cb81
2 files changed
+17

No files matched your search

+14
View File
@@ -427,3 +427,17 @@ std::string GetPlatformAgnosticErrorString() {
return "(no human-readable errors on this platform)";
#endif
}
std::string ToHumanReadableSize(size_t Size) {
if (Size > TB) {
return fmt::format("{:.2f} TiB", double(Size) / TB);
} else if (Size > GB) {
return fmt::format("{:.2f} GiB", double(Size) / GB);
} else if (Size > MB) {
return fmt::format("{:.2f} MiB", double(Size) / MB);
} else if (Size > KB) {
return fmt::format("{:.2f} KiB", double(Size) / KB);
} else {
return fmt::format("{} B", Size);
}
}