From ac6603c22b78d924985f8382826744afd01f5320 Mon Sep 17 00:00:00 2001 From: sim1222 Date: Thu, 18 Jul 2024 10:33:49 +0900 Subject: [PATCH] limit chunk count --- src/main.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 23d375f..548a5ec 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,5 @@ use std::{ + cmp::{max, min}, io::{stdout, Write}, path::{Path, PathBuf}, sync::Arc, @@ -392,10 +393,12 @@ async fn multipart_upload( let upload_id = multipart_upload_res.upload_id().unwrap().to_string(); - let mut chunk_count = file_size / CHUNK_SIZE as u64; - let mut size_of_last_chunk = file_size % CHUNK_SIZE as u64; + let chunk_size = max(CHUNK_SIZE as u64, file_size / 10000); + + let mut chunk_count = file_size / chunk_size; + let mut size_of_last_chunk = file_size % chunk_size; if size_of_last_chunk == 0 { - size_of_last_chunk = CHUNK_SIZE as u64; + size_of_last_chunk = chunk_size; chunk_count -= 1; }