diff options
| author | Jonathan Bauer | 2016-02-25 17:01:07 +0100 |
|---|---|---|
| committer | Jonathan Bauer | 2016-02-25 17:01:07 +0100 |
| commit | 4645342521f11c4b96a4fe07fc09dcfaee9ad4fd (patch) | |
| tree | 6847b0011cc468b67f10bec68f75c9abfa7123fb /dozentenmodul/src/main/java/org | |
| parent | [client] fix stupid way of getting the sat's address for the root node of the... (diff) | |
| parent | [server] Log delete actions on images (diff) | |
| download | tutor-module-4645342521f11c4b96a4fe07fc09dcfaee9ad4fd.tar.gz tutor-module-4645342521f11c4b96a4fe07fc09dcfaee9ad4fd.tar.xz tutor-module-4645342521f11c4b96a4fe07fc09dcfaee9ad4fd.zip | |
Merge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1
Diffstat (limited to 'dozentenmodul/src/main/java/org')
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java index bff973b5..71c7add8 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java @@ -96,7 +96,10 @@ public class UploadTask extends TransferTask { remoteError = null; consecutiveInitFails.set(0); } else { - remoteError = uploader.getRemoteError(); + String err = uploader.getRemoteError(); + if (err != null) { + remoteError = err; + } consecutiveInitFails.incrementAndGet(); } transferEnded(this, ret); @@ -143,18 +146,20 @@ public class UploadTask extends TransferTask { speed += thread.getCurrentSpeed(); } } - // 0 = complete, 1 = missing, 2 = uploading, 3 = queued for copying, 4 = copying - if (blocks != null) { - int missing = 0; - for (byte b : blocks) { - if (b != 0) { - missing++; + if (speed != 0) { + // 0 = complete, 1 = missing, 2 = uploading, 3 = queued for copying, 4 = copying, 5 = hashing + if (blocks != null) { + int missing = 0; + for (byte b : blocks) { + if (b != 0) { + missing++; + } } + final long bytesRemaining = CHUNK_SIZE * (long) missing; + timeRemaining = (1000 * bytesRemaining) / (speed + 1); } - final long bytesRemaining = CHUNK_SIZE * (long) missing; - timeRemaining = (1000 * bytesRemaining) / (speed + 1); } - if (error == null && remoteError != null) { + if (remoteError != null && (error == null || remoteError.equals("Out of disk space"))) { error = remoteError; } TransferEvent event = new TransferEvent(state, blocks, speed, timeRemaining, error); |
