Index: net/tools/quic/synchronous_host_resolver.cc |
diff --git a/net/tools/quic/synchronous_host_resolver.cc b/net/tools/quic/synchronous_host_resolver.cc |
deleted file mode 100644 |
index 7955186f5d071510338b4c2b07eb9b5fa6b9a801..0000000000000000000000000000000000000000 |
--- a/net/tools/quic/synchronous_host_resolver.cc |
+++ /dev/null |
@@ -1,109 +0,0 @@ |
-// Copyright (c) 2015 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. |
- |
-#include "net/tools/quic/synchronous_host_resolver.h" |
- |
-#include "base/at_exit.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/threading/simple_thread.h" |
-#include "net/base/host_port_pair.h" |
-#include "net/base/net_errors.h" |
-#include "net/dns/host_resolver_impl.h" |
-#include "net/dns/single_request_host_resolver.h" |
- |
-namespace net { |
- |
-namespace tools { |
- |
-namespace { |
- |
-class ResolverThread : public base::SimpleThread { |
- public: |
- ResolverThread(); |
- |
- ~ResolverThread() override; |
- |
- // Called on the main thread. |
- int Resolve(const std::string& host, AddressList* addresses); |
- |
- // SimpleThread methods: |
- void Run() override; |
- |
- private: |
- void OnResolutionComplete(int rv); |
- |
- AddressList* addresses_; |
- std::string host_; |
- int rv_; |
- |
- base::WaitableEvent resolved_; // Notified when the resolution is complete. |
- |
- base::WeakPtrFactory<ResolverThread> weak_factory_; |
- |
- DISALLOW_COPY_AND_ASSIGN(ResolverThread); |
-}; |
- |
-ResolverThread::ResolverThread() |
- : SimpleThread("resolver_thread"), |
- rv_(ERR_UNEXPECTED), |
- resolved_(true, false), |
- weak_factory_(this) {} |
- |
-ResolverThread::~ResolverThread() {} |
- |
-void ResolverThread::Run() { |
- base::AtExitManager exit_manager; |
- base::MessageLoopForIO loop; |
- |
- net::HostResolver::Options options; |
- options.max_concurrent_resolves = 6; |
- options.max_retry_attempts = 3u; |
- net::NetLog net_log; |
- scoped_ptr<net::HostResolverImpl> resolver_impl( |
- new net::HostResolverImpl(options, &net_log)); |
- SingleRequestHostResolver resolver(resolver_impl.get()); |
- |
- HostPortPair host_port_pair(host_, 80); |
- |
- rv_ = resolver.Resolve( |
- HostResolver::RequestInfo(host_port_pair), DEFAULT_PRIORITY, |
- addresses_, |
- base::Bind(&ResolverThread::OnResolutionComplete, |
- weak_factory_.GetWeakPtr()), |
- BoundNetLog()); |
- |
- if (rv_ != ERR_IO_PENDING) { |
- resolved_.Signal(); |
- } |
- |
- while (!resolved_.IsSignaled()) { |
- base::MessageLoop::current()->RunUntilIdle(); |
- } |
-} |
- |
-int ResolverThread::Resolve(const std::string& host, AddressList* addresses) { |
- host_ = host; |
- addresses_ = addresses; |
- this->Start(); |
- resolved_.Wait(); |
- this->Join(); |
- return rv_; |
-} |
- |
-void ResolverThread::OnResolutionComplete(int rv) { |
- rv_ = rv; |
- resolved_.Signal(); |
-} |
- |
-} // namespace |
- |
-// static |
-int SynchronousHostResolver::Resolve(const std::string& host, |
- AddressList* addresses) { |
- ResolverThread resolver; |
- return resolver.Resolve(host, addresses); |
-} |
- |
-} // namespace tools |
-} // namespace net |