summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/src/main/java/org
diff options
context:
space:
mode:
authorSimon Rettberg2015-07-21 14:04:18 +0200
committerSimon Rettberg2015-07-21 14:04:18 +0200
commita2555cd06a1fa34067ee34b58e14f275deabd952 (patch)
treed79ca6bad232ae158f1491708bb9e9e60c4d024f /dozentenmodulserver/src/main/java/org
parent[client] Created TransferTask base class for uploads and downloads (diff)
downloadtutor-module-a2555cd06a1fa34067ee34b58e14f275deabd952.tar.gz
tutor-module-a2555cd06a1fa34067ee34b58e14f275deabd952.tar.xz
tutor-module-a2555cd06a1fa34067ee34b58e14f275deabd952.zip
[server] Make uploads cancellable, configurable transfer timeouts
Diffstat (limited to 'dozentenmodulserver/src/main/java/org')
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/ActiveUpload.java8
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/FileServer.java2
-rw-r--r--dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java1
3 files changed, 7 insertions, 4 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/ActiveUpload.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/ActiveUpload.java
index 49cfed56..da15656d 100644
--- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/ActiveUpload.java
+++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/ActiveUpload.java
@@ -201,10 +201,12 @@ public class ActiveUpload {
}
public synchronized void cancel() {
- if (download != null) // TODO: Thread safety
- download.close("Cancelled");
- if (state != TransferState.FINISHED)
+ if (download != null) {
+ download.cancel();
+ }
+ if (state != TransferState.FINISHED) {
state = TransferState.ERROR;
+ }
}
/**
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 3859322f..93089b5a 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
@@ -31,7 +31,7 @@ public class FileServer implements IncomingEvent {
/**
* Listener for incoming unencrypted connections
*/
- private final Listener plainListener = new Listener(this, null, 9092); // TODO: Config
+ private final Listener plainListener = new Listener(this, null, 9092, Constants.TRANSFER_TIMEOUT); // TODO: Config
private final ThreadPoolExecutor transferPool = new ThreadPoolExecutor(2, Constants.MAX_UPLOADS + Constants.MAX_DOWNLOADS, 1, TimeUnit.MINUTES, new ArrayBlockingQueue<Runnable>(1));
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 0d6328b4..8216fd86 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
@@ -6,6 +6,7 @@ public class Constants {
public static final String INCOMPLETE_UPLOAD_SUFFIX = ".part";
public static final int MAX_UPLOADS;
public static final int MAX_DOWNLOADS;
+ public static final int TRANSFER_TIMEOUT = 15 * 1000; // 15s
static {
long maxMem = Runtime.getRuntime().maxMemory();