BIND 10 master, updated. c77af8b7ddef2d9198b1a092e2a93aa6bc61b8d2 Merge branch 'master' of ssh://bind10.isc.org/var/bind10/git/bind10
BIND 10 source code commits
bind10-changes at lists.isc.org
Thu Mar 17 16:36:59 UTC 2011
The branch, master has been updated
via c77af8b7ddef2d9198b1a092e2a93aa6bc61b8d2 (commit)
via 2a4f9f2f6d0831520ddba84030873b70b9577c0c (commit)
from db4993d8478cad992ebfe8787edda08a6dd0d347 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c77af8b7ddef2d9198b1a092e2a93aa6bc61b8d2
Merge: 2a4f9f2f6d0831520ddba84030873b70b9577c0c db4993d8478cad992ebfe8787edda08a6dd0d347
Author: Jelte Jansen <jelte at isc.org>
Date: Thu Mar 17 17:36:54 2011 +0100
Merge branch 'master' of ssh://bind10.isc.org/var/bind10/git/bind10
commit 2a4f9f2f6d0831520ddba84030873b70b9577c0c
Author: Jelte Jansen <jelte at isc.org>
Date: Thu Mar 17 17:35:41 2011 +0100
[master] fix updateRTT for fast responses
- updateRTT now accepts 0 (and will change it internally to 1 as it needs a value >0 for division)
- improved check for negative values due to clock changes in the caller
-----------------------------------------------------------------------
Summary of changes:
src/lib/nsas/nameserver_entry.cc | 3 +++
src/lib/resolve/recursive_query.cc | 13 +++++++------
2 files changed, 10 insertions(+), 6 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/nsas/nameserver_entry.cc b/src/lib/nsas/nameserver_entry.cc
index 367ea0a..40d5cd7 100644
--- a/src/lib/nsas/nameserver_entry.cc
+++ b/src/lib/nsas/nameserver_entry.cc
@@ -174,6 +174,9 @@ NameserverEntry::updateAddressRTTAtIndex(uint32_t rtt, size_t index,
uint32_t old_rtt = addresses_[family][index].getRTT();
uint32_t new_rtt = (uint32_t)(old_rtt * UPDATE_RTT_ALPHA + rtt *
(1 - UPDATE_RTT_ALPHA));
+ if (new_rtt == 0) {
+ new_rtt = 1;
+ }
addresses_[family][index].setRTT(new_rtt);
}
diff --git a/src/lib/resolve/recursive_query.cc b/src/lib/resolve/recursive_query.cc
index 65545a4..df5e2d9 100644
--- a/src/lib/resolve/recursive_query.cc
+++ b/src/lib/resolve/recursive_query.cc
@@ -608,18 +608,19 @@ public:
// Update the NSAS with the time it took
struct timeval cur_time;
gettimeofday(&cur_time, NULL);
- uint32_t rtt;
- if (cur_time.tv_sec >= current_ns_qsent_time.tv_sec ||
- cur_time.tv_usec > current_ns_qsent_time.tv_usec) {
+ uint32_t rtt = 0;
+
+ // Only calculate RTT if it is positive
+ if (cur_time.tv_sec > current_ns_qsent_time.tv_sec ||
+ (cur_time.tv_sec == current_ns_qsent_time.tv_sec &&
+ cur_time.tv_usec > current_ns_qsent_time.tv_usec)) {
rtt = 1000 * (cur_time.tv_sec - current_ns_qsent_time.tv_sec);
rtt += (cur_time.tv_usec - current_ns_qsent_time.tv_usec) / 1000;
- } else {
- rtt = 1;
}
dlog("RTT: " + boost::lexical_cast<std::string>(rtt));
current_ns_address.updateRTT(rtt);
-
+
try {
Message incoming(Message::PARSE);
InputBuffer ibuf(buffer_->getData(), buffer_->getLength());
More information about the bind10-changes
mailing list