summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNils Schwabe2014-07-29 14:15:49 +0200
committerNils Schwabe2014-07-29 14:15:49 +0200
commit9488924444e21d3843f4a6688869549d30526e1a (patch)
tree8b02293716fdda0d30478dd1b45d80da12b1ba5f
parentMake trasmit times configurabl (diff)
downloadmasterserver-9488924444e21d3843f4a6688869549d30526e1a.tar.gz
masterserver-9488924444e21d3843f4a6688869549d30526e1a.tar.xz
masterserver-9488924444e21d3843f4a6688869549d30526e1a.zip
Change some things
-rw-r--r--src/main/java/org/openslx/imagemaster/Globals.java10
-rw-r--r--src/main/java/org/openslx/imagemaster/serverconnection/CRCScheduler.java6
-rw-r--r--src/main/java/org/openslx/imagemaster/serverconnection/ConnectionHandler.java12
-rw-r--r--src/main/java/org/openslx/imagemaster/serverconnection/ImageProcessor.java1
4 files changed, 19 insertions, 10 deletions
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<UploadingImage> list = ImageProcessor.getImagesToCheck();
- log.debug(list);
+ log.debug( list );
Iterator<UploadingImage> 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<Integer> missing = getNMissingBlocks( image, AMOUNT );
if ( missing.isEmpty() && image.allBlocksValid() ) {
uploadDone( uuid );