summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/filetransfer
diff options
context:
space:
mode:
authorSimon Rettberg2016-04-18 18:01:03 +0200
committerSimon Rettberg2016-04-18 18:01:03 +0200
commit2b6cb079a7793536db9945b59749a3a6c9d726a4 (patch)
tree31a23d94c1e9df5af3dc33da0ea6924cc8c6aeab /src/main/java/org/openslx/filetransfer
parentMore additions for central image store (diff)
downloadmaster-sync-shared-2b6cb079a7793536db9945b59749a3a6c9d726a4.tar.gz
master-sync-shared-2b6cb079a7793536db9945b59749a3a6c9d726a4.tar.xz
master-sync-shared-2b6cb079a7793536db9945b59749a3a6c9d726a4.zip
Add queryUploadStatus to master server
Diffstat (limited to 'src/main/java/org/openslx/filetransfer')
-rw-r--r--src/main/java/org/openslx/filetransfer/util/ChunkList.java2
-rw-r--r--src/main/java/org/openslx/filetransfer/util/IncomingTransferBase.java7
2 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/org/openslx/filetransfer/util/ChunkList.java b/src/main/java/org/openslx/filetransfer/util/ChunkList.java
index e00aa0e..372b082 100644
--- a/src/main/java/org/openslx/filetransfer/util/ChunkList.java
+++ b/src/main/java/org/openslx/filetransfer/util/ChunkList.java
@@ -135,7 +135,7 @@ public class ChunkList
int index = 0;
for ( Boolean missing : statusList ) {
FileChunk chunk = allChunks.get( index );
- if ( fileLength != 0 && fileLength < chunk.range.endOffset )
+ if ( fileLength != -1 && fileLength < chunk.range.endOffset )
break; // Stop, file is shorter than end of this chunk
if ( missingChunks.remove( chunk ) || pendingChunks.remove( chunk ) ) {
completeChunks.add( chunk );
diff --git a/src/main/java/org/openslx/filetransfer/util/IncomingTransferBase.java b/src/main/java/org/openslx/filetransfer/util/IncomingTransferBase.java
index 9406c27..04ddc17 100644
--- a/src/main/java/org/openslx/filetransfer/util/IncomingTransferBase.java
+++ b/src/main/java/org/openslx/filetransfer/util/IncomingTransferBase.java
@@ -15,6 +15,7 @@ import java.util.concurrent.ExecutorService;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.TransferState;
+import org.openslx.bwlp.thrift.iface.TransferStatus;
import org.openslx.filetransfer.DataReceivedCallback;
import org.openslx.filetransfer.Downloader;
import org.openslx.filetransfer.FileRange;
@@ -107,7 +108,7 @@ public abstract class IncomingTransferBase extends AbstractTransfer implements H
download.cancel();
}
}
- lastActivityTime.set( 0 );
+ potentialFinishTime.set( 0 );
safeClose( tmpFileHandle );
}
@@ -154,6 +155,10 @@ public abstract class IncomingTransferBase extends AbstractTransfer implements H
return state;
}
+ public synchronized TransferStatus getStatus() {
+ return new TransferStatus(chunks.getStatusArray(), getState());
+ }
+
public final ChunkList getChunks()
{
return chunks;