OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/host_resolver_mojo.h" | 5 #include "net/dns/host_resolver_mojo.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/callback_helpers.h" | 9 #include "base/callback_helpers.h" |
10 #include "mojo/public/cpp/bindings/binding.h" | 10 #include "mojo/public/cpp/bindings/binding.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 host_cache_weak_factory_(host_cache_.get()) { | 70 host_cache_weak_factory_(host_cache_.get()) { |
71 } | 71 } |
72 | 72 |
73 HostResolverMojo::~HostResolverMojo() = default; | 73 HostResolverMojo::~HostResolverMojo() = default; |
74 | 74 |
75 int HostResolverMojo::Resolve(const RequestInfo& info, | 75 int HostResolverMojo::Resolve(const RequestInfo& info, |
76 RequestPriority priority, | 76 RequestPriority priority, |
77 AddressList* addresses, | 77 AddressList* addresses, |
78 const CompletionCallback& callback, | 78 const CompletionCallback& callback, |
79 std::unique_ptr<Request>* request, | 79 std::unique_ptr<Request>* request, |
80 const BoundNetLog& source_net_log) { | 80 const NetLogWithSource& source_net_log) { |
81 DCHECK(thread_checker_.CalledOnValidThread()); | 81 DCHECK(thread_checker_.CalledOnValidThread()); |
82 DCHECK(request); | 82 DCHECK(request); |
83 DVLOG(1) << "Resolve " << info.host_port_pair().ToString(); | 83 DVLOG(1) << "Resolve " << info.host_port_pair().ToString(); |
84 | 84 |
85 HostCache::Key key = CacheKeyForRequest(info); | 85 HostCache::Key key = CacheKeyForRequest(info); |
86 int cached_result = ResolveFromCacheInternal(info, key, addresses); | 86 int cached_result = ResolveFromCacheInternal(info, key, addresses); |
87 if (cached_result != ERR_DNS_CACHE_MISS) { | 87 if (cached_result != ERR_DNS_CACHE_MISS) { |
88 DVLOG(1) << "Resolved " << info.host_port_pair().ToString() | 88 DVLOG(1) << "Resolved " << info.host_port_pair().ToString() |
89 << " from cache"; | 89 << " from cache"; |
90 return cached_result; | 90 return cached_result; |
91 } | 91 } |
92 | 92 |
93 interfaces::HostResolverRequestClientPtr handle; | 93 interfaces::HostResolverRequestClientPtr handle; |
94 std::unique_ptr<Job> job(new Job(key, addresses, callback, | 94 std::unique_ptr<Job> job(new Job(key, addresses, callback, |
95 mojo::GetProxy(&handle), | 95 mojo::GetProxy(&handle), |
96 host_cache_weak_factory_.GetWeakPtr())); | 96 host_cache_weak_factory_.GetWeakPtr())); |
97 request->reset(new RequestImpl(std::move(job))); | 97 request->reset(new RequestImpl(std::move(job))); |
98 | 98 |
99 impl_->ResolveDns(interfaces::HostResolverRequestInfo::From(info), | 99 impl_->ResolveDns(interfaces::HostResolverRequestInfo::From(info), |
100 std::move(handle)); | 100 std::move(handle)); |
101 return ERR_IO_PENDING; | 101 return ERR_IO_PENDING; |
102 } | 102 } |
103 | 103 |
104 int HostResolverMojo::ResolveFromCache(const RequestInfo& info, | 104 int HostResolverMojo::ResolveFromCache(const RequestInfo& info, |
105 AddressList* addresses, | 105 AddressList* addresses, |
106 const BoundNetLog& source_net_log) { | 106 const NetLogWithSource& source_net_log) { |
107 DCHECK(thread_checker_.CalledOnValidThread()); | 107 DCHECK(thread_checker_.CalledOnValidThread()); |
108 DVLOG(1) << "ResolveFromCache " << info.host_port_pair().ToString(); | 108 DVLOG(1) << "ResolveFromCache " << info.host_port_pair().ToString(); |
109 return ResolveFromCacheInternal(info, CacheKeyForRequest(info), addresses); | 109 return ResolveFromCacheInternal(info, CacheKeyForRequest(info), addresses); |
110 } | 110 } |
111 | 111 |
112 HostCache* HostResolverMojo::GetHostCache() { | 112 HostCache* HostResolverMojo::GetHostCache() { |
113 return host_cache_.get(); | 113 return host_cache_.get(); |
114 } | 114 } |
115 | 115 |
116 int HostResolverMojo::ResolveFromCacheInternal(const RequestInfo& info, | 116 int HostResolverMojo::ResolveFromCacheInternal(const RequestInfo& info, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 if (binding_.is_bound()) | 157 if (binding_.is_bound()) |
158 binding_.Close(); | 158 binding_.Close(); |
159 base::ResetAndReturn(&callback_).Run(error); | 159 base::ResetAndReturn(&callback_).Run(error); |
160 } | 160 } |
161 | 161 |
162 void HostResolverMojo::Job::OnConnectionError() { | 162 void HostResolverMojo::Job::OnConnectionError() { |
163 ReportResult(ERR_FAILED, interfaces::AddressListPtr()); | 163 ReportResult(ERR_FAILED, interfaces::AddressListPtr()); |
164 } | 164 } |
165 | 165 |
166 } // namespace net | 166 } // namespace net |
OLD | NEW |