mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-08-22 14:23:35 -07:00
try adding request_timeout option
This commit is contained in:
parent
fe9dc131bc
commit
43e1f7faaf
7 changed files with 44 additions and 1 deletions
|
@ -332,6 +332,8 @@ namespace BitTorrent
|
|||
virtual void setHashingThreads(int num) = 0;
|
||||
virtual int filePoolSize() const = 0;
|
||||
virtual void setFilePoolSize(int size) = 0;
|
||||
virtual int requestTimeout() const = 0;
|
||||
virtual void setRequestTimeout(int size) = 0;
|
||||
virtual int checkingMemUsage() const = 0;
|
||||
virtual void setCheckingMemUsage(int size) = 0;
|
||||
virtual int diskCacheSize() const = 0;
|
||||
|
|
|
@ -408,6 +408,7 @@ SessionImpl::SessionImpl(QObject *parent)
|
|||
, m_asyncIOThreads(BITTORRENT_SESSION_KEY(u"AsyncIOThreadsCount"_s), 10)
|
||||
, m_hashingThreads(BITTORRENT_SESSION_KEY(u"HashingThreadsCount"_s), 1)
|
||||
, m_filePoolSize(BITTORRENT_SESSION_KEY(u"FilePoolSize"_s), 100)
|
||||
, m_requestTimeout(BITTORRENT_SESSION_KEY(u"RequestTimeout"_s), 60)
|
||||
, m_checkingMemUsage(BITTORRENT_SESSION_KEY(u"CheckingMemUsageSize"_s), 32)
|
||||
, m_diskCacheSize(BITTORRENT_SESSION_KEY(u"DiskCacheSize"_s), -1)
|
||||
, m_diskCacheTTL(BITTORRENT_SESSION_KEY(u"DiskCacheTTL"_s), 60)
|
||||
|
@ -1916,6 +1917,7 @@ lt::settings_pack SessionImpl::loadLTSettings() const
|
|||
settingsPack.set_int(lt::settings_pack::hashing_threads, hashingThreads());
|
||||
#endif
|
||||
settingsPack.set_int(lt::settings_pack::file_pool_size, filePoolSize());
|
||||
settingsPack.set_int(lt::settings_pack::request_timeout, requestTimeout());
|
||||
|
||||
const int checkingMemUsageSize = checkingMemUsage() * 64;
|
||||
settingsPack.set_int(lt::settings_pack::checking_mem_usage, checkingMemUsageSize);
|
||||
|
@ -4412,6 +4414,20 @@ void SessionImpl::setFilePoolSize(const int size)
|
|||
configureDeferred();
|
||||
}
|
||||
|
||||
int SessionImpl::requestTimeout() const
|
||||
{
|
||||
return m_requestTimeout;
|
||||
}
|
||||
|
||||
void SessionImpl::setRequestTimeout(const int size)
|
||||
{
|
||||
if (size == m_requestTimeout)
|
||||
return;
|
||||
|
||||
m_requestTimeout = size;
|
||||
configureDeferred();
|
||||
}
|
||||
|
||||
int SessionImpl::checkingMemUsage() const
|
||||
{
|
||||
return std::max(1, m_checkingMemUsage.get());
|
||||
|
|
|
@ -301,6 +301,8 @@ namespace BitTorrent
|
|||
void setHashingThreads(int num) override;
|
||||
int filePoolSize() const override;
|
||||
void setFilePoolSize(int size) override;
|
||||
int requestTimeout() const override;
|
||||
void setRequestTimeout(int size) override;
|
||||
int checkingMemUsage() const override;
|
||||
void setCheckingMemUsage(int size) override;
|
||||
int diskCacheSize() const override;
|
||||
|
@ -637,6 +639,7 @@ namespace BitTorrent
|
|||
CachedSettingValue<int> m_asyncIOThreads;
|
||||
CachedSettingValue<int> m_hashingThreads;
|
||||
CachedSettingValue<int> m_filePoolSize;
|
||||
CachedSettingValue<int> m_requestTimeout;
|
||||
CachedSettingValue<int> m_checkingMemUsage;
|
||||
CachedSettingValue<int> m_diskCacheSize;
|
||||
CachedSettingValue<int> m_diskCacheTTL;
|
||||
|
|
|
@ -121,6 +121,7 @@ namespace
|
|||
HASHING_THREADS,
|
||||
#endif
|
||||
FILE_POOL_SIZE,
|
||||
REQUEST_TIMEOUT,
|
||||
CHECKING_MEM_USAGE,
|
||||
#ifndef QBT_USES_LIBTORRENT2
|
||||
// cache
|
||||
|
@ -226,6 +227,8 @@ void AdvancedSettings::saveAdvancedSettings() const
|
|||
#endif
|
||||
// File pool size
|
||||
session->setFilePoolSize(m_spinBoxFilePoolSize.value());
|
||||
// Request timeout
|
||||
session->setRequestTimeout(m_spinBoxRequestTimeout.value());
|
||||
// Checking Memory Usage
|
||||
session->setCheckingMemUsage(m_spinBoxCheckingMemUsage.value());
|
||||
#ifndef QBT_USES_LIBTORRENT2
|
||||
|
@ -542,6 +545,10 @@ void AdvancedSettings::loadAdvancedSettings()
|
|||
m_spinBoxFilePoolSize.setValue(session->filePoolSize());
|
||||
addRow(FILE_POOL_SIZE, (tr("File pool size") + u' ' + makeLink(u"https://www.libtorrent.org/reference-Settings.html#file_pool_size", u"(?)"))
|
||||
, &m_spinBoxFilePoolSize);
|
||||
// Timouts
|
||||
m_spinBoxRequestTimeout.setValue(session->requestTimeout());
|
||||
addRow(REQUEST_TIMEOUT, (tr("Request timeout") + u' ' + makeLink(u"https://www.libtorrent.org/reference-Settings.html#request_timeout", u"(?)"))
|
||||
, &m_spinBoxRequestTimeout);
|
||||
|
||||
// Checking Memory Usage
|
||||
m_spinBoxCheckingMemUsage.setMinimum(1);
|
||||
|
|
|
@ -69,7 +69,7 @@ private:
|
|||
template <typename T> void addRow(int row, const QString &text, T *widget);
|
||||
|
||||
QSpinBox m_spinBoxSaveResumeDataInterval, m_spinBoxSaveStatisticsInterval, m_spinBoxTorrentFileSizeLimit, m_spinBoxBdecodeDepthLimit, m_spinBoxBdecodeTokenLimit,
|
||||
m_spinBoxAsyncIOThreads, m_spinBoxFilePoolSize, m_spinBoxCheckingMemUsage, m_spinBoxDiskQueueSize,
|
||||
m_spinBoxAsyncIOThreads, m_spinBoxFilePoolSize, m_spinBoxRequestTimeout, m_spinBoxCheckingMemUsage, m_spinBoxDiskQueueSize,
|
||||
m_spinBoxOutgoingPortsMin, m_spinBoxOutgoingPortsMax, m_spinBoxUPnPLeaseDuration, m_spinBoxPeerToS,
|
||||
m_spinBoxListRefresh, m_spinBoxTrackerPort, m_spinBoxSendBufferWatermark, m_spinBoxSendBufferLowWatermark,
|
||||
m_spinBoxSendBufferWatermarkFactor, m_spinBoxConnectionSpeed, m_spinBoxSocketSendBufferSize, m_spinBoxSocketReceiveBufferSize, m_spinBoxSocketBacklogSize,
|
||||
|
|
|
@ -415,6 +415,8 @@ void AppController::preferencesAction()
|
|||
data[u"hashing_threads"_s] = session->hashingThreads();
|
||||
// File pool size
|
||||
data[u"file_pool_size"_s] = session->filePoolSize();
|
||||
// Request timeout
|
||||
data[u"request_timeout"_s] = session->requestTimeout()();
|
||||
// Checking memory usage
|
||||
data[u"checking_memory_use"_s] = session->checkingMemUsage();
|
||||
// Disk write cache
|
||||
|
@ -1051,6 +1053,9 @@ void AppController::setPreferencesAction()
|
|||
// File pool size
|
||||
if (hasKey(u"file_pool_size"_s))
|
||||
session->setFilePoolSize(it.value().toInt());
|
||||
// Request timeout
|
||||
if (hasKey(u"request_timeout"_s))
|
||||
session->setRequestTimeout(it.value().toInt());
|
||||
// Checking Memory Usage
|
||||
if (hasKey(u"checking_memory_use"_s))
|
||||
session->setCheckingMemUsage(it.value().toInt());
|
||||
|
|
|
@ -1343,6 +1343,14 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD
|
|||
<input type="text" id="filePoolSize" style="width: 15em;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="requestTimeout">QBT_TR(Request timeout:)QBT_TR[CONTEXT=OptionsDialog] <a href="https://www.libtorrent.org/reference-Settings.html#request_timeout" target="_blank">(?)</a></label>
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" id="requestTimeout" style="width: 15em;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="outstandMemoryWhenCheckingTorrents">QBT_TR(Outstanding memory when checking torrents:)QBT_TR[CONTEXT=OptionsDialog] <a href="https://www.libtorrent.org/reference-Settings.html#checking_mem_usage" target="_blank">(?)</a></label>
|
||||
|
@ -2559,6 +2567,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD
|
|||
$("asyncIOThreads").value = pref.async_io_threads;
|
||||
$("hashingThreads").value = pref.hashing_threads;
|
||||
$("filePoolSize").value = pref.file_pool_size;
|
||||
$("requestTimeout").value = pref.requestTimeout;
|
||||
$("outstandMemoryWhenCheckingTorrents").value = pref.checking_memory_use;
|
||||
$("diskCache").value = pref.disk_cache;
|
||||
$("diskCacheExpiryInterval").value = pref.disk_cache_ttl;
|
||||
|
@ -3027,6 +3036,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD
|
|||
settings["async_io_threads"] = Number($("asyncIOThreads").value);
|
||||
settings["hashing_threads"] = Number($("hashingThreads").value);
|
||||
settings["file_pool_size"] = Number($("filePoolSize").value);
|
||||
settings["request_timeout"] = Number($("requestTimeout").value);
|
||||
settings["checking_memory_use"] = Number($("outstandMemoryWhenCheckingTorrents").value);
|
||||
settings["disk_cache"] = Number($("diskCache").value);
|
||||
settings["disk_cache_ttl"] = Number($("diskCacheExpiryInterval").value);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue