Regarding async DNS resolver
Date: Tue, 9 Jul 2019 09:15:40 +0530
This is regarding performance issue due to usage of async DNS resolver for
MULTI interface in lib CURL.
My application is using lib CURL (7.57 version) Muti interface with async
DNS resolver enabled (I.e CURLRES_ASYNCH and POSIX_THREADED are defined).
But I am facing an performance issues as there is no mechanism in CURL to
notify DNS resolved status back to client application due to which HTTP
request (after DNS resolution) are going out of the box with delay.
The reason for the delay is that application is having an timer
implementation which wakes up every 1 second and requests CURL to check all
the ongoing requests (I.e. by calling curl_multi_perform()). So even if DNS
was resolved within 100 msec, request will only be sent out after 1 second
(I.e. with delay of 900 msec).
I could see that in CURL release (7.59) a callback has been added to notify
the clients about DNS resolution start status, but this will not help as I
am looking for some trigger to notify about DNS resolution.
I would like to seek your opinion/thoughts if it is good idea to implement
a callback to notify the clients about DNS resolution ?. Also, let me know
if there is any other available mechanism to achieve the same functionality.
Thanks & Regards,