diff options
author | Simon Rettberg | 2014-07-01 23:09:48 +0200 |
---|---|---|
committer | Simon Rettberg | 2014-07-01 23:09:48 +0200 |
commit | 21d3c5a12b5fa5e002d0dc141a0add60f2f3138c (patch) | |
tree | eae561871a1f3f9b7fd478c78ee73f10dfbf5222 /src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java | |
parent | Update readme, remove old thrift compilation script (diff) | |
download | masterserver-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.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 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 |