From a345d4a7af3a9017506e714fd7d548f42cc4492a Mon Sep 17 00:00:00 2001 From: Nils Schwabe Date: Fri, 25 Jul 2014 11:37:42 +0200 Subject: Make trasmit times configurabl Make new globals.properties.example --- src/main/java/org/openslx/imagemaster/Globals.java | 5 +++ .../serverconnection/ImageProcessor.java | 2 +- .../serverconnection/UploadingImage.java | 50 +++++++++++----------- 3 files changed, 31 insertions(+), 26 deletions(-) (limited to 'src') diff --git a/src/main/java/org/openslx/imagemaster/Globals.java b/src/main/java/org/openslx/imagemaster/Globals.java index b6848bb..a16e009 100644 --- a/src/main/java/org/openslx/imagemaster/Globals.java +++ b/src/main/java/org/openslx/imagemaster/Globals.java @@ -109,6 +109,11 @@ public class Globals { return Util.tryToParseInt( properties.getProperty( "ssl_socket_timeout" ) ); } + + public static int getSslTransmitTimes() + { + return Util.tryToParseInt( properties.getProperty( "ssl_socket_transmit_times" ) ); + } /* STRINGS */ diff --git a/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java b/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java index b872b25..e40778e 100644 --- a/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java +++ b/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java @@ -215,7 +215,7 @@ public class ImageProcessor log.debug( i ); if ( image.needsRequest( i ) ) { int times = image.getTimesTransmitted( i ); - if ( times > 20 ) { // TODO: make configurable + if ( times > Globals.getSslTransmitTimes() ) { log.debug( "Block " + i + " is probably broken." ); throw new UploadException( UploadError.BROKEN_BLOCK, "Block " + i + " was transmitted " + times + " and is still not valid." ); diff --git a/src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java b/src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java index feb2a1e..7c491f6 100644 --- a/src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java +++ b/src/main/java/org/openslx/imagemaster/serverconnection/UploadingImage.java @@ -50,24 +50,24 @@ public class UploadingImage { if ( blockStatus == null ) return; - synchronized(blockStatus) { + synchronized ( blockStatus ) { blockStatus[index] = valid; } } - + protected void updateDb() { if ( blockStatus == null ) return; - - List missingBlocks = new ArrayList<>(); - - synchronized(blockStatus) { - for (int block = 0; block < blockStatus.length; block++) { - if (blockStatus[block] != valid) { - missingBlocks.add( block ); - } - } + + List missingBlocks = new ArrayList<>(); + + synchronized ( blockStatus ) { + for ( int block = 0; block < blockStatus.length; block++ ) { + if ( blockStatus[block] != valid ) { + missingBlocks.add( block ); + } + } } dbImage.updateMissingBlocks( missingBlocks ); } @@ -76,7 +76,7 @@ public class UploadingImage { if ( blockStatus == null ) return; - synchronized(blockStatus) { + synchronized ( blockStatus ) { blockStatus[index] = missing; } } @@ -85,7 +85,7 @@ public class UploadingImage { if ( blockStatus == null ) return; - synchronized(blockStatus) { + synchronized ( blockStatus ) { blockStatus[index] *= ( blockStatus[index] < missing ) ? -1 : 1; // switch to positive value if needed } } @@ -94,7 +94,7 @@ public class UploadingImage { if ( blockStatus == null ) return; - synchronized(blockStatus) { + synchronized ( blockStatus ) { blockStatus[index] *= ( blockStatus[index] > missing ) ? -1 : 1; // switch to negative value if needed } } @@ -103,15 +103,15 @@ public class UploadingImage { if ( blockStatus == null || blockStatus[index] == 200 ) return; - synchronized(blockStatus) { + synchronized ( blockStatus ) { blockStatus[index] += ( blockStatus[index] <= missing ) ? -1 : 1; // increase in both directions } } protected int getTimesTransmitted( int index ) { - synchronized(blockStatus) { - return Math.abs( blockStatus[index] ); + synchronized ( blockStatus ) { + return ( blockStatus[index] > 0 ) ? blockStatus[index] : ( -1 ) * blockStatus[index]; } } @@ -124,7 +124,7 @@ public class UploadingImage { if ( blockStatus == null ) return false; - synchronized(blockStatus) { + synchronized ( blockStatus ) { return ( ( blockStatus[index] >= missing ) && ( blockStatus[index] != valid ) ); } } @@ -133,7 +133,7 @@ public class UploadingImage { if ( blockStatus == null ) return false; - synchronized(blockStatus) { + synchronized ( blockStatus ) { return ( blockStatus[index] < missing ); } } @@ -192,16 +192,16 @@ public class UploadingImage } return result; } - + public boolean allBlocksValid() { if ( blockStatus == null ) return false; - synchronized(blockStatus) { - for ( int i : blockStatus ) { - if ( i != 200 ) - return false; - } + synchronized ( blockStatus ) { + for ( int i : blockStatus ) { + if ( i != 200 ) + return false; + } } return true; } -- cgit v1.2.3-55-g7522