bind9/lib/isc
Ondřej Surý 87fe97ed91 Add asynchronous work API to the network manager
The libuv has a support for running long running tasks in the dedicated
threadpools, so it doesn't affect networking IO.

This commit adds isc_nm_work_enqueue() wrapper that would wraps around
the libuv API and runs it on top of associated worker loop.

The only limitation is that the function must be called from inside
network manager thread, so the call to the function should be wrapped
inside a (bound) task.
2021-05-31 14:52:05 +02:00
..
include Add asynchronous work API to the network manager 2021-05-31 14:52:05 +02:00
netmgr Add asynchronous work API to the network manager 2021-05-31 14:52:05 +02:00
pthreads Change the isc_thread_self() return type to uintptr_t 2021-02-25 16:21:10 +01:00
tests Refactor the interface handling in the netmgr 2021-05-26 09:43:12 +02:00
unix Add new isc_managers API to simplify <*>mgr create/destroy 2021-05-07 10:19:05 -07:00
win32 Add asynchronous work API to the network manager 2021-05-31 14:52:05 +02:00
.gitignore [master] update gitignore files; use rev-parse to get srcid 2014-06-17 13:49:30 -07:00
aes.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
app.c Add missing initialisations 2021-05-26 08:15:08 +00:00
assertions.c Add support for generating backtraces on Windows 2021-05-03 20:31:52 +02:00
astack.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
backtrace.c Add support for generating backtraces on Windows 2021-05-03 20:31:52 +02:00
base32.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
base64.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
bind9.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
buffer.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
commandline.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
counter.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
crc64.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
entropy.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
entropy_private.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
error.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
event.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
fsaccess_common.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
fsaccess_common_p.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
glob.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
hash.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
heap.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
hex.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
hmac.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
hp.c Add new isc_managers API to simplify <*>mgr create/destroy 2021-05-07 10:19:05 -07:00
ht.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
httpd.c Refactor the interface handling in the netmgr 2021-05-26 09:43:12 +02:00
iterated_hash.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
lex.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
lib.c Remove priority from attribute constructor/destructor 2021-05-27 08:02:21 +02:00
lib_p.h Call isc__initialize()/isc__shutdown() from win32 DllMain 2021-03-01 14:24:57 +01:00
log.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
Makefile.am Use barriers for netmgr synchronization 2021-05-07 14:28:32 -07:00
managers.c Destroy netmgr before destroying taskmgr 2021-05-07 14:28:30 -07:00
md.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
mem.c Add missing initialisations 2021-05-26 08:15:08 +00:00
mem_p.h Use library constructor/destructor to initialize OpenSSL 2021-02-18 19:33:54 +01:00
mutexblock.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
netaddr.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
netmgr_p.h Destroy netmgr before destroying taskmgr 2021-05-07 14:28:30 -07:00
netscope.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
nonce.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
openssl_shim.c Refactor TLSDNS module to work with libuv/ssl directly 2021-01-25 09:19:22 +01:00
openssl_shim.h Refactor TLSDNS module to work with libuv/ssl directly 2021-01-25 09:19:22 +01:00
parseint.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
pk11.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
pk11_result.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
pool.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
portset.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
queue.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
quota.c Refactor netmgr and add more unit tests 2020-12-01 16:47:07 +01:00
radix.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
random.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
ratelimiter.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
regex.c Reformat sources using clang-format-11 2020-12-08 18:36:23 +01:00
region.c Reformat sources using clang-format-11 2020-12-08 18:36:23 +01:00
result.c Replace netmgr quantum with loop-preventing barrier 2021-05-17 11:59:19 +02:00
rwlock.c Change the isc_thread_self() return type to uintptr_t 2021-02-25 16:21:10 +01:00
safe.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
serial.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
siphash.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
sockaddr.c netmgr: server-side TLS support 2020-11-10 14:16:27 +01:00
socket_p.h Add new isc_managers API to simplify <*>mgr create/destroy 2021-05-07 10:19:05 -07:00
stats.c Add missing initialisations 2021-05-26 08:15:08 +00:00
string.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
symtab.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
task.c Add missing initialisations 2021-05-26 08:15:08 +00:00
task_p.h Destroy netmgr before destroying taskmgr 2021-05-07 14:28:30 -07:00
taskpool.c Refactor taskmgr to run on top of netmgr 2021-04-20 23:22:28 +02:00
timer.c Add new isc_managers API to simplify <*>mgr create/destroy 2021-05-07 10:19:05 -07:00
timer_p.h Add new isc_managers API to simplify <*>mgr create/destroy 2021-05-07 10:19:05 -07:00
tls.c Stop using deprecated calls in lib/isc/tls.c 2021-03-17 20:05:47 +00:00
tls_p.h Use library constructor/destructor to initialize OpenSSL 2021-02-18 19:33:54 +01:00
tm.c Use isdigit instead of checking character range 2021-05-05 19:15:33 +02:00
trampoline.c Change the isc_thread_self() return type to uintptr_t 2021-02-25 16:21:10 +01:00
trampoline_p.h Add isc_trampoline API to have simple accounting around threads 2021-02-25 16:21:10 +01:00
url.c cast (char) to (unsigned char) when calling is*() 2021-03-15 14:18:03 +11:00
utf8.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00