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; } Assumptions: 1) content length will return the actual size downloaded if it's less than the range size specified. 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, John