From c99060950bf290c0dcfd463d44c83aaaab4c544e Mon Sep 17 00:00:00 2001 From: fufesou Date: Tue, 26 Aug 2025 17:16:08 +0800 Subject: [PATCH] fix: file transfer, resume, init finished size Signed-off-by: fufesou --- src/fs.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/fs.rs b/src/fs.rs index ff05a35a5..4b672b215 100644 --- a/src/fs.rs +++ b/src/fs.rs @@ -612,6 +612,19 @@ impl TransferJob { } } + #[inline] + pub fn set_finished_size_on_resume(&mut self) { + if self.is_resume && self.file_num > 0 { + let finished_size: u64 = self + .files + .iter() + .take(self.file_num as usize) + .map(|file| file.size) + .sum(); + self.finished_size = finished_size; + } + } + pub async fn write(&mut self, block: FileTransferBlock) -> ResultType<()> { if block.id != self.id { bail!("Wrong id");