Use alert's timestamp

This way has better accuracy than running our own timer.
This commit is contained in:
Chocobo1 2019-06-01 11:28:37 +08:00
parent 84e683cc99
commit 39830986c2
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
2 changed files with 4 additions and 4 deletions

View File

@ -508,7 +508,6 @@ Session::Session(QObject *parent)
new PortForwarderImpl {m_nativeSession}; new PortForwarderImpl {m_nativeSession};
initMetrics(); initMetrics();
m_statsUpdateTimer.start();
qDebug("* BitTorrent Session constructed"); qDebug("* BitTorrent Session constructed");
} }
@ -4207,7 +4206,9 @@ void Session::handleExternalIPAlert(const lt::external_ip_alert *p)
void Session::handleSessionStatsAlert(const lt::session_stats_alert *p) void Session::handleSessionStatsAlert(const lt::session_stats_alert *p)
{ {
const qreal interval = m_statsUpdateTimer.restart() / 1000.; const qreal interval = lt::total_milliseconds(p->timestamp() - m_statsLastTimestamp) / 1000.;
m_statsLastTimestamp = p->timestamp();
#if (LIBTORRENT_VERSION_NUM < 10200) #if (LIBTORRENT_VERSION_NUM < 10200)
const auto &stats = p->values; const auto &stats = p->values;
#else #else

View File

@ -34,7 +34,6 @@
#include <libtorrent/fwd.hpp> #include <libtorrent/fwd.hpp>
#include <QElapsedTimer>
#include <QFile> #include <QFile>
#include <QHash> #include <QHash>
#include <QList> #include <QList>
@ -701,7 +700,7 @@ namespace BitTorrent
QTimer *m_recentErroredTorrentsTimer; QTimer *m_recentErroredTorrentsTimer;
SessionMetricIndices m_metricIndices; SessionMetricIndices m_metricIndices;
QElapsedTimer m_statsUpdateTimer; lt::time_point m_statsLastTimestamp = lt::clock_type::now();
SessionStatus m_status; SessionStatus m_status;
CacheStatus m_cacheStatus; CacheStatus m_cacheStatus;