/* */ #include "TransferStat.h" #include namespace aria2 { TransferStat operator+(const TransferStat& a, const TransferStat& b) { TransferStat c(a); c += b; return c; } TransferStat operator-(const TransferStat& a, const TransferStat& b) { TransferStat c(a); c -= b; return c; } TransferStat& TransferStat::operator+=(const TransferStat& b) { downloadSpeed += b.downloadSpeed; uploadSpeed += b.uploadSpeed; sessionDownloadLength += b.sessionDownloadLength; sessionUploadLength += b.sessionUploadLength; return *this; } TransferStat& TransferStat::operator-=(const TransferStat& b) { downloadSpeed -= b.downloadSpeed; uploadSpeed -= b.uploadSpeed; sessionDownloadLength -= b.sessionDownloadLength; sessionUploadLength -= b.sessionUploadLength; downloadSpeed = std::max(0, downloadSpeed); uploadSpeed = std::max(0, uploadSpeed); sessionDownloadLength = std::max(static_cast(0), sessionDownloadLength); sessionUploadLength = std::max(static_cast(0), sessionUploadLength); return *this; } } // namespace aria2