cURL / Mailing Lists / curl-library / Single Mail


Re: curl_multi_socket_action and pipelining

From: Daniel Stenberg <>
Date: Sat, 20 Jun 2015 01:31:13 +0200 (CEST)

On Fri, 19 Jun 2015, Cristian Morales Vega wrote:

>> This said, we don't make it "random" on purpose and I'm not aware of any
>> particular functionality what would prevent libcurl from doing them in
>> order.

> Would adding the in-order guarantee make sense?

I'm not convinced. I depends on what the exact reason is for why it doesn't do
them in order right now. I'm prepared to say that it should try to do them in
order, but I'm not sure it is wise to add as a firm promise.

Do you know what internal mechanism that makes them not get done in order?

> I want the in-order guarantee because I'm downloading chunks of video.

I can see how you want this. But I'm not sure that the mere fact that you add
transfer A before transfer B must imply that A uncodntionally gets onto the
pipelines before B.

But I'm certainly open for providing means to make sure that libcurl can offer
that functionality. Maybe we should use dependencies for this purpose too and
make sure that we can guarantee orders like that based on what stream
dependencies are set.

In general however, just adding the second handle X milliseconds after the
first handle will make the second transfer get done after the first...

> PS: I think test 530 supposes the guarantee, but I'm not sure about
> the test data syntax.

Yes it does and since it seems to work most of the times it actually also
means that libcurl keeps the order most of the times.

List admin:
Received on 2015-06-20