diff options
Diffstat (limited to 'src/main/java/org/openslx/filetransfer/util/ChunkList.java')
-rw-r--r-- | src/main/java/org/openslx/filetransfer/util/ChunkList.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/filetransfer/util/ChunkList.java b/src/main/java/org/openslx/filetransfer/util/ChunkList.java index a7e0fdd..bd927b1 100644 --- a/src/main/java/org/openslx/filetransfer/util/ChunkList.java +++ b/src/main/java/org/openslx/filetransfer/util/ChunkList.java @@ -415,6 +415,35 @@ public class ChunkList return sb.toString(); } + public synchronized String getStats() + { + int complete = 0, copying = 0, hashing = 0, missing = 0, qfc = 0, uploading = 0; + for ( FileChunk chunk : allChunks ) { + switch ( chunk.status ) { + case COMPLETE: + complete++; + break; + case COPYING: + copying++; + break; + case HASHING: + hashing++; + break; + case MISSING: + missing++; + break; + case QUEUED_FOR_COPY: + qfc++; + break; + case UPLOADING: + uploading++; + break; + } + } + return "(" + allChunks.size() + ":" + completeChunks.size() + "/" + pendingChunks.size() + "/" + missingChunks.size() + ")" + + " (" + complete + "/" + copying + "/" + hashing + "/" + missing + "/" + qfc + "/" + uploading + ")"; + } + public synchronized boolean isEmpty() { return allChunks.isEmpty(); |