cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: great performance with curl and c-ares / timeouts

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Mon, 27 Dec 2010 11:53:38 +0100 (CET)

On Mon, 27 Dec 2010, Pedro Larroy wrote:

> On the other hand I'm trying to run some experiments using
>
> CURLOPT_LOW_SPEED_LIMIT 512
> CURLOPT_LOW_SPEED_TIME 180
>
> In combination with
> CURLOPT_CONNECTTIMEOUT 60
>
> But I'm not observing any timeouts (using curl_multi_info_read). As the
> handles have been for some minutes stuck with the same url, with no activity
> checked by tcpdump.
>
> My questions are:
> 1 - Any ideas what to try next?

Let's try to isolate the problem. I did this to try to repeat your problem:

(in terminal A) $ nc -p 8888 -l
(in terminal B) $ ./hiperfifo
(in terminal C) $ echo "localhost:8888" > hiper.fifo

I used these additional options:

   curl_easy_setopt(conn->easy, CURLOPT_CONNECTTIMEOUT, 10);
   curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_TIME, 60);
   curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_LIMIT, 512);

... and my application ends up saying this (a piece of the verbose output):

Progress: localhost:8888 (0/0)
Progress: localhost:8888 (0/0)
multi_timer_cb: Setting timeout to 13403 ms
REMAINING: 1
Progress: localhost:8888 (0/0)
* Operation too slow. Less than 512 bytes/sec transfered the last 60 seconds
Progress: localhost:8888 (0/0)
* Closing connection #0
socket callback: s=7 e=0x8dbb48c what=REMOVE
multi_timer_cb: Setting timeout to 4224 ms
REMAINING: 0
DONE: http://localhost:8888 => (28) Operation too slow. Less than 512
bytes/sec transfered the last 60 seconds
* Expire cleared

So, it does seem to do its job when done like this. Can you repeat your
observed problem with a controlled connection such as this?

> 2 - Is there a way to interrupt a transfer, I don't see any call in the easy
> interface for this. Since I'm accounting the time and transfer I could
> manually kill those stuck connections.

Just remove the easy handle from the multi handle whenever you want!

-- 
  / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html
Received on 2010-12-27