From 9488924444e21d3843f4a6688869549d30526e1a Mon Sep 17 00:00:00 2001 From: Nils Schwabe Date: Tue, 29 Jul 2014 14:15:49 +0200 Subject: Change some things --- src/main/java/org/openslx/imagemaster/Globals.java | 10 +++++++++- .../openslx/imagemaster/serverconnection/CRCScheduler.java | 6 ++++-- .../imagemaster/serverconnection/ConnectionHandler.java | 12 ++++++------ .../openslx/imagemaster/serverconnection/ImageProcessor.java | 1 - 4 files changed, 19 insertions(+), 10 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 a16e009..8d836af 100644 --- a/src/main/java/org/openslx/imagemaster/Globals.java +++ b/src/main/java/org/openslx/imagemaster/Globals.java @@ -14,6 +14,11 @@ public class Globals private static Logger log = Logger.getLogger( Globals.class ); private static final Properties properties = new Properties(); + + /* CONSTANTS */ + /** + * The blocksize used for crc'ing. + */ public final static int blockSize = 16 * 1024 * 1024; public static void init() @@ -51,6 +56,9 @@ public class Globals Util.notNullFatal( getSslSocketPort(), "SSL socket port must be set." ); Util.notNullFatal( getSslTimeout(), "SSL socket timeout must be set." ); + if ( getSslTransmitTimes() <= 0 ) + log.fatal( "SSL socket transmitted times must be greater than 0." ); + // check ldap_bind_query if ( StringUtils.countMatches( getLdapBindQuery(), "%" ) == 0 ) { log.fatal( "ldap_bind_query does not contain '%'" ); @@ -109,7 +117,7 @@ public class Globals { return Util.tryToParseInt( properties.getProperty( "ssl_socket_timeout" ) ); } - + public static int getSslTransmitTimes() { return Util.tryToParseInt( properties.getProperty( "ssl_socket_transmit_times" ) ); diff --git a/src/main/java/org/openslx/imagemaster/serverconnection/CRCScheduler.java b/src/main/java/org/openslx/imagemaster/serverconnection/CRCScheduler.java index c76fb79..cf8939a 100644 --- a/src/main/java/org/openslx/imagemaster/serverconnection/CRCScheduler.java +++ b/src/main/java/org/openslx/imagemaster/serverconnection/CRCScheduler.java @@ -22,7 +22,7 @@ public class CRCScheduler extends TimerTask { log.debug( "Starting checks..." ); List list = ImageProcessor.getImagesToCheck(); - log.debug(list); + log.debug( list ); Iterator iter = list.iterator(); while ( iter.hasNext() ) { UploadingImage image = iter.next(); @@ -41,7 +41,9 @@ public class CRCScheduler extends TimerTask } } catch ( IOException e ) { // TODO: Handle that crc file or image file could not be read. - log.debug( "error" ); + // CRC file read error: tell client to resend? + // image file read error: tell server admin to check file permissions + log.debug( "Error: " + e.getMessage() ); } } } diff --git a/src/main/java/org/openslx/imagemaster/serverconnection/ConnectionHandler.java b/src/main/java/org/openslx/imagemaster/serverconnection/ConnectionHandler.java index b35088b..0447e68 100644 --- a/src/main/java/org/openslx/imagemaster/serverconnection/ConnectionHandler.java +++ b/src/main/java/org/openslx/imagemaster/serverconnection/ConnectionHandler.java @@ -140,7 +140,7 @@ public class ConnectionHandler implements IncomingEvent long actual; for ( Integer block : blocks ) { actual = block * Globals.blockSize; - uploader.sendRange( (int)actual, ( ( fileSize - actual ) < Globals.blockSize ) ? (int)fileSize - 1 : ( block + 1 ) * Globals.blockSize - 1 ); // TODO: change this int into long + uploader.prepareSendRange( actual, ( ( fileSize - actual ) < Globals.blockSize ) ? fileSize : ( block + 1 ) * Globals.blockSize ); uploader.sendFile( fileName ); } uploader.close(); @@ -154,7 +154,7 @@ public class ConnectionHandler implements IncomingEvent public void incomingDownloader( Downloader downloader ) throws IOException { log.debug( "Client wants to upload" ); - int startOfRange = 0; + long startOfRange = 0; String token = ""; // try to read meta data while ( downloader.readMetaData() ) { @@ -167,7 +167,7 @@ public class ConnectionHandler implements IncomingEvent } startOfRange = downloader.getStartOfRange(); - + if ( downloader.getDiffOfRange() <= 0 ) { return; } @@ -178,15 +178,15 @@ public class ConnectionHandler implements IncomingEvent downloader.close(); return; } - - int blockNumber = startOfRange / Globals.blockSize; + + int blockNumber = (int) ( startOfRange / Globals.blockSize ); UploadingImage image = connections.get( token ).image; image.setNeedsCheck( blockNumber ); image.increaseTransmittedTimes( blockNumber ); log.debug( "Block " + blockNumber + " was transmitted " + image.getTimesTransmitted( blockNumber ) + " time(s)." ); downloader.setOutputFilename( connections.get( token ).filepath ); - downloader.readBinary(); + downloader.receiveBinary(); } downloader.close(); } diff --git a/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java b/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java index e40778e..d93ffa3 100644 --- a/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java +++ b/src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java @@ -93,7 +93,6 @@ public class ImageProcessor synchronized ( uploadingImages ) { // check if image is already uploading if ( ( image = uploadingImages.get( uuid ) ) != null ) { - log.debug( "Image is already uploading.. returning some missing blocks" ); List missing = getNMissingBlocks( image, AMOUNT ); if ( missing.isEmpty() && image.allBlocksValid() ) { uploadDone( uuid ); -- cgit v1.2.3-55-g7522