mirror of
https://github.com/curl/curl.git
synced 2026-08-25 20:43:32 +03:00
urldata: move async resolver state from easy handle to connectdata
- resolving is done for a connection, not for every transfer - save create/dup/free of a cares channel for each transfer - check values of setopt calls against a local channel if no connection has been attached yet, when needed. Closes #12198
This commit is contained in:
parent
910f740ce2
commit
56a4db2e4e
10 changed files with 147 additions and 127 deletions
|
|
@ -917,6 +917,9 @@ struct connectdata {
|
|||
multi_done(). This entry will be NULL if the connection is reused as then
|
||||
there is no name resolve done. */
|
||||
struct Curl_dns_entry *dns_entry;
|
||||
#ifdef USE_CURL_ASYNC
|
||||
struct Curl_async resolve_async; /* asynchronous name resolver data */
|
||||
#endif
|
||||
|
||||
/* 'remote_addr' is the particular IP we connected to. it is owned, set
|
||||
* and NULLed by the connected socket filter (if there is one). */
|
||||
|
|
@ -1374,9 +1377,6 @@ struct UrlState {
|
|||
#endif
|
||||
struct auth authhost; /* auth details for host */
|
||||
struct auth authproxy; /* auth details for proxy */
|
||||
#ifdef USE_CURL_ASYNC
|
||||
struct Curl_async async; /* asynchronous name resolver data */
|
||||
#endif
|
||||
|
||||
#if defined(USE_OPENSSL)
|
||||
/* void instead of ENGINE to avoid bleeding OpenSSL into this header */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue