Make use of std algorithms

This commit is contained in:
Chocobo1 2019-01-11 16:05:57 +08:00
parent 40eb8a1f4a
commit 6d29a3af60
No known key found for this signature in database
GPG key ID: 210D9C873253A68C
10 changed files with 67 additions and 61 deletions

View file

@ -28,6 +28,8 @@
#include "synccontroller.h"
#include <algorithm>
#include <QJsonObject>
#include <QThread>
#include <QTimer>
@ -133,9 +135,12 @@ namespace
map[KEY_TRANSFER_TOTAL_BUFFERS_SIZE] = cacheStatus.totalUsedBuffers * 16 * 1024;
// num_peers is not reliable (adds up peers, which didn't even overcome tcp handshake)
quint32 peers = 0;
for (BitTorrent::TorrentHandle *const torrent : asConst(BitTorrent::Session::instance()->torrents()))
peers += torrent->peersCount();
const auto torrents = BitTorrent::Session::instance()->torrents();
const quint32 peers = std::accumulate(torrents.cbegin(), torrents.cend(), 0, [](const quint32 acc, const BitTorrent::TorrentHandle *torrent)
{
return (acc + torrent->peersCount());
});
map[KEY_TRANSFER_WRITE_CACHE_OVERLOAD] = ((sessionStatus.diskWriteQueue > 0) && (peers > 0)) ? Utils::String::fromDouble((100. * sessionStatus.diskWriteQueue) / peers, 2) : "0";
map[KEY_TRANSFER_READ_CACHE_OVERLOAD] = ((sessionStatus.diskReadQueue > 0) && (peers > 0)) ? Utils::String::fromDouble((100. * sessionStatus.diskReadQueue) / peers, 2) : "0";