On Mon, 18 Jan 2016, dan...@poradnik-webmastera.com wrote:

Integration of epoll with c-ares is a bit problematic, because
current version misses some functionality.

I'd agree that it is less than ideal, but as I've most likely said here before: I've built libcurl's event-based API and it can be made built to use c-ares and it works quite well.

I'm sure I'm not alone when I say that we'll welcome improvements and patches!

And last thing are problems with timer for query timeouts, c-ares does not allow to register callback for managing this timer. I did this by updating timer every time after calling function which initiates/terminates query (e.q. ares_query) and after calling ares_process_fd. This works for me. However dedicated callback should be more efficient, e.g. it could calculate timeout faster than ares_timeout.

I'm not sure we could make it much faster than ares_timeout, as that's exactly the logic that needs to be done. If there's a faster way, we should just implement that faster way in ares_timeout... Or am I missing something?

If anyone is building applications where there's a lot of parallel queries within the same c-ares channel, ares_timeout of course gets fairly slow due to its linear search through them. That can certainly be improved.

--

 / daniel.haxx.se

Reply via email to