diff options
author | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-26 00:03:59 +0000 |
---|---|---|
committer | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-26 00:03:59 +0000 |
commit | d0d49dd80ebcb6c7ca6b8e793a41866b4ad50eda (patch) | |
tree | 2eaa08ef3693d86bced45af389742ce3b6cee920 /net/dns/dns_session.cc | |
parent | 0a87909ee992e63975a5e81b9dde328f2740921b (diff) | |
download | chromium_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.cc | 16 |
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() {} |