curl-library
unified asynch resolver backends
Date: Mon, 31 Jan 2011 00:27:15 +0100 (CET)
Hi again,
To further illustrate my vision on a concept for unified asynch resolver
backends, I offer these two patches on top of Vsevolod Novikov's
unified_resolver_2.patch.
They're pretty large changes so I'll save them to get merged into master after
this pending release, and I've only yet tested them out when built with c-ares
but it shows two asynch resolver backends each implementing the single
Curl_resolver_* API that is now defined in lib/asyn.h.
Adding a new asynch resolver backend would be a matter of writing a new
lib/asyn-*.c file that implements the functions that provide that API. Someone
could for example rather easily try to implement 'adns' support now as
alternative to c-ares.
This unification is not yet complete even with these patches applied. I know a
few more little details to move into this but I think it is a good move to
make the asynch resolving less complicated in the ordinary code. It removes
lots of #ifdefs from code as well.
-- / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
- TEXT/X-DIFF attachment: 0001-asynch-resolvers-cleanup.patch
- TEXT/X-DIFF attachment: 0002-async-resolvers-further-cleanups.patch