On Tue, 2 Jun 2015, Michael Kaufmann wrote:
A callback function for the name resolution would be a powerful mechanism.
Similar to CURLOPT_OPENSOCKETFUNCTION, but a bit on a "higher level". This
new callback function should be able to either return an address, or to tell
libcurl to proceed with the normal name resolution.
Sounds reasonable!
I still think that libcurl's connection cache should also look at the
addresses when reusing connections. This is useful for CURLOPT_RESOLVE (it's
possible to add and remove "name to address" mappings), and it would also be
useful for the callback function proposed above.
I wouldn't mind supporting that.
The primary reason it doesn't do it already is that it adds latency to the
transfer. You then cannot just re-use a connection simply based on the name
but it will instead have to wait for the name resolve response before it knows
how to proceed.
Of course, doing a name resolve first could then also make libcurl do
connection re-use for name based virtual servers on the same IP which it
currently doesn't do.
Such a modified behavior would need to be enabled with a new option.
--
/ daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html