summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/serverconnection
diff options
context:
space:
mode:
authorNils Schwabe2014-07-04 10:31:50 +0200
committerNils Schwabe2014-07-04 10:31:50 +0200
commit2d9abf093bbdbfd144314927b0cde1c7f6ca9fe5 (patch)
tree0932f5cc491dbd6866af4835467a0a17a01e3843 /src/main/java/org/openslx/imagemaster/serverconnection
parentMake use of the filetransfer classes (diff)
parentDisable failing test (diff)
downloadmasterserver-2d9abf093bbdbfd144314927b0cde1c7f6ca9fe5.tar.gz
masterserver-2d9abf093bbdbfd144314927b0cde1c7f6ca9fe5.tar.xz
masterserver-2d9abf093bbdbfd144314927b0cde1c7f6ca9fe5.zip
Merge branch 'master' of git.openslx.org:bwlp/masterserver
Conflicts: src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/serverconnection')
-rw-r--r--src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java10
1 files changed, 7 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 c7ee973..71ef97b 100644
--- a/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java
+++ b/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java
@@ -15,7 +15,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)
@@ -43,7 +43,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() ) {
@@ -65,11 +65,15 @@ public class ImageProcessor
String token = RandomString.generate( 100, false );
String filepath = Globals.getImageDir() + "/" + uuid + ".vmdk";
ConnectionHandler.addConnection( token, filepath );
+ // 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.put( uuid, new ImageInfos( token, allBlocks, serverSessionId, new Timestamp( System.currentTimeMillis() ) ) );
DbImage.insert( imageData, System.currentTimeMillis(), token, allBlocks, serverSessionId, filepath );
List<Integer> missing = getMissingBlocks( uuid, AMOUNT );
if ( missing.isEmpty() ) {
+ // TODO: if this is empty, check if there are pending blocks and if so, request them again
uploadDone( uuid );
}
uploadingImages.get( uuid ).setLastSentBlocks( missing );
@@ -119,7 +123,7 @@ 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 ) {