• Witold Krecicki's avatar
    netmgr: libuv-based network manager · 70397f9d
    Witold Krecicki authored
    This is a replacement for the existing isc_socket and isc_socketmgr
    implementation. It uses libuv for asynchronous network communication;
    "networker" objects will be distributed across worker threads reading
    incoming packets and sending them for processing.
    UDP listener sockets automatically create an array of "child" sockets
    so each worker can listen separately.
    TCP sockets are shared amongst worker threads.
    A TCPDNS socket is a wrapper around a TCP socket, which handles the
    the two-byte length field at the beginning of DNS messages over TCP.
    (Other wrapper socket types can be implemented in the future to handle
    DNS over TLS, DNS over HTTPS, etc.)
copyrights 181 KB