From 659e0b7fef84d9eebf2eaad66e5031df1b62781a Mon Sep 17 00:00:00 2001 From: sledgehammer999 Date: Thu, 15 May 2014 21:37:31 +0300 Subject: [PATCH] Fix tracker announcing problem(hit-and-run) when many torrents are being active. Closes #1571 --- src/qtlibtorrent/qbtsession.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/qtlibtorrent/qbtsession.cpp b/src/qtlibtorrent/qbtsession.cpp index 98e75d865..acb6863ce 100755 --- a/src/qtlibtorrent/qbtsession.cpp +++ b/src/qtlibtorrent/qbtsession.cpp @@ -423,10 +423,19 @@ void QBtSession::configureSession() { sessionSettings.active_downloads = max_downloading + HiddenData::getDownloadingSize(); else sessionSettings.active_downloads = max_downloading; - if (max_active > -1) - sessionSettings.active_limit = max_active + HiddenData::getDownloadingSize(); - else + if (max_active > -1) { + int limit = max_active + HiddenData::getDownloadingSize(); + sessionSettings.active_limit = limit; + sessionSettings.active_tracker_limit = limit; + sessionSettings.active_dht_limit = limit; + sessionSettings.active_lsd_limit = limit; + } + else { sessionSettings.active_limit = max_active; + sessionSettings.active_tracker_limit = max_active; + sessionSettings.active_dht_limit = max_active; + sessionSettings.active_lsd_limit = max_active; + } sessionSettings.active_seeds = pref.getMaxActiveUploads(); sessionSettings.dont_count_slow_torrents = pref.ignoreSlowTorrentsForQueueing(); setQueueingEnabled(true); @@ -434,6 +443,9 @@ void QBtSession::configureSession() { sessionSettings.active_downloads = -1; sessionSettings.active_seeds = -1; sessionSettings.active_limit = -1; + sessionSettings.active_tracker_limit = -1; + sessionSettings.active_dht_limit = -1; + sessionSettings.active_lsd_limit = -1; setQueueingEnabled(false); } // Outgoing ports