diff options
author | Nils Schwabe | 2014-07-04 13:05:24 +0200 |
---|---|---|
committer | Nils Schwabe | 2014-07-04 13:05:24 +0200 |
commit | b14e4db0a78bed86b06614f1802d7b47810b172c (patch) | |
tree | c163d572ae9f161d56e627cd4a08fcc0b29fd562 /src | |
parent | Change handling of connections and add support for download (diff) | |
download | masterserver-b14e4db0a78bed86b06614f1802d7b47810b172c.tar.gz masterserver-b14e4db0a78bed86b06614f1802d7b47810b172c.tar.xz masterserver-b14e4db0a78bed86b06614f1802d7b47810b172c.zip |
Fix small bug and add comment in ImageProcessor
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java | 11 |
1 files changed, 8 insertions, 3 deletions
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<Integer> 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<Integer> getMissingBlocks( String imageUUID, int amount ) { - List<Integer> list = uploadingImages.get( imageUUID ).getMissingBlocks(); + UploadingImageInfos image = uploadingImages.get( imageUUID ); + List<Integer> list = image.getMissingBlocks(); List<Integer> 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; } |