diff options
author | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-18 19:02:27 +0000 |
---|---|---|
committer | szym@chromium.org <szym@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-18 19:02:27 +0000 |
commit | 8c98d00c19511f317f6e484a0744ab53c1a3c2ad (patch) | |
tree | 804aca7b2781f77d1379b865737241c2b9e89a6a /net/base/host_resolver_impl.cc | |
parent | a8160a4123b731f5fe60b0d8c4a8ad68339ea35e (diff) | |
download | chromium_src-8c98d00c19511f317f6e484a0744ab53c1a3c2ad.zip chromium_src-8c98d00c19511f317f6e484a0744ab53c1a3c2ad.tar.gz chromium_src-8c98d00c19511f317f6e484a0744ab53c1a3c2ad.tar.bz2 |
[net] Initialize Job priority before the first request is added.
This allows JobQueueTime histogram to properly measure Jobs which don't experience any queueing.
BUG=124346
TEST=chrome://histograms
Review URL: https://chromiumcodereview.appspot.com/10704253
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147282 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/host_resolver_impl.cc')
-rw-r--r-- | net/base/host_resolver_impl.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/net/base/host_resolver_impl.cc b/net/base/host_resolver_impl.cc index 166bda7..b8858ab 100644 --- a/net/base/host_resolver_impl.cc +++ b/net/base/host_resolver_impl.cc @@ -362,8 +362,8 @@ void LogCancelRequest(const BoundNetLog& source_net_log, // Keeps track of the highest priority. class PriorityTracker { public: - PriorityTracker() - : highest_priority_(IDLE), total_count_(0) { + explicit PriorityTracker(RequestPriority initial_priority) + : highest_priority_(initial_priority), total_count_(0) { memset(counts_, 0, sizeof(counts_)); } @@ -1112,9 +1112,11 @@ class HostResolverImpl::Job : public PrioritizedDispatcher::Job { // request that spawned it. Job(HostResolverImpl* resolver, const Key& key, + RequestPriority priority, const BoundNetLog& request_net_log) : resolver_(resolver->AsWeakPtr()), key_(key), + priority_tracker_(priority), had_non_speculative_request_(false), had_dns_config_(false), dns_task_error_(OK), @@ -1164,8 +1166,8 @@ class HostResolverImpl::Job : public PrioritizedDispatcher::Job { } // Add this job to the dispatcher. - void Schedule(RequestPriority priority) { - handle_ = resolver_->dispatcher_.Add(this, priority); + void Schedule() { + handle_ = resolver_->dispatcher_.Add(this, priority()); } void AddRequest(scoped_ptr<Request> req) { @@ -1645,8 +1647,8 @@ int HostResolverImpl::Resolve(const RequestInfo& info, Job* job; if (jobit == jobs_.end()) { // Create new Job. - job = new Job(this, key, request_net_log); - job->Schedule(info.priority()); + job = new Job(this, key, info.priority(), request_net_log); + job->Schedule(); // Check for queue overflow. if (dispatcher_.num_queued_jobs() > max_queued_jobs_) { |