cURL / Mailing Lists / curl-library / Single Mail

curl-library

[PATCH] Better pipelining, round two

From: Dmitry Kurochkin <dmitry.kurochkin_at_gmail.com>
Date: Sun, 13 Jan 2008 08:05:13 +0300

Hello.

I have found time to work on curl at last. So here is another pipelining patch.

* this patch should affect only HTTP with pipelining option set.

* pend_pipe added to connectdata structure. It accumulates requests
while connection is not established yet or when pipeline is full.
Requests are moved from pend_pipe to send_pipe when possible.

* server_supports_pipelining flag added to connectdata structure. It
is set after we get first response from server and indicates if we can
do pipelining. Before the first response comes no pipelining is done,
and requests are stored in pend_pipe.

* SetupConnection() is not done for pipelined requests. It looks like
only to lines from this function may be useful in pipelining:
  Curl_pgrsTime(data, TIMER_CONNECT);
  conn->now = Curl_tvnow();
  I am not sure if we really need this for http pipelining. Can
someone please explain what are they used for?

* test530 is changed to send first response without waiting for others.

All tests passed, build with c-ares.

Regards,
  Dmitry

Received on 2008-01-13