diff options
author | Simon Rettberg | 2014-09-19 18:13:06 +0200 |
---|---|---|
committer | Simon Rettberg | 2014-09-19 18:13:06 +0200 |
commit | 52fa9a47498a3727d11a34205c9920f9a10e8aeb (patch) | |
tree | c99723aec9ef430132d1eeff08e43684cdfacbf3 /src/main/java/org/openslx/filetransfer/FileRange.java | |
parent | Add debugging to file transfer (diff) | |
download | master-sync-shared-52fa9a47498a3727d11a34205c9920f9a10e8aeb.tar.gz master-sync-shared-52fa9a47498a3727d11a34205c9920f9a10e8aeb.tar.xz master-sync-shared-52fa9a47498a3727d11a34205c9920f9a10e8aeb.zip |
Rework file transfer, try to use callbacks for everything
No more juggling with sendRange() and sendData(), which was easy to
use wrong, and cause lots of weird errors.
Diffstat (limited to 'src/main/java/org/openslx/filetransfer/FileRange.java')
-rw-r--r-- | src/main/java/org/openslx/filetransfer/FileRange.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/filetransfer/FileRange.java b/src/main/java/org/openslx/filetransfer/FileRange.java new file mode 100644 index 0000000..30edefc --- /dev/null +++ b/src/main/java/org/openslx/filetransfer/FileRange.java @@ -0,0 +1,46 @@ +package org.openslx.filetransfer; + +public class FileRange +{ + + /** + * Offset of first byte of range in file, inclusive + */ + public final long startOffset; + /** + * Offset of last byte of range in file, exclusive + */ + public final long endOffset; + + /** + * Create a FileRange instance + * + * @param startOffset Offset of first byte of range in file, inclusive + * @param endOffset Offset of last byte of range in file, exclusive + */ + public FileRange( long startOffset, long endOffset ) + { + this.startOffset = startOffset; + this.endOffset = endOffset; + } + + /** + * Get length of range + * + * @return length of range, in bytes + */ + public int getLength() + { + return (int) ( endOffset - startOffset ); + } + + @Override + public boolean equals( Object other ) + { + if ( other == null || ! ( other instanceof FileRange ) ) + return false; + FileRange o = (FileRange)other; + return o.startOffset == this.startOffset && o.endOffset == this.endOffset; + } + +} |