hi all- for a month or so I have been working on an asynchronous DNS resolver library for GNOME (and any other application using the glib main loop), which I call libtorch. Currently code can be retrieved from svn here:
https://svn.syntaxjockey.com/repos/libtorch/trunk/ For resolving a domain name to network address, usage is pretty simple: TorchHostQuery *query = torch_host_query_new_from_hostname ("google.com."); g_signal_connect (query, "result", G_CALLBACK (on_result), NULL); g_signal_connect (query, "error", G_CALLBACK (on_error), NULL); TorchResolver *resolver = torch_resolver_get_default (); torch_resolver_execute_query (resolver, query); For the full example, see https://svn.syntaxjockey.com/repos/libtorch/trunk/tests/test3.c Current plans are: 1) implement all of the well used record types in the IN class (easy) 2) client-side query recursion (will take some time to code properly) 3) implement more sub-classes of TorchQuery for other common queries, such as MX and WKS lookups 4) caching of queries Now after I've said all of this, my questions to you all are: 1) is this a good library to have, or is the 'problem' i'm solving small enough that people would rather either keep using the blocking libc calls or employ hacks like threads? 2) are there any suggestions for APIs and features that would be nice to have in order to better fit in to code that already exists in GNOME applications? 3) would anyone be willing to mentor this if i turned it into a google SoC project =) I'm thinking that a good project would be to add asynchronous dns resolving in a few key places, like gnome-vfs, ekiga, evolution, ... Comments? -- .~. Michael Frank /v\ [EMAIL PROTECTED] // \\ /( )\ GPG Fingerprint: ^`-'^ 2A44 DF32 91A5 ADA9 0E86 4F65 4051 870D 8B51 6EE0 _______________________________________________ desktop-devel-list mailing list desktop-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/desktop-devel-list