Skip to main content

split_in_multiple_requests

Function split_in_multiple_requests 

Source
pub fn split_in_multiple_requests(
    range: &Range<u64>,
    ideal_req_size: u64,
    max_requests: u16,
) -> impl Iterator<Item = Range<u64>> + use<>
Expand description

Split an object request into multiple byte range requests

Returns tuples of Range for each request.

It generates requests that are as similar as possible in size, this means no more than 1 byte difference between the requests.

It tries to generate ceil(size/ideal_req_size) requests, but never exceeds max_requests.

ideal_req_size and max_requests must be > 0