jclouds-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Calcote <john.calc...@gmail.com>
Subject Range download
Date Mon, 18 May 2020 20:00:16 GMT
I'm trying to create a sort of multi-part download mechanism using jclouds download with a
GetOption of "range". I'd like to just download 5MB ranges until I run out of file to download.
The doc on the use of this option is a bit sparse. Can someone help me understand the semantics
of download with a range option? 

Here's what I'd like to do:

long start = 0;
long size = 5 * 1024 * 1024;
long length = size;

while (length < size) {
    long limit = start + size
    Blob blob = getBlob(container, key, range(start, limit - 1));
    ContentMetadata meta = blob.getMetadata().getContentMetadata();
    long length = meta.getContentLength();

    // stream 'length' bytes into a buffer and process the buffer here

    start = limit;

1) content length will return the actual size downloaded if it's less than the range size
2) It's OK to request a range of bytes that's outside the file extant - you'll just get back
a length of zero.

Anything I'm missing?

Thanks in advance,

View raw message