Maintained by: NLnet Labs

[Unbound-users] Enable use of select() for waiting

Björn Stenberg
Mon Nov 25 14:57:38 CET 2013


Hi.

I'm looking into adding DANE support to libcurl using the unbound library. Curl has an asynchronous API that supports a high number of parallel connections. Some use cases involve thousands of parallel connections to different hosts.

My understanding of https://unbound.net/documentation/libunbound-tutorial-4.html is that the libunbound asynchronous API uses a periodic polling call for each separate name lookup. This means that if we have a large number of lookups, a lot of work has to be performed just for waiting.

I would like to propose that the caller gets a file descriptor for each lookup, so he can use select() to wait on all pending lookups without having to loop through them.

-- 
Björn