]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
more sane placing for timing of query
authorMiek Gieben <miekg@NLnetLabs.nl>
Mon, 14 Feb 2005 12:30:00 +0000 (12:30 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Mon, 14 Feb 2005 12:30:00 +0000 (12:30 +0000)
ldns/packet.h
net.c

index 7741804ae6ff339b3029786f926aba13ab8c3508..50d6d7efff9e4be101ec0e75cfbcaff57ecdb55f 100644 (file)
@@ -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 4d4b3fcc35c16d038568fc49cc9ba3d670d2896a..dff0daf46fe6e3539b5e14c0749ae48230937c02 100644 (file)
--- 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);