mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-27 03:39:39 +03:00
Merge pull request #13188 from jagannatharjun/fix-speed
Fix impossible speed in graph
This commit is contained in:
commit
a2a5c28c9f
2 changed files with 23 additions and 11 deletions
|
@ -516,7 +516,6 @@ Session::Session(QObject *parent)
|
||||||
, m_OSMemoryPriority(BITTORRENT_KEY("OSMemoryPriority"), OSMemoryPriority::BelowNormal)
|
, m_OSMemoryPriority(BITTORRENT_KEY("OSMemoryPriority"), OSMemoryPriority::BelowNormal)
|
||||||
#endif
|
#endif
|
||||||
, m_resumeFolderLock {new QFile {this}}
|
, m_resumeFolderLock {new QFile {this}}
|
||||||
, m_refreshTimer {new QTimer {this}}
|
|
||||||
, m_seedingLimitTimer {new QTimer {this}}
|
, m_seedingLimitTimer {new QTimer {this}}
|
||||||
, m_resumeDataTimer {new QTimer {this}}
|
, m_resumeDataTimer {new QTimer {this}}
|
||||||
, m_statistics {new Statistics {this}}
|
, m_statistics {new Statistics {this}}
|
||||||
|
@ -552,10 +551,7 @@ Session::Session(QObject *parent)
|
||||||
|
|
||||||
m_tags = List::toSet(m_storedTags.value());
|
m_tags = List::toSet(m_storedTags.value());
|
||||||
|
|
||||||
m_refreshTimer->setInterval(refreshInterval());
|
enqueueRefresh();
|
||||||
connect(m_refreshTimer, &QTimer::timeout, this, &Session::refresh);
|
|
||||||
m_refreshTimer->start();
|
|
||||||
|
|
||||||
updateSeedingLimitTimer();
|
updateSeedingLimitTimer();
|
||||||
populateAdditionalTrackers();
|
populateAdditionalTrackers();
|
||||||
|
|
||||||
|
@ -669,7 +665,6 @@ uint Session::refreshInterval() const
|
||||||
void Session::setRefreshInterval(const uint value)
|
void Session::setRefreshInterval(const uint value)
|
||||||
{
|
{
|
||||||
if (value != refreshInterval()) {
|
if (value != refreshInterval()) {
|
||||||
m_refreshTimer->setInterval(value);
|
|
||||||
m_refreshInterval = value;
|
m_refreshInterval = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4141,10 +4136,17 @@ quint64 Session::getAlltimeUL() const
|
||||||
return m_statistics->getAlltimeUL();
|
return m_statistics->getAlltimeUL();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Session::refresh()
|
void Session::enqueueRefresh()
|
||||||
{
|
{
|
||||||
m_nativeSession->post_torrent_updates();
|
Q_ASSERT(!m_refreshEnqueued);
|
||||||
m_nativeSession->post_session_stats();
|
|
||||||
|
QTimer::singleShot(refreshInterval(), this, [this] ()
|
||||||
|
{
|
||||||
|
m_nativeSession->post_torrent_updates();
|
||||||
|
m_nativeSession->post_session_stats();
|
||||||
|
});
|
||||||
|
|
||||||
|
m_refreshEnqueued = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Session::handleIPFilterParsed(const int ruleCount)
|
void Session::handleIPFilterParsed(const int ruleCount)
|
||||||
|
@ -4680,6 +4682,11 @@ void Session::handleSessionStatsAlert(const lt::session_stats_alert *p)
|
||||||
? (stats[m_metricIndices.disk.diskJobTime] / totalJobs) : 0;
|
? (stats[m_metricIndices.disk.diskJobTime] / totalJobs) : 0;
|
||||||
|
|
||||||
emit statsUpdated();
|
emit statsUpdated();
|
||||||
|
|
||||||
|
if (m_refreshEnqueued)
|
||||||
|
m_refreshEnqueued = false;
|
||||||
|
else
|
||||||
|
enqueueRefresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Session::handleAlertsDroppedAlert(const lt::alerts_dropped_alert *p) const
|
void Session::handleAlertsDroppedAlert(const lt::alerts_dropped_alert *p) const
|
||||||
|
@ -4747,6 +4754,11 @@ void Session::handleStateUpdateAlert(const lt::state_update_alert *p)
|
||||||
|
|
||||||
if (!updatedTorrents.isEmpty())
|
if (!updatedTorrents.isEmpty())
|
||||||
emit torrentsUpdated(updatedTorrents);
|
emit torrentsUpdated(updatedTorrents);
|
||||||
|
|
||||||
|
if (m_refreshEnqueued)
|
||||||
|
m_refreshEnqueued = false;
|
||||||
|
else
|
||||||
|
enqueueRefresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (LIBTORRENT_VERSION_NUM >= 10204)
|
#if (LIBTORRENT_VERSION_NUM >= 10204)
|
||||||
|
|
|
@ -518,7 +518,7 @@ namespace BitTorrent
|
||||||
private slots:
|
private slots:
|
||||||
void configureDeferred();
|
void configureDeferred();
|
||||||
void readAlerts();
|
void readAlerts();
|
||||||
void refresh();
|
void enqueueRefresh();
|
||||||
void processShareLimits();
|
void processShareLimits();
|
||||||
void generateResumeData(bool final = false);
|
void generateResumeData(bool final = false);
|
||||||
void handleIPFilterParsed(int ruleCount);
|
void handleIPFilterParsed(int ruleCount);
|
||||||
|
@ -729,7 +729,7 @@ namespace BitTorrent
|
||||||
QString m_resumeFolderPath;
|
QString m_resumeFolderPath;
|
||||||
QFile *m_resumeFolderLock = nullptr;
|
QFile *m_resumeFolderLock = nullptr;
|
||||||
|
|
||||||
QTimer *m_refreshTimer = nullptr;
|
bool m_refreshEnqueued = false;
|
||||||
QTimer *m_seedingLimitTimer = nullptr;
|
QTimer *m_seedingLimitTimer = nullptr;
|
||||||
QTimer *m_resumeDataTimer = nullptr;
|
QTimer *m_resumeDataTimer = nullptr;
|
||||||
Statistics *m_statistics = nullptr;
|
Statistics *m_statistics = nullptr;
|
||||||
|
|
Loading…
Reference in a new issue