diff options
author | Simon Rettberg | 2015-08-28 18:12:33 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-08-28 18:12:33 +0200 |
commit | 3fb192b673699167ad4f1d044ebf1fdd3bce1483 (patch) | |
tree | 0b8a7a83ad5e08aaa6b43065167b5c5890991528 /dozentenmodulserver | |
parent | [server] Working on image download from master server (diff) | |
download | tutor-module-3fb192b673699167ad4f1d044ebf1fdd3bce1483.tar.gz tutor-module-3fb192b673699167ad4f1d044ebf1fdd3bce1483.tar.xz tutor-module-3fb192b673699167ad4f1d044ebf1fdd3bce1483.zip |
[server] Tweak calculation of transfer count limits
Diffstat (limited to 'dozentenmodulserver')
4 files changed, 5 insertions, 5 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java index f821813f..a08d4e15 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java @@ -135,7 +135,7 @@ public class FileServer implements IncomingEvent { it.remove(); continue; } - activeUploads++; + activeUploads += Math.max(1, upload.getActiveConnectionCount()); } if (activeUploads > Constants.MAX_UPLOADS) { throw new TTransferRejectedException("Server busy. Too many running uploads (" + activeUploads @@ -185,7 +185,7 @@ public class FileServer implements IncomingEvent { it.remove(); continue; } - activeDownloads++; + activeDownloads += Math.max(1, download.getActiveConnectionCount()); } if (activeDownloads > Constants.MAX_DOWNLOADS) { throw new TTransferRejectedException("Server busy. Too many running uploads (" + activeDownloads 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 0ca5d9b6..e4e3349e 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 @@ -46,7 +46,7 @@ public class IncomingDataTransfer extends AbstractTransfer implements HashCheckC /** * How many concurrent connections per upload */ - private static final int MAX_CONNECTIONS = Math.max(Constants.MAX_UPLOADS / 4, 1); + private static final int MAX_CONNECTIONS = Math.min(4, Math.max(Constants.MAX_UPLOADS / 4, 1)); /** * Self reference for inner classes. diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/OutgoingDataTransfer.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/OutgoingDataTransfer.java index e7c6715f..b01a627f 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/OutgoingDataTransfer.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/OutgoingDataTransfer.java @@ -16,7 +16,7 @@ public class OutgoingDataTransfer extends AbstractTransfer { /** * How many concurrent connections per download */ - private static final int MAX_CONNECTIONS = Math.max(Constants.MAX_DOWNLOADS / 4, 1); + private static final int MAX_CONNECTIONS = Math.min(4, Math.max(Constants.MAX_DOWNLOADS / 4, 1)); /** * Remote peer is downloading, so we have Uploaders diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java index 0af135ac..55a87b5f 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java @@ -46,7 +46,7 @@ public class Constants { // Now maxMem is the amount of memory in MiB LOGGER.debug("Maximum JVM memory: " + maxMem + "MiB"); - MAX_UPLOADS = (int) Math.max(1, (maxMem - 64) / (FileChunk.CHUNK_SIZE_MIB + 1)); + MAX_UPLOADS = (int) Math.max(1, (maxMem - 64) / (FileChunk.CHUNK_SIZE_MIB * 2)); MAX_DOWNLOADS = MAX_UPLOADS * 2; } } |