diff options
Diffstat (limited to 'dozentenmodulserver/src/main/java/org/openslx/bwlp/sat')
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; } } |