summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver
diff options
context:
space:
mode:
authorSimon Rettberg2015-08-28 18:12:33 +0200
committerSimon Rettberg2015-08-28 18:12:33 +0200
commit3fb192b673699167ad4f1d044ebf1fdd3bce1483 (patch)
tree0b8a7a83ad5e08aaa6b43065167b5c5890991528 /dozentenmodulserver
parent[server] Working on image download from master server (diff)
downloadtutor-module-3fb192b673699167ad4f1d044ebf1fdd3bce1483.tar.gz
tutor-module-3fb192b673699167ad4f1d044ebf1fdd3bce1483.tar.xz
tutor-module-3fb192b673699167ad4f1d044ebf1fdd3bce1483.zip
[server] Tweak calculation of transfer count limits
Diffstat (limited to 'dozentenmodulserver')
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java4
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/IncomingDataTransfer.java2
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/OutgoingDataTransfer.java2
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java2
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;
}
}