From: Miek Gieben Date: Mon, 14 Feb 2005 12:30:00 +0000 (+0000) Subject: more sane placing for timing of query X-Git-Tag: release-0.50~439 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=293cdf5db8ee6dea2c75b5ef4a53dbd024889c33;p=thirdparty%2Fldns.git more sane placing for timing of query --- diff --git a/ldns/packet.h b/ldns/packet.h index 7741804a..50d6d7ef 100644 --- a/ldns/packet.h +++ b/ldns/packet.h @@ -110,6 +110,7 @@ uint16_t ldns_pkt_qdcount(ldns_pkt *); uint16_t ldns_pkt_ancount(ldns_pkt *); uint16_t ldns_pkt_nscount(ldns_pkt *); uint16_t ldns_pkt_arcount(ldns_pkt *); +uint32_t ldns_pkt_querytime(ldns_pkt *); ldns_rr_list *ldns_pkt_question(ldns_pkt *packet); ldns_rr_list *ldns_pkt_answer(ldns_pkt *packet); diff --git a/net.c b/net.c index 4d4b3fcc..dff0daf4 100644 --- a/net.c +++ b/net.c @@ -148,7 +148,6 @@ ldns_send_udp(ldns_buffer *qbin, const struct sockaddr_storage *to, socklen_t to bytes = sendto(sockfd, ldns_buffer_begin(qbin), ldns_buffer_position(qbin), 0, (struct sockaddr *)to, tolen); - gettimeofday(&tv_e, NULL); if (bytes == -1) { printf("error with sending\n"); @@ -172,6 +171,7 @@ ldns_send_udp(ldns_buffer *qbin, const struct sockaddr_storage *to, socklen_t to bytes = recv(sockfd, answer, MAX_PACKET_SIZE, 0); close(sockfd); + gettimeofday(&tv_e, NULL); if (bytes == -1) { if (errno == EAGAIN) { @@ -193,8 +193,8 @@ ldns_send_udp(ldns_buffer *qbin, const struct sockaddr_storage *to, socklen_t to /* set some extra values in the pkt */ /* is msec usec here?! */ ldns_pkt_set_querytime(answer_pkt, - ((tv_e.tv_sec - tv_s.tv_sec)*1000) + - (tv_e.tv_usec - tv_s.tv_usec)); + ((tv_e.tv_sec - tv_s.tv_sec) * 1000) + + (tv_e.tv_usec - tv_s.tv_usec) / 1000); return answer_pkt; } @@ -258,7 +258,6 @@ ldns_send_tcp(ldns_buffer *qbin, const struct sockaddr_storage *to, socklen_t to FREE(sendbuf); - gettimeofday(&tv_e, NULL); if (bytes == -1) { printf("error with sending\n"); @@ -315,6 +314,7 @@ ldns_send_tcp(ldns_buffer *qbin, const struct sockaddr_storage *to, socklen_t to } close(sockfd); + gettimeofday(&tv_e, NULL); /* resize accordingly */ XREALLOC(answer, uint8_t *, (size_t) total_bytes);