summaryrefslogtreecommitdiffstats
path: root/net/dns/dns_session.cc
diff options
context:
space:
mode:
authorszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-26 00:03:59 +0000
committerszym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-26 00:03:59 +0000
commitd0d49dd80ebcb6c7ca6b8e793a41866b4ad50eda (patch)
tree2eaa08ef3693d86bced45af389742ce3b6cee920 /net/dns/dns_session.cc
parent0a87909ee992e63975a5e81b9dde328f2740921b (diff)
downloadchromium_src-d0d49dd80ebcb6c7ca6b8e793a41866b4ad50eda.zip
chromium_src-d0d49dd80ebcb6c7ca6b8e793a41866b4ad50eda.tar.gz
chromium_src-d0d49dd80ebcb6c7ca6b8e793a41866b4ad50eda.tar.bz2
DnsClient refactoring + features (timeout, suffix search, server rotation).
DnsClient::Request ==> DnsTransaction DnsTransaction ==> DnsTransactionImpl DnsClient ==> DnsTransactionFactory BUG=109949 TEST=net_unittests --gtest_filter=Dns* Review URL: http://codereview.chromium.org/9190031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119146 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/dns/dns_session.cc')
-rw-r--r--net/dns/dns_session.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/net/dns/dns_session.cc b/net/dns/dns_session.cc
index 15cbaa2..fb6c4b4 100644
--- a/net/dns/dns_session.cc
+++ b/net/dns/dns_session.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -24,21 +24,21 @@ DnsSession::DnsSession(const DnsConfig& config,
server_index_(0) {
}
-int DnsSession::NextId() const {
+int DnsSession::NextQueryId() const {
return rand_callback_.Run();
}
-const IPEndPoint& DnsSession::NextServer() {
- // TODO(szym): Rotate servers on failures.
- const IPEndPoint& ipe = config_.nameservers[server_index_];
+int DnsSession::NextFirstServerIndex() {
+ int index = server_index_;
if (config_.rotate)
server_index_ = (server_index_ + 1) % config_.nameservers.size();
- return ipe;
+ return index;
}
base::TimeDelta DnsSession::NextTimeout(int attempt) {
- // TODO(szym): Adapt timeout to observed RTT.
- return config_.timeout * (attempt + 1);
+ // The timeout doubles every full round (each nameserver once).
+ // TODO(szym): Adapt timeout to observed RTT. http://crbug.com/110197
+ return config_.timeout * (1 << (attempt / config_.nameservers.size()));
}
DnsSession::~DnsSession() {}