Expose libtorrent max_concurrent_http_announces in advanced settings

This commit is contained in:
an0n666 2020-09-03 09:24:30 +06:00
parent 1c87073990
commit 73b39a8dec
6 changed files with 51 additions and 5 deletions

View file

@ -318,6 +318,7 @@ Session::Session(QObject *parent)
, m_ignoreLimitsOnLAN(BITTORRENT_SESSION_KEY("IgnoreLimitsOnLAN"), false)
, m_includeOverheadInLimits(BITTORRENT_SESSION_KEY("IncludeOverheadInLimits"), false)
, m_announceIP(BITTORRENT_SESSION_KEY("AnnounceIP"))
, m_maxConcurrentHTTPAnnounces(BITTORRENT_SESSION_KEY("MaxConcurrentHTTPAnnounces"), 50)
#if (LIBTORRENT_VERSION_NUM >= 10206)
, m_stopTrackerTimeout(BITTORRENT_SESSION_KEY("StopTrackerTimeout"), 5)
#else
@ -1279,6 +1280,10 @@ void Session::loadLTSettings(lt::settings_pack &settingsPack)
settingsPack.set_bool(lt::settings_pack::rate_limit_ip_overhead, includeOverheadInLimits());
// IP address to announce to trackers
settingsPack.set_str(lt::settings_pack::announce_ip, announceIP().toStdString());
#if (LIBTORRENT_VERSION_NUM >= 10207)
// Max concurrent HTTP announces
settingsPack.set_int(lt::settings_pack::max_concurrent_http_announces, maxConcurrentHTTPAnnounces());
#endif
// Stop tracker timeout
settingsPack.set_int(lt::settings_pack::stop_tracker_timeout, stopTrackerTimeout());
// * Max connections limit
@ -3377,6 +3382,20 @@ void Session::setAnnounceIP(const QString &ip)
}
}
int Session::maxConcurrentHTTPAnnounces() const
{
return m_maxConcurrentHTTPAnnounces;
}
void Session::setMaxConcurrentHTTPAnnounces(const int value)
{
if (value == m_maxConcurrentHTTPAnnounces)
return;
m_maxConcurrentHTTPAnnounces = value;
configureDeferred();
}
int Session::stopTrackerTimeout() const
{
return m_stopTrackerTimeout;