summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java
diff options
context:
space:
mode:
authorSimon Rettberg2014-07-01 23:09:48 +0200
committerSimon Rettberg2014-07-01 23:09:48 +0200
commit21d3c5a12b5fa5e002d0dc141a0add60f2f3138c (patch)
treeeae561871a1f3f9b7fd478c78ee73f10dfbf5222 /src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java
parentUpdate readme, remove old thrift compilation script (diff)
downloadmasterserver-21d3c5a12b5fa5e002d0dc141a0add60f2f3138c.tar.gz
masterserver-21d3c5a12b5fa5e002d0dc141a0add60f2f3138c.tar.xz
masterserver-21d3c5a12b5fa5e002d0dc141a0add60f2f3138c.zip
Added TODOs, some minor cosmetic improvements
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java')
-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 d4ae717..f828633 100644
--- a/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java
+++ b/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java
@@ -14,7 +14,7 @@ import org.openslx.imagemaster.util.RandomString;
public class ImageProcessor
{
- private static Logger log = Logger.getLogger( ImageProcessor.class );
+ private static final Logger log = Logger.getLogger( ImageProcessor.class );
/**
* The amount of blocks that is return in UploadInfos (after request of satellite)
@@ -41,7 +41,7 @@ public class ImageProcessor
String uuid = imageData.uuid;
- // check if image is already uploading
+ // check if image is already uploading TODO: what if two clients call this at the same time?
if ( uploadingImages.containsKey( uuid ) ) {
List<Integer> missing = getMissingBlocks( uuid, AMOUNT );
if ( missing.isEmpty() ) {
@@ -49,6 +49,9 @@ public class ImageProcessor
uploadDone( uuid );
return new UploadInfos( token, missing );
}
+ // TODO: proper synchronization, interface is multi threaded.
+ // should synchronize operations on the map (use concurrent map) and then synchronize on the uploading image
+ // when handing the missing blocks etc...
uploadingImages.get( uuid ).setLastSentBlocks( missing );
return new UploadInfos( uploadingImages.get( uuid ).getToken(), missing );
}
@@ -67,6 +70,7 @@ public class ImageProcessor
List<Integer> missing = getMissingBlocks( uuid, AMOUNT );
if ( missing.isEmpty() ) {
+ // TODO: if this is empty, check if there are pendig blocks and if so, request them again
uploadDone( uuid );
}
uploadingImages.get( uuid ).setLastSentBlocks( missing );
@@ -110,7 +114,8 @@ public class ImageProcessor
/**
* Checks pending uploads in database and adds them to process list again.
*/
- public static void checkUploading() {
+ static
+ {
List<DbImage> list = DbImage.getUploadingImages();
for (DbImage image : list) {
// TODO: init updownloader class