From 5916212fbf18192056b471276e94948521f10fb1 Mon Sep 17 00:00:00 2001 From: Nils Schwabe Date: Fri, 25 Jul 2014 14:45:50 +0200 Subject: Change type of range to long so that files larger than 2 GiB are supported --- src/main/java/org/openslx/filetransfer/Downloader.java | 2 +- src/main/java/org/openslx/filetransfer/Transfer.java | 17 ++++++++--------- src/main/java/org/openslx/filetransfer/Uploader.java | 2 +- 3 files changed, 10 insertions(+), 11 deletions(-) (limited to 'src/main/java/org/openslx/filetransfer') diff --git a/src/main/java/org/openslx/filetransfer/Downloader.java b/src/main/java/org/openslx/filetransfer/Downloader.java index da882b9..d9e41a5 100644 --- a/src/main/java/org/openslx/filetransfer/Downloader.java +++ b/src/main/java/org/openslx/filetransfer/Downloader.java @@ -74,7 +74,7 @@ public class Downloader extends Transfer * @param endOffset end offset where to end the transfer (exclusive) * @return success or failure */ - public boolean requestRange( int startOffset, int endOffset ) + public boolean requestRange( long startOffset, long endOffset ) { return super.sendRange( startOffset, endOffset ); } diff --git a/src/main/java/org/openslx/filetransfer/Transfer.java b/src/main/java/org/openslx/filetransfer/Transfer.java index 34868e3..844d86b 100644 --- a/src/main/java/org/openslx/filetransfer/Transfer.java +++ b/src/main/java/org/openslx/filetransfer/Transfer.java @@ -19,7 +19,7 @@ public abstract class Transfer protected final DataOutputStream dataToServer; protected final DataInputStream dataFromServer; protected String TOKEN = null; - protected int[] RANGE = null; + protected long[] RANGE = null; protected String ERROR = null; protected final Logger log; @@ -46,7 +46,7 @@ public abstract class Transfer sslSocketFactory = null; } - protected boolean sendRange( int startOffset, int endOffset ) + protected boolean sendRange( long startOffset, long endOffset ) { if ( RANGE != null ) { log.warn( "Range already set!" ); @@ -126,10 +126,10 @@ public abstract class Transfer return false; } String parts[] = range.split( ":", 2 ); - int ret[] = new int[ 2 ]; + long ret[] = new long[ 2 ]; try { - ret[0] = Integer.parseInt( parts[0] ); - ret[1] = Integer.parseInt( parts[1] ); + ret[0] = Long.parseLong( parts[0] ); + ret[1] = Long.parseLong( parts[1] ); } catch ( Throwable t ) { log.warn( "Not parsable range: '" + range + "'" ); return false; @@ -148,7 +148,7 @@ public abstract class Transfer * * @return */ - public int getStartOfRange() + public long getStartOfRange() { if ( RANGE != null ) { return RANGE[0]; @@ -162,7 +162,7 @@ public abstract class Transfer * * @return */ - public int getEndOfRange() + public long getEndOfRange() { if ( RANGE != null ) { return RANGE[1]; @@ -178,8 +178,7 @@ public abstract class Transfer */ public int getDiffOfRange() { - int diff = Math.abs( getEndOfRange() - getStartOfRange() ); - return diff; + return (int) Math.abs( getEndOfRange() - getStartOfRange() ); } /***********************************************************************/ diff --git a/src/main/java/org/openslx/filetransfer/Uploader.java b/src/main/java/org/openslx/filetransfer/Uploader.java index ff74a9a..90d9ba2 100644 --- a/src/main/java/org/openslx/filetransfer/Uploader.java +++ b/src/main/java/org/openslx/filetransfer/Uploader.java @@ -51,7 +51,7 @@ public class Uploader extends Transfer * @param endOffset end offset in file (exclusive) * @return */ - public boolean prepareSendRange( int startOffset, int endOffset ) + public boolean prepareSendRange( long startOffset, long endOffset ) { return super.sendRange( startOffset, endOffset ); } -- cgit v1.2.3-55-g7522