From b14e4db0a78bed86b06614f1802d7b47810b172c Mon Sep 17 00:00:00 2001 From: Nils Schwabe Date: Fri, 4 Jul 2014 13:05:24 +0200 Subject: Fix small bug and add comment in ImageProcessor --- .../openslx/imagemaster/serverconnection/ImageProcessor.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java b/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java index db3702d..bf21c71 100644 --- a/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java +++ b/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java @@ -55,11 +55,10 @@ public class ImageProcessor String uuid = imageData.uuid; - // check if image is already uploading TODO: what if two clients call this at the same time? + // check if image is already uploading TODO: what if two clients call this at the same time? -> Good question.. (Thought about not sending the last requested. But then the upload will never finish...) if ( uploadingImages.containsKey( uuid ) ) { List missing = getMissingBlocks( uuid, AMOUNT ); if ( missing.isEmpty() ) { - String token = uploadingImages.get( uuid ).getToken(); uploadDone( uuid ); return new UploadInfos( null, missing ); } @@ -158,7 +157,8 @@ public class ImageProcessor */ private static List getMissingBlocks( String imageUUID, int amount ) { - List list = uploadingImages.get( imageUUID ).getMissingBlocks(); + UploadingImageInfos image = uploadingImages.get( imageUUID ); + List list = image.getMissingBlocks(); List result = new LinkedList<>(); if ( amount > list.size() ) @@ -167,6 +167,11 @@ public class ImageProcessor for ( int i = 0; i < amount; i++ ) { result.add( list.get( i ) ); } + + synchronized( image ) { + image.setLastSentBlocks( result ); + } + return result; } -- cgit v1.2.3-55-g7522