From 52fa9a47498a3727d11a34205c9920f9a10e8aeb Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 19 Sep 2014 18:13:06 +0200 Subject: 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. --- .../java/org/openslx/filetransfer/FileRange.java | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/main/java/org/openslx/filetransfer/FileRange.java (limited to 'src/main/java/org/openslx/filetransfer/FileRange.java') 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; + } + +} -- cgit v1.2.3-55-g7522