Add asynchronous work API to the network manager (v9_16)

Closed Ondřej Surý requested to merge ondrej/rewrite-masterdump-to-uv-threadpool-v9_16 into v9_16

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.

(cherry picked from commit 92bb75cd)

Edited by Ondřej Surý

Merge request reports