OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/base/host_resolver_impl.h" | 5 #include "net/base/host_resolver_impl.h" |
6 #include "net/base/net_log.h" | 6 #include "net/base/net_log.h" |
7 | 7 |
8 #include <cmath> | 8 #include <cmath> |
9 #include <deque> | 9 #include <deque> |
10 | 10 |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 | 156 |
157 //----------------------------------------------------------------------------- | 157 //----------------------------------------------------------------------------- |
158 | 158 |
159 // Threadsafe log. | 159 // Threadsafe log. |
160 class HostResolverImpl::RequestsTrace | 160 class HostResolverImpl::RequestsTrace |
161 : public base::RefCountedThreadSafe<HostResolverImpl::RequestsTrace> { | 161 : public base::RefCountedThreadSafe<HostResolverImpl::RequestsTrace> { |
162 public: | 162 public: |
163 RequestsTrace() {} | 163 RequestsTrace() {} |
164 | 164 |
165 void Add(const std::string& msg) { | 165 void Add(const std::string& msg) { |
166 NetLog::Entry entry; | 166 CapturingNetLog::Entry entry(NetLog::TYPE_TODO_STRING, |
167 entry.type = NetLog::Entry::TYPE_STRING; | 167 base::TimeTicks::Now(), |
168 entry.time = base::TimeTicks::Now(); | 168 NetLog::Source(), |
169 entry.string = msg; | 169 NetLog::PHASE_NONE, |
170 | 170 new NetLogStringParameter(msg)); |
171 AutoLock l(lock_); | 171 AutoLock l(lock_); |
172 entries_.push_back(entry); | 172 entries_.push_back(entry); |
173 } | 173 } |
174 | 174 |
175 void Get(std::vector<NetLog::Entry>* entries) { | 175 void Get(CapturingNetLog::EntryList* entries) { |
176 AutoLock l(lock_); | 176 AutoLock l(lock_); |
177 *entries = entries_; | 177 *entries = entries_; |
178 } | 178 } |
179 | 179 |
180 void Clear() { | 180 void Clear() { |
181 AutoLock l(lock_); | 181 AutoLock l(lock_); |
182 entries_.clear(); | 182 entries_.clear(); |
183 } | 183 } |
184 | 184 |
185 private: | 185 private: |
186 Lock lock_; | 186 Lock lock_; |
187 std::vector<NetLog::Entry> entries_; | 187 CapturingNetLog::EntryList entries_; |
188 }; | 188 }; |
189 | 189 |
190 //----------------------------------------------------------------------------- | 190 //----------------------------------------------------------------------------- |
191 | 191 |
192 // This class represents a request to the worker pool for a "getaddrinfo()" | 192 // This class represents a request to the worker pool for a "getaddrinfo()" |
193 // call. | 193 // call. |
194 class HostResolverImpl::Job | 194 class HostResolverImpl::Job |
195 : public base::RefCountedThreadSafe<HostResolverImpl::Job> { | 195 : public base::RefCountedThreadSafe<HostResolverImpl::Job> { |
196 public: | 196 public: |
197 Job(int id, HostResolverImpl* resolver, const Key& key, | 197 Job(int id, HostResolverImpl* resolver, const Key& key, |
(...skipping 707 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 | 905 |
906 requests_trace_->Add(StringPrintf( | 906 requests_trace_->Add(StringPrintf( |
907 "Number of queued requests: %d", static_cast<int>(total))); | 907 "Number of queued requests: %d", static_cast<int>(total))); |
908 } | 908 } |
909 } | 909 } |
910 | 910 |
911 bool HostResolverImpl::IsRequestsTracingEnabled() const { | 911 bool HostResolverImpl::IsRequestsTracingEnabled() const { |
912 return !!requests_trace_; // Cast to bool. | 912 return !!requests_trace_; // Cast to bool. |
913 } | 913 } |
914 | 914 |
915 bool HostResolverImpl::GetRequestsTrace(std::vector<NetLog::Entry>* entries) { | 915 bool HostResolverImpl::GetRequestsTrace(CapturingNetLog::EntryList* entries) { |
916 if (!requests_trace_) | 916 if (!requests_trace_) |
917 return false; | 917 return false; |
918 requests_trace_->Get(entries); | 918 requests_trace_->Get(entries); |
919 return true; | 919 return true; |
920 } | 920 } |
921 | 921 |
922 void HostResolverImpl::SetPoolConstraints(JobPoolIndex pool_index, | 922 void HostResolverImpl::SetPoolConstraints(JobPoolIndex pool_index, |
923 size_t max_outstanding_jobs, | 923 size_t max_outstanding_jobs, |
924 size_t max_pending_requests) { | 924 size_t max_pending_requests) { |
925 CHECK_GE(pool_index, 0); | 925 CHECK_GE(pool_index, 0); |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1185 if (r == req) | 1185 if (r == req) |
1186 return error; | 1186 return error; |
1187 | 1187 |
1188 r->OnComplete(error, AddressList()); | 1188 r->OnComplete(error, AddressList()); |
1189 } | 1189 } |
1190 | 1190 |
1191 return ERR_IO_PENDING; | 1191 return ERR_IO_PENDING; |
1192 } | 1192 } |
1193 | 1193 |
1194 } // namespace net | 1194 } // namespace net |
OLD | NEW |