curl / Mailing Lists / curl-users / Single Mail

curl-users

libcurl - sample code for multiple out of order range requests from same url

From: Steve Williams <steve_at_advance-software.com>
Date: Tue, 25 Jul 2017 19:45:47 +0100

Hi guys,

    I'm fairly new to libcurl. I need to be able to make multiple out of
order http get range requests to a file.

I understand the server won't necessarily deliver ranges as requested,
but that's what I need.

I took a look at the 10 at a time example.

https://curl.haxx.se/libcurl/c/10-at-a-time.html

What I'd like is something like that but 10 ranges of the same file as a
test.

First question :

1. The callback seems to lack sufficient parameters to understand what
I'm getting.

*static* size_t*cb*(*char* *d, size_t n, size_t l,*void* *p) { ... }

It contains no offset so I don't know what range this chunk represents.
The data wasn't requested sequentially and there will be gaps so you won't be able to munge it internally into sequential order.

I dropped in a seek callback and that's not getting hit so I can't figure it out that way.

2. Not sure how to keep session open over multiple requests.

The*init*() function in 10-at-a-time shows how to send off a request and I can extend that to add a range.

I don't want to have to specify a url each time as it's the same session. Do you infer that internally if I give you the same url pointer ?

Insight, advice welcome.

Thanks :)

Best regards,
Steve.

-----------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-users
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2017-07-26