|
|
|
|
|
by agolliver
1786 days ago
|
|
Not sure a better place to ask this, but we're getting to the point in most OSs where basically anything you want can finally be done truly async (non-blocking). Except that DNS apparently still blocks[0], so usually things farm DNS requests off to their own blocking thread pools (the author ends up disabling DNS just so they can "prove" everything works with just a single thread) What's so fundamentally difficult about writing an async/non-blocking DNS resolver? Is it just a lack of a real need for it? [0] (quote: People have been trying to build asynchronous DNS resolvers for decades without success. Can it be done? Yes. Has it been done? No. ) https://gist.github.com/djspiewak/46b543800958cf61af6efa8e07... |
|
I think I have a lot more to learn about DNS...
[0] https://github.com/axboe/liburing/issues/26#issuecomment-738...
> [re: implementing getaddrinfo] It's not planned because it's not a single operation but a complex beast reading files, exchanging messages, etc. IMHO, as it's not a single operation it fundamentally doesn't fit liburing, but implementing under some framework on-top would be more viable.