diff options
author | Simon Rettberg | 2015-09-30 13:45:10 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-09-30 13:45:10 +0200 |
commit | 2e7c0179cf83bda3a26589d7b6c3c852adf4df41 (patch) | |
tree | c5feee4daf97c55c18bbca4d8dd6e43c5638b2fa /dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java | |
parent | [client] Added "Show linking lectures" button im imageDetailsW. (diff) | |
download | tutor-module-2e7c0179cf83bda3a26589d7b6c3c852adf4df41.tar.gz tutor-module-2e7c0179cf83bda3a26589d7b6c3c852adf4df41.tar.xz tutor-module-2e7c0179cf83bda3a26589d7b6c3c852adf4df41.zip |
[server] Fix transfer timeout detection and active counting
Diffstat (limited to 'dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java')
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java index 4dc69c03..97c076c9 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java @@ -45,11 +45,6 @@ public class IncomingDataTransfer extends AbstractTransfer implements HashCheckC private static final Logger LOGGER = Logger.getLogger(IncomingDataTransfer.class); /** - * How many concurrent connections per upload - */ - private static final int MAX_CONNECTIONS = Math.min(4, Math.max(Constants.MAX_UPLOADS / 4, 1)); - - /** * Self reference for inner classes. */ private final IncomingDataTransfer activeUpload = this; @@ -235,7 +230,7 @@ public class IncomingDataTransfer extends AbstractTransfer implements HashCheckC if (state == TransferState.FINISHED || state == TransferState.ERROR) return false; synchronized (downloads) { - if (downloads.size() >= MAX_CONNECTIONS) + if (downloads.size() >= Constants.MAX_CONNECTIONS_PER_TRANSFER) return false; downloads.add(connection); } @@ -261,13 +256,16 @@ public class IncomingDataTransfer extends AbstractTransfer implements HashCheckC } } }); - if (state == TransferState.IDLE) { - state = TransferState.WORKING; - } } catch (Exception e) { LOGGER.warn("threadpool rejected the incoming file transfer", e); + synchronized (downloads) { + downloads.remove(connection); + } return false; } + if (state == TransferState.IDLE) { + state = TransferState.WORKING; + } return true; } |