Steve Williams
2017-07-25 18:45:47 UTC
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.
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.