]> git.meshlink.io Git - meshlink/commit
Add an asynchronous DNS thread.
authorGuus Sliepen <guus@meshlink.io>
Thu, 23 May 2019 21:02:43 +0000 (23:02 +0200)
committerGuus Sliepen <guus@meshlink.io>
Tue, 7 Apr 2020 22:51:51 +0000 (00:51 +0200)
commite25f5166a3edc98f4a333c98881d4899635f1144
treea9e723d042fe26dc0cb9e75bc0c77a039a7ab500
parentec912e45a8c8757b044354d4e8a6416491fe6ba6
Add an asynchronous DNS thread.

Add a thread dedicated to making DNS lookups. There are two queues, one
for pending DNS requests and one for done DNS requests. The async DNS
thread reads from the pending request queue, checks for each request if
the deadline has not been met yet, and if so calls getaddrinfo(). Once
the result is obtained, it adds that to the done request queue and
signals the main meshlink thread, which will then call the callback
function associated with the DNS request.
src/Makefile.am
src/adns.c [new file with mode: 0644]
src/adns.h [new file with mode: 0644]
src/meshlink.c
src/meshlink_internal.h
src/meshlink_queue.h
src/net_setup.c
src/netutl.c