From 1c64a0bb506baf1c7af5347ea2e51c1dcf4f2f7c Mon Sep 17 00:00:00 2001 From: Lokeshwar Rao Chilamcharla Date: Fri, 19 May 2023 20:53:38 -0400 Subject: [PATCH] resize file partition changes --- .../service/FilePartitioner.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/src/main/java/org/onedatashare/transferservice/odstransferservice/service/FilePartitioner.java b/src/main/java/org/onedatashare/transferservice/odstransferservice/service/FilePartitioner.java index 4d27a615..fd14b6aa 100644 --- a/src/main/java/org/onedatashare/transferservice/odstransferservice/service/FilePartitioner.java +++ b/src/main/java/org/onedatashare/transferservice/odstransferservice/service/FilePartitioner.java @@ -3,6 +3,8 @@ import org.onedatashare.transferservice.odstransferservice.model.FilePart; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + +import java.util.Collections; import java.util.concurrent.ConcurrentLinkedQueue; import static org.onedatashare.transferservice.odstransferservice.constant.ODSConstants.SIXTYFOUR_KB; @@ -70,4 +72,51 @@ public int createParts(long totalSize, String fileName){ return queue.size(); } + public int resizeParts(long totalSize, String fileName, int newChunkSize){ + if(totalSize<1) return -1; + + synchronized(this.queue){ + FilePart firstPart = this.queue.poll(); + long startPosition = firstPart.getStart(); + long idx = firstPart.getPartIdx(); + long sizeLeft = (totalSize-startPosition); + this.queue.clear(); + if(sizeLeft