summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNils Schwabe2014-07-04 13:05:24 +0200
committerNils Schwabe2014-07-04 13:05:24 +0200
commitb14e4db0a78bed86b06614f1802d7b47810b172c (patch)
treec163d572ae9f161d56e627cd4a08fcc0b29fd562 /src
parentChange handling of connections and add support for download (diff)
downloadmasterserver-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.java11
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;
}