summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/filetransfer
diff options
context:
space:
mode:
authorNils Schwabe2014-07-25 14:45:50 +0200
committerNils Schwabe2014-07-25 14:45:50 +0200
commit5916212fbf18192056b471276e94948521f10fb1 (patch)
tree72a05afffb295284fa6ced2130e0029b7fd271e9 /src/main/java/org/openslx/filetransfer
parent[Filetransfer] Add more sanity checks and error handling, remodel class struc... (diff)
downloadmaster-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')
-rw-r--r--src/main/java/org/openslx/filetransfer/Downloader.java2
-rw-r--r--src/main/java/org/openslx/filetransfer/Transfer.java17
-rw-r--r--src/main/java/org/openslx/filetransfer/Uploader.java2
3 files changed, 10 insertions, 11 deletions
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 );
}