diff options
author | Nils Schwabe | 2014-07-25 14:45:50 +0200 |
---|---|---|
committer | Nils Schwabe | 2014-07-25 14:45:50 +0200 |
commit | 5916212fbf18192056b471276e94948521f10fb1 (patch) | |
tree | 72a05afffb295284fa6ced2130e0029b7fd271e9 /src/main/java/org/openslx/filetransfer/Transfer.java | |
parent | [Filetransfer] Add more sanity checks and error handling, remodel class struc... (diff) | |
download | master-sync-shared-5916212fbf18192056b471276e94948521f10fb1.tar.gz master-sync-shared-5916212fbf18192056b471276e94948521f10fb1.tar.xz master-sync-shared-5916212fbf18192056b471276e94948521f10fb1.zip |
Change type of range to long so that files larger than 2 GiB are supported
Diffstat (limited to 'src/main/java/org/openslx/filetransfer/Transfer.java')
-rw-r--r-- | src/main/java/org/openslx/filetransfer/Transfer.java | 17 |
1 files changed, 8 insertions, 9 deletions
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() ); } /***********************************************************************/ |