On 15.11.2016 15:48, Branko Čibej wrote:
> On 15.11.2016 15:41, Branko Čibej wrote:
>> On 15.11.2016 15:29, br...@apache.org wrote:
>>> Author: brane
>>> Date: Tue Nov 15 14:29:27 2016
>>> New Revision: 1769841
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1769841&view=rev
>>> Log:
>>> Revert r1769799 due to a chicken-and-egg problem.
>> So this was fun.
>>
>> What I didn't realize is that, in order to create the
>> connection-specific config store, one must first know the connection
>> URL. But serf_connection_create() does not know the connection URL ...
>>
>> ... and the tests didn't break on my dev box, for some reason. Sorry for
>> the noise.
>>
>>
>> Here's what I propose to do:
>>
>>   * Completely deprecate serf_connection_create().
>>     It's useless as it stands now, because it does not set the host_url
>>     and host_info members of the connection struct (hence breaking when
>>     the request attempts to set the Host: header, among other places)
>>     and it does not initialize the config store.
>>
>>   * Create a new function, e.g., serf_connection_create_from_address()
>>     which would be like serf_connection_create() but would also take a
>>     'const char* host_url' parameter with which to initialize the
>>     missing members.
>>
>>
>> The reason why I'd like to have another function besides
>> serf_connectIon_create2() is that the latter blocks on DNS lookup, which
>> is quite unacceptable for my purposes.
>>
>>
>> If anyone has a better idea, I'd love to hear it.
> Another solution would be to create serf_connection_create3 which would
> be like serf_connection_create2 but would take an optional
> apr_sockaddr_t* parameter and only perform the DNS lookup if the address
> wasn't provided.

I went with this solution in rr1769851.

-- Brane

Reply via email to