From 2a4d9a85d5a38f4019a3663b74fb849c3ea1b4d8 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sat, 13 Apr 2024 16:17:27 +0300 Subject: [PATCH] Download files in filename priority by default --- crates/librqbit/src/torrent_state/live/mod.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/librqbit/src/torrent_state/live/mod.rs b/crates/librqbit/src/torrent_state/live/mod.rs index 0c3600f..56e90ee 100644 --- a/crates/librqbit/src/torrent_state/live/mod.rs +++ b/crates/librqbit/src/torrent_state/live/mod.rs @@ -219,7 +219,12 @@ impl TorrentStateLive { reopen_necessary_files_for_write(&paused.chunk_tracker, &paused.files)?; // TODO: make it configurable - let file_priorities = (0..paused.files.len()).collect(); + let file_priorities = { + let mut pri = (0..paused.files.len()).collect::>(); + // sort by filename, cause many torrents have random sort order. + pri.sort_unstable_by_key(|id| paused.files.get(*id).map(|op| op.filename.as_path())); + pri + }; let state = Arc::new(TorrentStateLive { meta: paused.info.clone(),