Пример #1
0
void server_stats_insrcode(struct server_stats* stats, ldns_buffer* buf)
{
	if(stats->extended && ldns_buffer_limit(buf) != 0) {
		int r = (int)LDNS_RCODE_WIRE( ldns_buffer_begin(buf) );
		stats->ans_rcode[r] ++;
		if(r == 0 && LDNS_ANCOUNT( ldns_buffer_begin(buf) ) == 0)
			stats->ans_rcode_nodata ++;
	}
}
Пример #2
0
/** got reply for io */
static void
perfreply(struct perfinfo* info, size_t n, struct timeval* now)
{
	ssize_t r;
	r = recv(info->io[n].fd, (void*)sldns_buffer_begin(info->buf),
		sldns_buffer_capacity(info->buf), 0);
	if(r == -1) {
#ifndef USE_WINSOCK
		log_err("recv: %s", strerror(errno));
#else
		log_err("recv: %s", wsa_strerror(WSAGetLastError()));
#endif
	} else {
		info->by_rcode[LDNS_RCODE_WIRE(sldns_buffer_begin(
			info->buf))]++;
		info->numrecv++;
	}
	/*sldns_buffer_set_limit(info->buf, r);
	log_buf(0, "reply", info->buf);*/
	perfsend(info, n, now);
}