SET_SOCKSTATDESC(udp6active, "UDP/IPv6 sockets active", "UDP6Active");
SET_SOCKSTATDESC(tcp4active, "TCP/IPv4 sockets active", "TCP4Active");
SET_SOCKSTATDESC(tcp6active, "TCP/IPv6 sockets active", "TCP6Active");
+ SET_SOCKSTATDESC(tcp4clients, "TCP/IPv4 clients currently connected",
+ "TCP4Clients");
+ SET_SOCKSTATDESC(tcp6clients, "TCP/IPv6 clients currently connected",
+ "TCP6Clients");
INSIST(i == isc_sockstatscounter_max);
/* Initialize DNSSEC statistics */
isc_sockstatscounter_tcp4active,
isc_sockstatscounter_tcp6active,
+ isc_sockstatscounter_tcp4clients,
+ isc_sockstatscounter_tcp6clients,
+
isc_sockstatscounter_max,
};
-1,
isc_sockstatscounter_udp4sendfail,
isc_sockstatscounter_udp4recvfail,
- isc_sockstatscounter_udp4active
+ isc_sockstatscounter_udp4active,
+ -1,
};
static const isc_statscounter_t udp6statsindex[] = {
-1,
isc_sockstatscounter_udp6sendfail,
isc_sockstatscounter_udp6recvfail,
- isc_sockstatscounter_udp6active
+ isc_sockstatscounter_udp6active,
+ -1,
};
static const isc_statscounter_t tcp4statsindex[] = {
isc_sockstatscounter_tcp4connectfail, isc_sockstatscounter_tcp4connect,
isc_sockstatscounter_tcp4acceptfail, isc_sockstatscounter_tcp4accept,
isc_sockstatscounter_tcp4sendfail, isc_sockstatscounter_tcp4recvfail,
- isc_sockstatscounter_tcp4active
+ isc_sockstatscounter_tcp4active, isc_sockstatscounter_tcp4clients,
};
static const isc_statscounter_t tcp6statsindex[] = {
isc_sockstatscounter_tcp6connectfail, isc_sockstatscounter_tcp6connect,
isc_sockstatscounter_tcp6acceptfail, isc_sockstatscounter_tcp6accept,
isc_sockstatscounter_tcp6sendfail, isc_sockstatscounter_tcp6recvfail,
- isc_sockstatscounter_tcp6active
+ isc_sockstatscounter_tcp6active, isc_sockstatscounter_tcp6clients,
};
static void
UV_RUNTIME_CHECK(uv_timer_init, r);
uv_handle_set_data((uv_handle_t *)&csock->read_timer, csock);
+ if (csock->server->pquota != NULL) {
+ isc__nm_incstats(csock, STATID_CLIENTS);
+ }
+
/*
* We need to initialize the tcp and timer before failing because
* isc__nm_tcp_close() can't handle uninitalized TCP nmsocket.
if (sock->server != NULL) {
if (sock->server->pquota != NULL) {
+ isc__nm_decstats(sock, STATID_CLIENTS);
isc_quota_release(sock->server->pquota);
}
isc__nmsocket_detach(&sock->server);