cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Choosing which IP to connect to (SSL verification/connection reuse issues)

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Thu, 9 May 2013 22:51:44 +0200 (CEST)

On Thu, 9 May 2013, Török Edwin wrote:

> Is there a way to tell curl to do connection caching per IP instead of
> per-host? i.e. can I tell it to check its cache only *after* my
> OPENSOCKET_FUNCTION callback is invoked (which might change the IP)?

Nope. And even if it was, why would it need to create a socket if it was in
the cache?

libcurl simply tries very hard to re-use connections to the same host name and
it offers no particular way for you to force it to load balance the requets
between a number of IP addresses.

> I could use CURLOPT_FRESHCONNECT to force a new connection, but then I won't
> be able to reuse my connection with 127.0.1.1 ever. Would it help if I
> return the cached socket from OPENSOCKETFUNCTION callback, and
> CURL_SOCKOPT_ALREADY_CONNECTED from CURLOPT_SOCKOPT_FUNCTION?

I don't understand how that is what you ask for. I thought you wanted the
second request to the same host name to use _another_ IP address than the
first one? Then I don't see how returning a "cached socket" helps. (Although
I'll admit I don't follow you completely of what you meant.)

I think we'd need some new controls to be added for this to become possible.

-- 
  / daniel.haxx.se

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2013-05-09