Files
nekoray/db/TrafficData.hpp
2022-11-18 14:20:30 +09:00

41 lines
1.1 KiB
C++

#pragma once
#include "main/NekoRay.hpp"
namespace NekoRay::traffic {
class TrafficData : public JsonStore {
public:
int id = -1; // ent id
std::string tag;
long long downlink = 0;
long long uplink = 0;
long long downlink_rate = 0;
long long uplink_rate = 0;
long long last_update;
explicit TrafficData(std::string tag) {
this->tag = std::move(tag);
_add(new configItem("dl", &downlink, itemType::integer64));
_add(new configItem("ul", &uplink, itemType::integer64));
};
void Reset() {
downlink = 0;
uplink = 0;
downlink_rate = 0;
uplink_rate = 0;
}
[[nodiscard]] QString DisplaySpeed() const {
return QString("%1↑ %2↓").arg(ReadableSize(uplink_rate), ReadableSize(downlink_rate));
}
[[nodiscard]] QString DisplayTraffic() const {
if (downlink + uplink == 0) return "";
return QString("%1↑ %2↓").arg(ReadableSize(uplink), ReadableSize(downlink));
}
};
} // namespace NekoRay::traffic