Lines Matching defs:sock

106 nmsocket_maybe_destroy(isc_nmsocket_t *sock FLARG);
108 nmhandle_free(isc_nmsocket_t *sock, isc_nmhandle_t *handle);
316 return (handle->sock->fd);
322 REQUIRE(VALID_NMSOCK(handle->sock));
323 REQUIRE(handle->sock->tid == isc_tid());
325 switch (handle->sock->type) {
328 handle->sock->write_timeout = write_timeout;
402 isc__nmsocket_active(isc_nmsocket_t *sock) {
403 REQUIRE(VALID_NMSOCK(sock));
405 return sock->active;
409 isc___nmsocket_attach(isc_nmsocket_t *sock, isc_nmsocket_t **target FLARG) {
410 REQUIRE(VALID_NMSOCK(sock));
415 if (sock->parent != NULL) {
416 rsock = sock->parent;
419 rsock = sock;
428 *target = sock;
436 isc_nmsocket_t *sock = arg;
438 REQUIRE(VALID_NMSOCK(sock));
439 REQUIRE(!isc__nmsocket_active(sock));
442 isc__networker_t *worker = sock->worker;
444 isc_refcount_destroy(&sock->references);
446 isc__nm_decstats(sock, STATID_ACTIVE);
448 REQUIRE(!sock->destroying);
449 sock->destroying = true;
451 if (sock->parent == NULL && sock->children != NULL) {
456 for (size_t i = 0; i < sock->nchildren; i++) {
457 isc_refcount_decrementz(&sock->children[i].references);
458 nmsocket_cleanup(&sock->children[i]);
464 isc_mem_cput(sock->worker->mctx, sock->children,
465 sock->nchildren, sizeof(*sock));
466 sock->children = NULL;
467 sock->nchildren = 0;
470 sock->statichandle = NULL;
472 if (sock->outerhandle != NULL) {
473 isc_nmhandle_detach(&sock->outerhandle);
476 if (sock->outer != NULL) {
477 isc__nmsocket_detach(&sock->outer);
480 while ((handle = ISC_LIST_HEAD(sock->inactive_handles)) != NULL) {
481 ISC_LIST_DEQUEUE(sock->inactive_handles, handle, inactive_link);
482 nmhandle_free(sock, handle);
485 INSIST(sock->server == NULL);
486 sock->pquota = NULL;
488 isc__nm_tls_cleanup_data(sock);
490 isc__nm_http_cleanup_data(sock);
492 isc__nm_streamdns_cleanup_data(sock);
493 isc__nm_proxystream_cleanup_data(sock);
494 isc__nm_proxyudp_cleanup_data(sock);
496 if (sock->barriers_initialised) {
497 isc_barrier_destroy(&sock->listen_barrier);
498 isc_barrier_destroy(&sock->stop_barrier);
501 sock->magic = 0;
504 if (sock->parent == NULL) {
505 REQUIRE(sock->tid == isc_tid());
507 ISC_LIST_UNLINK(worker->active_sockets, sock, active_link);
509 isc_mempool_put(worker->nmsocket_pool, sock);
516 nmsocket_has_active_handles(isc_nmsocket_t *sock) {
517 if (!ISC_LIST_EMPTY(sock->active_handles)) {
521 if (sock->children != NULL) {
522 for (size_t i = 0; i < sock->nchildren; i++) {
523 isc_nmsocket_t *csock = &sock->children[i];
534 nmsocket_maybe_destroy(isc_nmsocket_t *sock FLARG) {
536 sock, isc_refcount_current(&sock->references));
538 if (sock->parent != NULL) {
544 nmsocket_maybe_destroy(sock->parent FLARG_PASS);
548 REQUIRE(!sock->destroying);
549 REQUIRE(!sock->active);
551 if (!sock->closed) {
555 if (isc_refcount_current(&sock->references) != 0) {
563 NETMGR_TRACE_LOG("%s:%p->statichandle = %p\n", __func__, sock,
564 sock->statichandle);
571 if (sock->statichandle == NULL && nmsocket_has_active_handles(sock)) {
575 if (sock->tid == isc_tid()) {
576 nmsocket_cleanup(sock);
578 isc_async_run(sock->worker->loop, nmsocket_cleanup, sock);
583 isc___nmsocket_prep_destroy(isc_nmsocket_t *sock FLARG) {
584 REQUIRE(sock->parent == NULL);
588 sock, isc_refcount_current(&sock->references));
595 sock->active = false;
608 if (!sock->closing && !sock->closed) {
609 switch (sock->type) {
611 isc__nm_udp_close(sock);
614 isc__nm_tcp_close(sock);
617 isc__nm_streamdns_close(sock);
620 isc__nm_tls_close(sock);
624 isc__nm_http_close(sock);
628 isc__nm_proxystream_close(sock);
631 isc__nm_proxyudp_close(sock);
638 nmsocket_maybe_destroy(sock FLARG_PASS);
646 isc_nmsocket_t *sock = *sockp, *rsock = NULL;
653 if (sock->parent != NULL) {
654 rsock = sock->parent;
657 rsock = sock;
685 isc___nmsocket_init(isc_nmsocket_t *sock, isc__networker_t *worker,
690 REQUIRE(sock != NULL);
693 *sock = (isc_nmsocket_t){
707 sock->iface = *iface;
713 sock->parent = parent;
715 ISC_LIST_APPEND(worker->active_sockets, sock, active_link);
719 sock->backtrace_size = isc_backtrace(sock->backtrace, TRACE_SIZE);
722 isc__networker_attach(worker, &sock->worker);
723 sock->uv_handle.handle.data = sock;
730 sock->statsindex = udp4statsindex;
733 sock->statsindex = udp6statsindex;
751 sock->statsindex = tcp4statsindex;
754 sock->statsindex = tcp6statsindex;
764 isc_refcount_init(&sock->references, 1);
766 memset(&sock->tlsstream, 0, sizeof(sock->tlsstream));
770 sock, isc_refcount_current(&sock->references));
772 sock->magic = NMSOCK_MAGIC;
774 isc__nm_incstats(sock, STATID_ACTIVE);
778 isc__nmsocket_clearcb(isc_nmsocket_t *sock) {
779 REQUIRE(VALID_NMSOCK(sock));
780 REQUIRE(sock->tid == isc_tid());
782 sock->recv_cb = NULL;
783 sock->recv_cbarg = NULL;
784 sock->accept_cb = NULL;
785 sock->accept_cbarg = NULL;
786 sock->connect_cb = NULL;
787 sock->connect_cbarg = NULL;
791 isc__nm_free_uvbuf(isc_nmsocket_t *sock, const uv_buf_t *buf) {
792 REQUIRE(VALID_NMSOCK(sock));
794 REQUIRE(buf->base == sock->worker->recvbuf);
796 sock->worker->recvbuf_inuse = false;
800 alloc_handle(isc_nmsocket_t *sock) {
801 isc_nmhandle_t *handle = isc_mem_get(sock->worker->mctx,
815 dequeue_handle(isc_nmsocket_t *sock) {
817 isc_nmhandle_t *handle = ISC_LIST_HEAD(sock->inactive_handles);
819 ISC_LIST_DEQUEUE(sock->inactive_handles, handle, inactive_link);
821 sock->inactive_handles_cur--;
828 INSIST(ISC_LIST_EMPTY(sock->inactive_handles));
834 isc___nmhandle_get(isc_nmsocket_t *sock, isc_sockaddr_t const *peer,
836 REQUIRE(VALID_NMSOCK(sock));
838 isc_nmhandle_t *handle = dequeue_handle(sock);
840 handle = alloc_handle(sock);
847 isc___nmsocket_attach(sock, &handle->sock FLARG_PASS);
856 handle->peer = sock->peer;
862 handle->local = sock->iface;
865 ISC_LIST_APPEND(sock->active_handles, handle, active_link);
866 sock->active_handles_cur++;
868 switch (sock->type) {
871 if (!sock->client) {
878 INSIST(sock->statichandle == NULL);
886 sock->statichandle = handle;
893 if (sock->type == isc_nm_httpsocket && sock->h2 != NULL &&
894 sock->h2->session)
896 isc__nm_httpsession_attach(sock->h2->session,
908 return handle->sock->type == isc_nm_tcpsocket ||
909 handle->sock->type == isc_nm_tlssocket ||
910 handle->sock->type == isc_nm_httpsocket ||
911 handle->sock->type == isc_nm_streamdnssocket ||
912 handle->sock->type == isc_nm_proxystreamsocket;
916 nmhandle_free(isc_nmsocket_t *sock, isc_nmhandle_t *handle) {
923 isc_mem_put(sock->worker->mctx, handle, sizeof(*handle));
928 isc_nmsocket_t *sock = handle->sock;
929 handle->sock = NULL;
932 nmhandle_free(sock, handle);
934 if (sock->active &&
935 sock->inactive_handles_cur < sock->inactive_handles_max)
937 sock->inactive_handles_cur++;
938 ISC_LIST_APPEND(sock->inactive_handles, handle, inactive_link);
940 nmhandle_free(sock, handle);
944 isc__nmsocket_detach(&sock);
950 isc_nmsocket_t *sock = handle->sock;
952 sock->closehandle_cb(sock);
959 isc_nmsocket_t *sock = handle->sock;
966 if (sock->type == isc_nm_httpsocket && handle->httpsession != NULL) {
971 if (handle == sock->statichandle) {
973 sock->statichandle = NULL;
980 ISC_LIST_UNLINK(sock->active_handles, handle, active_link);
981 INSIST(sock->active_handles_cur > 0);
982 sock->active_handles_cur--;
984 if (sock->closehandle_cb == NULL) {
994 isc_job_run(sock->worker->loop, &handle->job, isc__nm_closehandle_job,
1022 isc__nm_failed_send_cb(isc_nmsocket_t *sock, isc__nm_uvreq_t *req,
1024 REQUIRE(VALID_NMSOCK(sock));
1028 isc__nm_sendcb(sock, req, eresult, async);
1035 isc__nm_failed_connect_cb(isc_nmsocket_t *sock, isc__nm_uvreq_t *req,
1037 REQUIRE(VALID_NMSOCK(sock));
1039 REQUIRE(sock->tid == isc_tid());
1041 REQUIRE(sock->connecting);
1043 sock->connecting = false;
1045 isc__nm_incstats(sock, STATID_CONNECTFAIL);
1047 isc__nmsocket_timer_stop(sock);
1048 uv_handle_set_data((uv_handle_t *)&sock->read_timer, sock);
1050 isc__nmsocket_clearcb(sock);
1051 isc__nm_connectcb(sock, req, eresult, async);
1053 isc__nmsocket_prep_destroy(sock);
1057 isc__nm_failed_read_cb(isc_nmsocket_t *sock, isc_result_t result, bool async) {
1058 REQUIRE(VALID_NMSOCK(sock));
1060 switch (sock->type) {
1062 isc__nm_udp_failed_read_cb(sock, result, async);
1065 isc__nm_tcp_failed_read_cb(sock, result, async);
1068 isc__nm_tls_failed_read_cb(sock, result, async);
1071 isc__nm_streamdns_failed_read_cb(sock, result, async);
1074 isc__nm_proxystream_failed_read_cb(sock, result, async);
1077 isc__nm_proxyudp_failed_read_cb(sock, result, async);
1087 isc_nmsocket_t *sock = uv_handle_get_data((uv_handle_t *)uvreq->handle);
1090 REQUIRE(VALID_NMSOCK(sock));
1091 REQUIRE(sock->tid == isc_tid());
1094 REQUIRE(sock->connecting);
1096 isc__nmsocket_timer_stop(sock);
1101 REQUIRE(!sock->timedout);
1102 sock->timedout = true;
1103 isc__nmsocket_shutdown(sock);
1107 isc__nm_accept_connection_log(isc_nmsocket_t *sock, isc_result_t result,
1129 isc__nmsocket_log(sock, level, "Accepting TCP connection failed: %s",
1136 isc_nmsocket_t *sock = NULL;
1140 REQUIRE(VALID_NMSOCK(req->sock));
1142 sock = req->sock;
1144 isc__nm_start_reading(sock);
1145 isc__nmsocket_reset(sock);
1150 isc_nmsocket_t *sock = uv_handle_get_data((uv_handle_t *)timer);
1152 REQUIRE(VALID_NMSOCK(sock));
1153 REQUIRE(sock->tid == isc_tid());
1155 if (sock->client) {
1158 if (sock->recv_cb != NULL) {
1159 isc__nm_uvreq_t *req = isc__nm_get_read_req(sock, NULL);
1160 isc__nm_readcb(sock, req, ISC_R_TIMEDOUT, false);
1163 if (!isc__nmsocket_timer_running(sock)) {
1164 isc__nmsocket_clearcb(sock);
1165 isc__nm_failed_read_cb(sock, ISC_R_TIMEDOUT, false);
1168 isc__nm_failed_read_cb(sock, ISC_R_TIMEDOUT, false);
1173 isc__nmsocket_timer_restart(isc_nmsocket_t *sock) {
1174 REQUIRE(VALID_NMSOCK(sock));
1176 switch (sock->type) {
1178 isc__nmsocket_tls_timer_restart(sock);
1181 isc__nmsocket_streamdns_timer_restart(sock);
1184 isc__nmsocket_proxystream_timer_restart(sock);
1187 isc__nmsocket_proxyudp_timer_restart(sock);
1193 if (uv_is_closing((uv_handle_t *)&sock->read_timer)) {
1197 if (sock->connecting) {
1200 if (sock->connect_timeout == 0) {
1204 r = uv_timer_start(&sock->read_timer,
1206 sock->connect_timeout + 10, 0);
1212 if (sock->read_timeout == 0) {
1216 r = uv_timer_start(&sock->read_timer,
1218 sock->read_timeout, 0);
1224 isc__nmsocket_timer_running(isc_nmsocket_t *sock) {
1225 REQUIRE(VALID_NMSOCK(sock));
1227 switch (sock->type) {
1229 return isc__nmsocket_tls_timer_running(sock);
1231 return isc__nmsocket_streamdns_timer_running(sock);
1233 return isc__nmsocket_proxystream_timer_running(sock);
1235 return isc__nmsocket_proxyudp_timer_running(sock);
1240 return uv_is_active((uv_handle_t *)&sock->read_timer);
1244 isc__nmsocket_timer_start(isc_nmsocket_t *sock) {
1245 REQUIRE(VALID_NMSOCK(sock));
1247 if (isc__nmsocket_timer_running(sock)) {
1251 isc__nmsocket_timer_restart(sock);
1255 isc__nmsocket_timer_stop(isc_nmsocket_t *sock) {
1258 REQUIRE(VALID_NMSOCK(sock));
1260 switch (sock->type) {
1262 isc__nmsocket_tls_timer_stop(sock);
1265 isc__nmsocket_streamdns_timer_stop(sock);
1268 isc__nmsocket_proxystream_timer_stop(sock);
1271 isc__nmsocket_proxyudp_timer_stop(sock);
1279 r = uv_timer_stop(&sock->read_timer);
1284 isc___nm_get_read_req(isc_nmsocket_t *sock, isc_sockaddr_t *sockaddr FLARG) {
1287 req = isc__nm_uvreq_get(sock);
1288 req->cb.recv = sock->recv_cb;
1289 req->cbarg = sock->recv_cbarg;
1291 switch (sock->type) {
1296 isc_nmhandle__attach(sock->statichandle,
1299 isc_nmhandle_attach(sock->statichandle, &req->handle);
1304 isc_nmhandle__attach(sock->recv_handle,
1307 isc_nmhandle_attach(sock->recv_handle, &req->handle);
1311 if (sock->client && sock->statichandle != NULL) {
1313 isc_nmhandle__attach(sock->statichandle,
1316 isc_nmhandle_attach(sock->statichandle, &req->handle);
1319 req->handle = isc___nmhandle_get(sock, sockaddr,
1336 isc_nmsocket_t *sock = uv_handle_get_data(handle);
1339 REQUIRE(VALID_NMSOCK(sock));
1347 worker = sock->worker;
1351 switch (sock->type) {
1369 isc__nm_start_reading(isc_nmsocket_t *sock) {
1373 if (uv_is_active(&sock->uv_handle.handle)) {
1377 switch (sock->type) {
1379 r = uv_udp_recv_start(&sock->uv_handle.udp, isc__nm_alloc_cb,
1383 r = uv_read_start(&sock->uv_handle.stream, isc__nm_alloc_cb,
1397 isc__nm_stop_reading(isc_nmsocket_t *sock) {
1400 if (!uv_is_active(&sock->uv_handle.handle)) {
1404 switch (sock->type) {
1406 r = uv_udp_recv_stop(&sock->uv_handle.udp);
1410 r = uv_read_stop(&sock->uv_handle.stream);
1424 isc__nmsocket_closing(isc_nmsocket_t *sock) {
1425 return !sock->active || sock->closing ||
1426 isc__nm_closing(sock->worker) ||
1427 (sock->server != NULL && !isc__nmsocket_active(sock->server));
1433 REQUIRE(VALID_NMSOCK(handle->sock));
1435 switch (handle->sock->type) {
1454 handle->sock->read_timeout = 0;
1456 if (uv_is_active((uv_handle_t *)&handle->sock->read_timer)) {
1457 isc__nmsocket_timer_stop(handle->sock);
1465 REQUIRE(VALID_NMSOCK(handle->sock));
1467 switch (handle->sock->type) {
1486 handle->sock->read_timeout = timeout;
1487 isc__nmsocket_timer_restart(handle->sock);
1493 isc_nmsocket_t *sock = NULL;
1497 REQUIRE(VALID_NMSOCK(handle->sock));
1499 sock = handle->sock;
1500 netmgr = sock->worker->netmgr;
1502 REQUIRE(sock->tid == isc_tid());
1504 switch (sock->type) {
1506 sock->keepalive = value;
1507 sock->read_timeout =
1510 sock->write_timeout =
1539 REQUIRE(VALID_NMSOCK(handle->sock));
1541 return isc__nmsocket_timer_running(handle->sock);
1561 REQUIRE(VALID_NMSOCK(handle->sock));
1563 return handle->sock->worker->netmgr;
1567 isc___nm_uvreq_get(isc_nmsocket_t *sock FLARG) {
1568 REQUIRE(VALID_NMSOCK(sock));
1569 REQUIRE(sock->tid == isc_tid());
1571 isc__networker_t *worker = sock->worker;
1582 isc___nmsocket_attach(sock, &req->sock FLARG_PASS);
1584 ISC_LIST_APPEND(sock->active_uvreqs, req, active_link);
1595 isc_nmsocket_t *sock = req->sock;
1602 ISC_LIST_UNLINK(sock->active_uvreqs, req, active_link);
1612 isc_mempool_put(sock->worker->uvreq_pool, req);
1614 isc___nmsocket_detach(&sock FLARG_PASS);
1622 switch (handle->sock->type) {
1657 switch (handle->sock->type) {
1676 switch (handle->sock->type) {
1710 REQUIRE(VALID_NMSOCK(handle->sock));
1711 REQUIRE(handle->sock->tid == isc_tid());
1713 REQUIRE(handle->sock->tid == isc_tid());
1715 switch (handle->sock->type) {
1720 isc__nm_failed_read_cb(handle->sock, ISC_R_CANCELED, false);
1732 REQUIRE(VALID_NMSOCK(handle->sock));
1736 isc_async_run(handle->sock->worker->loop, cancelread_cb, handle);
1743 isc_nmsocket_t *sock = handle->sock;
1745 switch (sock->type) {
1763 REQUIRE(VALID_NMSOCK(handle->sock));
1765 isc__nmsocket_clearcb(handle->sock);
1766 isc__nmsocket_prep_destroy(handle->sock);
1770 isc_nm_stoplistening(isc_nmsocket_t *sock) {
1771 REQUIRE(VALID_NMSOCK(sock));
1773 switch (sock->type) {
1775 isc__nm_udp_stoplistening(sock);
1778 isc__nm_tcp_stoplistening(sock);
1781 isc__nm_streamdns_stoplistening(sock);
1784 isc__nm_tls_stoplistening(sock);
1788 isc__nm_http_stoplistening(sock);
1792 isc__nm_proxystream_stoplistening(sock);
1795 isc__nm_proxyudp_stoplistening(sock);
1846 isc__nm_connectcb(isc_nmsocket_t *sock, isc__nm_uvreq_t *uvreq,
1848 REQUIRE(VALID_NMSOCK(sock));
1860 isc_job_run(sock->worker->loop, &uvreq->job, isc___nm_connectcb, uvreq);
1876 isc__nm_readcb(isc_nmsocket_t *sock, isc__nm_uvreq_t *uvreq,
1878 REQUIRE(VALID_NMSOCK(sock));
1889 isc_job_run(sock->worker->loop, &uvreq->job, isc___nm_readcb, uvreq);
1901 isc__nm_sendcb(isc_nmsocket_t *sock, isc__nm_uvreq_t *uvreq,
1903 REQUIRE(VALID_NMSOCK(sock));
1914 isc_job_run(sock->worker->loop, &uvreq->job, isc___nm_sendcb, uvreq);
1919 isc_nmsocket_t *sock = uv_handle_get_data(handle);
1921 isc__nmsocket_shutdown(sock);
1922 isc__nmsocket_detach(&sock);
1926 isc__nmsocket_reset(isc_nmsocket_t *sock) {
1927 REQUIRE(VALID_NMSOCK(sock));
1929 switch (sock->type) {
1934 REQUIRE(sock->parent == NULL);
1937 isc__nmsocket_tls_reset(sock);
1940 isc__nmsocket_streamdns_reset(sock);
1943 isc__nmsocket_proxystream_reset(sock);
1950 if (!uv_is_closing(&sock->uv_handle.handle) &&
1951 uv_is_active(&sock->uv_handle.handle))
1957 isc__nmsocket_attach(sock, &(isc_nmsocket_t *){ NULL });
1958 int r = uv_tcp_close_reset(&sock->uv_handle.tcp,
1965 reset_shutdown(&sock->uv_handle.handle);
1968 isc__nmsocket_shutdown(sock);
1973 isc__nmsocket_shutdown(isc_nmsocket_t *sock) {
1974 REQUIRE(VALID_NMSOCK(sock));
1975 switch (sock->type) {
1977 isc__nm_udp_shutdown(sock);
1980 isc__nm_tcp_shutdown(sock);
1992 isc_nmsocket_t *sock = NULL;
1999 sock = uv_handle_get_data(handle);
2003 isc__nmsocket_shutdown(sock);
2006 switch (sock->type) {
2008 if (sock->parent == NULL) {
2010 isc__nmsocket_reset(sock);
2015 isc__nmsocket_shutdown(sock);
2034 isc__nm_incstats(isc_nmsocket_t *sock, isc__nm_statid_t id) {
2035 REQUIRE(VALID_NMSOCK(sock));
2038 if (sock->statsindex != NULL && sock->worker->netmgr->stats != NULL) {
2039 isc_stats_increment(sock->worker->netmgr->stats,
2040 sock->statsindex[id]);
2045 isc__nm_decstats(isc_nmsocket_t *sock, isc__nm_statid_t id) {
2046 REQUIRE(VALID_NMSOCK(sock));
2049 if (sock->statsindex != NULL && sock->worker->netmgr->stats != NULL) {
2050 isc_stats_decrement(sock->worker->netmgr->stats,
2051 sock->statsindex[id]);
2147 isc_nmsocket_t *sock = NULL;
2150 REQUIRE(VALID_NMSOCK(handle->sock));
2152 sock = handle->sock;
2154 switch (sock->type) {
2162 REQUIRE(sock->parent == NULL);
2163 isc__nmsocket_reset(sock);
2178 isc_nmsocket_t *sock = NULL;
2182 REQUIRE(VALID_NMSOCK(handle->sock));
2184 sock = handle->sock;
2186 switch (sock->type) {
2188 result = isc__nm_streamdns_xfr_checkperm(sock);
2200 REQUIRE(VALID_NMSOCK(handle->sock));
2202 return handle->sock->type == isc_nm_httpsocket;
2207 isc_nmsocket_t *sock = NULL;
2209 sock = handle->sock;
2211 switch (sock->type) {
2217 if (sock->h2 != NULL) {
2219 isc__nm_httpsession_handle(sock->h2->session));
2227 if (sock->outerhandle != NULL) {
2228 return get_proxy_handle(sock->outerhandle);
2237 REQUIRE(VALID_NMSOCK(handle->sock));
2246 REQUIRE(VALID_NMSOCK(handle->sock));
2248 if (handle->sock->client) {
2271 INSIST(VALID_NMSOCK(proxyhandle->sock));
2274 addr = isc_nmhandle_peeraddr(proxyhandle->sock->outerhandle);
2276 INSIST(proxyhandle->sock->type == isc_nm_proxyudpsocket);
2294 INSIST(VALID_NMSOCK(proxyhandle->sock));
2297 addr = isc_nmhandle_localaddr(proxyhandle->sock->outerhandle);
2299 INSIST(proxyhandle->sock->type == isc_nm_proxyudpsocket);
2372 isc_nmsocket_t *sock = NULL;
2375 REQUIRE(VALID_NMSOCK(handle->sock));
2376 REQUIRE(!handle->sock->client);
2382 sock = handle->sock;
2383 switch (sock->type) {
2406 REQUIRE(VALID_NMSOCK(handle->sock));
2408 return handle->sock->type;
2414 REQUIRE(VALID_NMSOCK(handle->sock));
2416 switch (handle->sock->type) {
2436 isc_nmsocket_t *sock = NULL;
2439 REQUIRE(VALID_NMSOCK(handle->sock));
2441 sock = handle->sock;
2442 switch (sock->type) {
2556 isc__nmsocket_log_tls_session_reuse(isc_nmsocket_t *sock, isc_tls_t *tls) {
2567 isc_sockaddr_format(&sock->peer, client_sabuf, sizeof(client_sabuf));
2568 isc_sockaddr_format(&sock->iface, local_sabuf, sizeof(local_sabuf));
2569 isc__nmsocket_log(sock, log_level, "TLS %s session %s for %s on %s",
2614 isc__nmsocket_log(const isc_nmsocket_t *sock, int level, const char *fmt, ...) {
2627 level, "socket %p: %s", sock, msgbuf);
2644 isc__nmsocket_log(handle->sock, level, "handle %p: %s", handle, msgbuf);
2740 REQUIRE(VALID_NMSOCK(handle->sock));
2742 isc_nmsocket_t *sock = handle->sock;
2744 switch (sock->type) {
2766 REQUIRE(VALID_NMSOCK(handle->sock));
2768 isc_nmsocket_t *sock = handle->sock;
2770 switch (sock->type) {
2786 REQUIRE(VALID_NMSOCK(handle->sock));
2789 isc_nmsocket_t *sock = handle->sock;
2791 switch (sock->type) {
2794 (void)uv_fileno((uv_handle_t *)&sock->uv_handle.tcp, &tcp_fd);
2815 isc_nmsocket_getaddr(isc_nmsocket_t *sock) {
2816 REQUIRE(VALID_NMSOCK(sock));
2817 return sock->iface;
2903 nmsocket_dump(isc_nmsocket_t *sock) {
2908 sock->client ? "client" : "server", sock,
2909 nmsocket_type_totext(sock->type),
2910 isc_refcount_current(&sock->references));
2914 sock->parent, sock->listener, sock->server, sock->statichandle);
2915 fprintf(stderr, "Flags:%s%s%s%s%s\n", sock->active ? " active" : "",
2916 sock->closing ? " closing" : "",
2917 sock->destroying ? " destroying" : "",
2918 sock->connecting ? " connecting" : "",
2919 sock->accepting ? " accepting" : "");
2921 isc_backtrace_symbols_fd(sock->backtrace, sock->backtrace_size,
2925 for (handle = ISC_LIST_HEAD(sock->active_handles); handle != NULL;
2941 isc_nmsocket_t *sock = NULL;
2944 for (sock = ISC_LIST_HEAD(worker->active_sockets); sock != NULL;
2945 sock = ISC_LIST_NEXT(sock, active_link))
2951 nmsocket_dump(sock);