Index: chrome/browser/local_discovery/service_discovery_client_mdns.cc |
diff --git a/chrome/browser/local_discovery/service_discovery_client_mdns.cc b/chrome/browser/local_discovery/service_discovery_client_mdns.cc |
deleted file mode 100644 |
index 69fd977dd5e1d223b63bfba323619dba27858a89..0000000000000000000000000000000000000000 |
--- a/chrome/browser/local_discovery/service_discovery_client_mdns.cc |
+++ /dev/null |
@@ -1,107 +0,0 @@ |
-// Copyright 2013 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 "chrome/browser/local_discovery/service_discovery_client_mdns.h" |
- |
-#include "base/metrics/histogram.h" |
-#include "chrome/browser/local_discovery/service_discovery_host_client.h" |
-#include "content/public/browser/browser_thread.h" |
- |
-namespace local_discovery { |
- |
-using content::BrowserThread; |
- |
-namespace { |
-const int kMaxRestartAttempts = 10; |
-const int kRestartDelayOnNetworkChangeSeconds = 3; |
-const int kReportSuccessAfterSeconds = 10; |
-} |
- |
-scoped_ptr<ServiceWatcher> ServiceDiscoveryClientMdns::CreateServiceWatcher( |
- const std::string& service_type, |
- const ServiceWatcher::UpdatedCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- return host_client_->CreateServiceWatcher(service_type, callback); |
-} |
- |
-scoped_ptr<ServiceResolver> ServiceDiscoveryClientMdns::CreateServiceResolver( |
- const std::string& service_name, |
- const ServiceResolver::ResolveCompleteCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- return host_client_->CreateServiceResolver(service_name, callback); |
-} |
- |
-scoped_ptr<LocalDomainResolver> |
-ServiceDiscoveryClientMdns::CreateLocalDomainResolver( |
- const std::string& domain, |
- net::AddressFamily address_family, |
- const LocalDomainResolver::IPAddressCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- return host_client_->CreateLocalDomainResolver(domain, address_family, |
- callback); |
-} |
- |
-ServiceDiscoveryClientMdns::ServiceDiscoveryClientMdns() |
- : restart_attempts_(kMaxRestartAttempts), |
- weak_ptr_factory_(this) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- net::NetworkChangeNotifier::AddNetworkChangeObserver(this); |
- StartNewClient(); |
-} |
- |
-ServiceDiscoveryClientMdns::~ServiceDiscoveryClientMdns() { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- net::NetworkChangeNotifier::RemoveNetworkChangeObserver(this); |
- host_client_->Shutdown(); |
-} |
- |
-void ServiceDiscoveryClientMdns::OnNetworkChanged( |
- net::NetworkChangeNotifier::ConnectionType type) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- // Only network changes resets kMaxRestartAttempts. |
- restart_attempts_ = kMaxRestartAttempts; |
- ScheduleStartNewClient(); |
-} |
- |
-void ServiceDiscoveryClientMdns::ScheduleStartNewClient() { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- host_client_->Shutdown(); |
- weak_ptr_factory_.InvalidateWeakPtrs(); |
- base::MessageLoop::current()->PostDelayedTask( |
- FROM_HERE, |
- base::Bind(&ServiceDiscoveryClientMdns::StartNewClient, |
- weak_ptr_factory_.GetWeakPtr()), |
- base::TimeDelta::FromSeconds(kRestartDelayOnNetworkChangeSeconds)); |
-} |
- |
-void ServiceDiscoveryClientMdns::StartNewClient() { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- scoped_refptr<ServiceDiscoveryHostClient> old_client = host_client_; |
- if ((restart_attempts_--) > 0) { |
- host_client_ = new ServiceDiscoveryHostClient(); |
- host_client_->Start( |
- base::Bind(&ServiceDiscoveryClientMdns::ScheduleStartNewClient, |
- weak_ptr_factory_.GetWeakPtr())); |
- |
- base::MessageLoop::current()->PostDelayedTask( |
- FROM_HERE, |
- base::Bind(&ServiceDiscoveryClientMdns::ReportSuccess, |
- weak_ptr_factory_.GetWeakPtr()), |
- base::TimeDelta::FromSeconds(kReportSuccessAfterSeconds)); |
- } else { |
- restart_attempts_ = -1; |
- ReportSuccess(); |
- } |
- // Run when host_client_ is created. Callbacks created by InvalidateWatchers |
- // may create new watchers. |
- if (old_client) |
- old_client->InvalidateWatchers(); |
-} |
- |
-void ServiceDiscoveryClientMdns::ReportSuccess() { |
- UMA_HISTOGRAM_COUNTS_100("LocalDiscovery.ClientRestartAttempts", |
- kMaxRestartAttempts - restart_attempts_); |
-} |
- |
-} // namespace local_discovery |