Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Side by Side Diff: net/dns/mock_host_resolver.cc

Issue 2910473005: Deprecate NonThreadSafe in net/ in favor of SequenceChecker/ThreadChecker. (Closed)
Patch Set: another compile nit Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/dns/mock_host_resolver.h" 5 #include "net/dns/mock_host_resolver.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 RequestInfo info_; 91 RequestInfo info_;
92 AddressList* addresses_; 92 AddressList* addresses_;
93 CompletionCallback callback_; 93 CompletionCallback callback_;
94 MockHostResolverBase* resolver_; 94 MockHostResolverBase* resolver_;
95 size_t id_; 95 size_t id_;
96 96
97 DISALLOW_COPY_AND_ASSIGN(RequestImpl); 97 DISALLOW_COPY_AND_ASSIGN(RequestImpl);
98 }; 98 };
99 99
100 MockHostResolverBase::~MockHostResolverBase() { 100 MockHostResolverBase::~MockHostResolverBase() {
101 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
101 DCHECK(requests_.empty()); 102 DCHECK(requests_.empty());
102 } 103 }
103 104
104 int MockHostResolverBase::Resolve(const RequestInfo& info, 105 int MockHostResolverBase::Resolve(const RequestInfo& info,
105 RequestPriority priority, 106 RequestPriority priority,
106 AddressList* addresses, 107 AddressList* addresses,
107 const CompletionCallback& callback, 108 const CompletionCallback& callback,
108 std::unique_ptr<Request>* request, 109 std::unique_ptr<Request>* request,
109 const NetLogWithSource& net_log) { 110 const NetLogWithSource& net_log) {
110 DCHECK(CalledOnValidThread()); 111 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
111 DCHECK(request); 112 DCHECK(request);
112 last_request_priority_ = priority; 113 last_request_priority_ = priority;
113 num_resolve_++; 114 num_resolve_++;
114 size_t id = next_request_id_++; 115 size_t id = next_request_id_++;
115 int rv = ResolveFromIPLiteralOrCache(info, addresses); 116 int rv = ResolveFromIPLiteralOrCache(info, addresses);
116 if (rv != ERR_DNS_CACHE_MISS) 117 if (rv != ERR_DNS_CACHE_MISS)
117 return rv; 118 return rv;
118 119
119 // Just like the real resolver, refuse to do anything with invalid hostnames. 120 // Just like the real resolver, refuse to do anything with invalid hostnames.
120 if (!IsValidDNSDomain(info.hostname())) 121 if (!IsValidDNSDomain(info.hostname()))
(...skipping 14 matching lines...) Expand all
135 base::Bind(&MockHostResolverBase::ResolveNow, AsWeakPtr(), id)); 136 base::Bind(&MockHostResolverBase::ResolveNow, AsWeakPtr(), id));
136 } 137 }
137 138
138 return ERR_IO_PENDING; 139 return ERR_IO_PENDING;
139 } 140 }
140 141
141 int MockHostResolverBase::ResolveFromCache(const RequestInfo& info, 142 int MockHostResolverBase::ResolveFromCache(const RequestInfo& info,
142 AddressList* addresses, 143 AddressList* addresses,
143 const NetLogWithSource& net_log) { 144 const NetLogWithSource& net_log) {
144 num_resolve_from_cache_++; 145 num_resolve_from_cache_++;
145 DCHECK(CalledOnValidThread()); 146 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
146 next_request_id_++; 147 next_request_id_++;
147 int rv = ResolveFromIPLiteralOrCache(info, addresses); 148 int rv = ResolveFromIPLiteralOrCache(info, addresses);
148 return rv; 149 return rv;
149 } 150 }
150 151
151 void MockHostResolverBase::DetachRequest(size_t id) { 152 void MockHostResolverBase::DetachRequest(size_t id) {
152 RequestMap::iterator it = requests_.find(id); 153 RequestMap::iterator it = requests_.find(id);
153 CHECK(it != requests_.end()); 154 CHECK(it != requests_.end());
154 requests_.erase(it); 155 requests_.erase(it);
155 } 156 }
156 157
157 HostCache* MockHostResolverBase::GetHostCache() { 158 HostCache* MockHostResolverBase::GetHostCache() {
158 return cache_.get(); 159 return cache_.get();
159 } 160 }
160 161
161 void MockHostResolverBase::ResolveAllPending() { 162 void MockHostResolverBase::ResolveAllPending() {
162 DCHECK(CalledOnValidThread()); 163 DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
163 DCHECK(ondemand_mode_); 164 DCHECK(ondemand_mode_);
164 for (RequestMap::iterator i = requests_.begin(); i != requests_.end(); ++i) { 165 for (RequestMap::iterator i = requests_.begin(); i != requests_.end(); ++i) {
165 base::ThreadTaskRunnerHandle::Get()->PostTask( 166 base::ThreadTaskRunnerHandle::Get()->PostTask(
166 FROM_HERE, 167 FROM_HERE,
167 base::Bind(&MockHostResolverBase::ResolveNow, AsWeakPtr(), i->first)); 168 base::Bind(&MockHostResolverBase::ResolveNow, AsWeakPtr(), i->first));
168 } 169 }
169 } 170 }
170 171
171 // start id from 1 to distinguish from NULL RequestHandle 172 // start id from 1 to distinguish from NULL RequestHandle
172 MockHostResolverBase::MockHostResolverBase(bool use_caching) 173 MockHostResolverBase::MockHostResolverBase(bool use_caching)
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 CHECK_EQ(old_proc, current_proc_.get()); 481 CHECK_EQ(old_proc, current_proc_.get());
481 } 482 }
482 483
483 void ScopedDefaultHostResolverProc::Init(HostResolverProc* proc) { 484 void ScopedDefaultHostResolverProc::Init(HostResolverProc* proc) {
484 current_proc_ = proc; 485 current_proc_ = proc;
485 previous_proc_ = HostResolverProc::SetDefault(current_proc_.get()); 486 previous_proc_ = HostResolverProc::SetDefault(current_proc_.get());
486 current_proc_->SetLastProc(previous_proc_.get()); 487 current_proc_->SetLastProc(previous_proc_.get());
487 } 488 }
488 489
489 } // namespace net 490 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698