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

Unified Diff: chrome/browser/local_discovery/service_discovery_client_mdns.cc

Issue 251023005: Renamed ServiceDiscoveryClientMdns to ServiceDiscoveryClientUtility. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sat 04/26/2014 18:41:53.09 Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698