Skip to main content

split_in_multiple_equal_requests

Function split_in_multiple_equal_requests 

Source
pub fn split_in_multiple_equal_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 ensuring only the last request is smaller

Returns tuples of Range for each request.

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

ideal_req_size and max_requests must be > 0