mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-01-01 13:18:06 -06:00
Merge pull request #17367 from Chocobo1/pr_17005
Split the OS cache settings into Disk IO read/write modes
This commit is contained in:
@@ -324,8 +324,10 @@ void AppController::preferencesAction()
|
||||
data[u"disk_queue_size"_qs] = session->diskQueueSize();
|
||||
// Disk IO Type
|
||||
data[u"disk_io_type"_qs] = static_cast<int>(session->diskIOType());
|
||||
// Enable OS cache
|
||||
data[u"enable_os_cache"_qs] = session->useOSCache();
|
||||
// Disk IO read mode
|
||||
data[u"disk_io_read_mode"_qs] = static_cast<int>(session->diskIOReadMode());
|
||||
// Disk IO write mode
|
||||
data[u"disk_io_write_mode"_qs] = static_cast<int>(session->diskIOWriteMode());
|
||||
// Coalesce reads & writes
|
||||
data[u"enable_coalesce_read_write"_qs] = session->isCoalesceReadWriteEnabled();
|
||||
// Piece Extent Affinity
|
||||
@@ -817,9 +819,12 @@ void AppController::setPreferencesAction()
|
||||
// Disk IO Type
|
||||
if (hasKey(u"disk_io_type"_qs))
|
||||
session->setDiskIOType(static_cast<BitTorrent::DiskIOType>(it.value().toInt()));
|
||||
// Enable OS cache
|
||||
if (hasKey(u"enable_os_cache"_qs))
|
||||
session->setUseOSCache(it.value().toBool());
|
||||
// Disk IO read mode
|
||||
if (hasKey(u"disk_io_read_mode"_qs))
|
||||
session->setDiskIOReadMode(static_cast<BitTorrent::DiskIOReadMode>(it.value().toInt()));
|
||||
// Disk IO write mode
|
||||
if (hasKey(u"disk_io_write_mode"_qs))
|
||||
session->setDiskIOWriteMode(static_cast<BitTorrent::DiskIOWriteMode>(it.value().toInt()));
|
||||
// Coalesce reads & writes
|
||||
if (hasKey(u"enable_coalesce_read_write"_qs))
|
||||
session->setCoalesceReadWriteEnabled(it.value().toBool());
|
||||
|
||||
@@ -1060,10 +1060,25 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="enableOSCache">QBT_TR(Enable OS cache:)QBT_TR[CONTEXT=OptionsDialog] <a href="https://www.libtorrent.org/reference-Settings.html#disk_io_write_mode" target="_blank">(?)</a></label>
|
||||
<label for="diskIOReadMode">QBT_TR(Disk IO read mode:)QBT_TR[CONTEXT=OptionsDialog] <a href="https://www.libtorrent.org/reference-Settings.html#disk_io_read_mode" target="_blank">(?)</a></label>
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" id="enableOSCache" />
|
||||
<select id="diskIOReadMode" style="width: 15em;">
|
||||
<option value="0">QBT_TR(Disable OS cache)QBT_TR[CONTEXT=OptionsDialog]</option>
|
||||
<option value="1">QBT_TR(Enable OS cache)QBT_TR[CONTEXT=OptionsDialog]</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label for="diskIOWriteMode">QBT_TR(Disk IO write mode:)QBT_TR[CONTEXT=OptionsDialog] <a href="https://www.libtorrent.org/reference-Settings.html#disk_io_write_mode" target="_blank">(?)</a></label>
|
||||
</td>
|
||||
<td>
|
||||
<select id="diskIOWriteMode" style="width: 15em;">
|
||||
<option value="0">QBT_TR(Disable OS cache)QBT_TR[CONTEXT=OptionsDialog]</option>
|
||||
<option value="1">QBT_TR(Enable OS cache)QBT_TR[CONTEXT=OptionsDialog]</option>
|
||||
<option value="2">QBT_TR(Write-through (requires libtorrent >= 2.0.6))QBT_TR[CONTEXT=OptionsDialog]</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -2003,7 +2018,8 @@
|
||||
$('diskCacheExpiryInterval').setProperty('value', pref.disk_cache_ttl);
|
||||
$('diskQueueSize').setProperty('value', (pref.disk_queue_size / 1024));
|
||||
$('diskIOType').setProperty('value', pref.disk_io_type);
|
||||
$('enableOSCache').setProperty('checked', pref.enable_os_cache);
|
||||
$('diskIOReadMode').setProperty('value', pref.disk_io_read_mode);
|
||||
$('diskIOWriteMode').setProperty('value', pref.disk_io_write_mode);
|
||||
$('coalesceReadsAndWrites').setProperty('checked', pref.enable_coalesce_read_write);
|
||||
$('pieceExtentAffinity').setProperty('checked', pref.enable_piece_extent_affinity);
|
||||
$('sendUploadPieceSuggestions').setProperty('checked', pref.enable_upload_suggestions);
|
||||
@@ -2409,7 +2425,8 @@
|
||||
settings.set('disk_cache_ttl', $('diskCacheExpiryInterval').getProperty('value'));
|
||||
settings.set('disk_queue_size', ($('diskQueueSize').getProperty('value') * 1024));
|
||||
settings.set('disk_io_type', $('diskIOType').getProperty('value'));
|
||||
settings.set('enable_os_cache', $('enableOSCache').getProperty('checked'));
|
||||
settings.set('disk_io_read_mode', $('diskIOReadMode').getProperty('value'));
|
||||
settings.set('disk_io_write_mode', $('diskIOWriteMode').getProperty('value'));
|
||||
settings.set('enable_coalesce_read_write', $('coalesceReadsAndWrites').getProperty('checked'));
|
||||
settings.set('enable_piece_extent_affinity', $('pieceExtentAffinity').getProperty('checked'));
|
||||
settings.set('enable_upload_suggestions', $('sendUploadPieceSuggestions').getProperty('checked'));
|
||||
|
||||
Reference in New Issue
Block a user