summaryrefslogtreecommitdiffstats
path: root/dozentenmodulserver/src/main/java/fileserv/FileServer.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodulserver/src/main/java/fileserv/FileServer.java')
-rw-r--r--dozentenmodulserver/src/main/java/fileserv/FileServer.java107
1 files changed, 0 insertions, 107 deletions
diff --git a/dozentenmodulserver/src/main/java/fileserv/FileServer.java b/dozentenmodulserver/src/main/java/fileserv/FileServer.java
deleted file mode 100644
index e82fa39c..00000000
--- a/dozentenmodulserver/src/main/java/fileserv/FileServer.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package fileserv;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.openslx.bwlp.thrift.iface.TTransferRejectedException;
-import org.openslx.bwlp.thrift.iface.UserInfo;
-import org.openslx.filetransfer.Downloader;
-import org.openslx.filetransfer.IncomingEvent;
-import org.openslx.filetransfer.Listener;
-import org.openslx.filetransfer.Uploader;
-
-import util.Constants;
-import util.Formatter;
-
-public class FileServer implements IncomingEvent {
-
- /**
- * Listener for incoming unencrypted connections
- */
- private Listener plainListener = new Listener(this, null, 9092); // TODO: Config
-
- /**
- * All currently running uploads, indexed by token
- */
- private Map<String, ActiveUpload> uploads = new ConcurrentHashMap<>();
-
- private static final FileServer globalInstance = new FileServer();
-
- private FileServer() {
- }
-
- public static FileServer instance() {
- return globalInstance;
- }
-
- public boolean start() {
- boolean ret = plainListener.start();
- // TODO: Start SSL listener too
- return ret;
- }
-
- @Override
- public void incomingDownloadRequest(Uploader uploader) throws IOException {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void incomingUploadRequest(Downloader downloader) throws IOException {
- // TODO Auto-generated method stub
-
- }
-
- /**
- * Get an upload instance by given token.
- *
- * @param uploadToken
- * @return
- */
- public ActiveUpload getUploadByToken(String uploadToken) {
- return uploads.get(uploadToken);
- }
-
- public String createNewUserUpload(UserInfo owner, long fileSize, List<ByteBuffer> sha1Sums)
- throws TTransferRejectedException, FileNotFoundException {
- Iterator<ActiveUpload> it = uploads.values().iterator();
- int activeUploads = 0;
- while (it.hasNext()) {
- ActiveUpload upload = it.next();
- if (upload.isComplete()) {
- // TODO: Check age (short timeout) and remove
- continue;
- } else {
- // Check age (long timeout) and remove
- }
- activeUploads++;
- }
- if (activeUploads > Constants.MAX_UPLOADS)
- throw new TTransferRejectedException("Server busy. Too many running uploads.");
- File destinationFile = null;
- do {
- destinationFile = Formatter.getTempImageName();
- } while (destinationFile.exists());
- // TODO: Pass image
- ActiveUpload upload = new ActiveUpload(owner, null, destinationFile, fileSize, sha1Sums);
- String key = UUID.randomUUID().toString();
- uploads.put(key, upload);
- return key;
- }
-
- public int getPlainPort() {
- return plainListener.getPort();
- }
-
- public int getSslPort() {
- return 0; // TODO
- }
-
-}