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

Side by Side Diff: chrome/utility/local_discovery/service_discovery_message_handler.cc

Issue 23548028: Added logging to local discovery code (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/local_discovery/service_discovery_host_client.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/utility/local_discovery/service_discovery_message_handler.h" 5 #include "chrome/utility/local_discovery/service_discovery_message_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "chrome/common/local_discovery/local_discovery_messages.h" 10 #include "chrome/common/local_discovery/local_discovery_messages.h"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 } 123 }
124 124
125 void SendLocalDomainResolved(uint64 id, bool success, 125 void SendLocalDomainResolved(uint64 id, bool success,
126 const net::IPAddressNumber& address_ipv4, 126 const net::IPAddressNumber& address_ipv4,
127 const net::IPAddressNumber& address_ipv6) { 127 const net::IPAddressNumber& address_ipv6) {
128 content::UtilityThread::Get()->Send( 128 content::UtilityThread::Get()->Send(
129 new LocalDiscoveryHostMsg_LocalDomainResolverCallback( 129 new LocalDiscoveryHostMsg_LocalDomainResolverCallback(
130 id, success, address_ipv4, address_ipv6)); 130 id, success, address_ipv4, address_ipv6));
131 } 131 }
132 132
133
134 std::string WatcherUpdateToString(ServiceWatcher::UpdateType update) {
135 switch (update) {
136 case ServiceWatcher::UPDATE_ADDED:
137 return "UPDATE_ADDED";
138 case ServiceWatcher::UPDATE_CHANGED:
139 return "UPDATE_CHANGED";
140 case ServiceWatcher::UPDATE_REMOVED:
141 return "UPDATE_REMOVED";
142 case ServiceWatcher::UPDATE_INVALIDATED:
143 return "UPDATE_INVALIDATED";
144 }
145 return "Unknown Update";
146 }
147
148 std::string ResolverStatusToString(ServiceResolver::RequestStatus status) {
149 switch (status) {
150 case ServiceResolver::STATUS_SUCCESS:
151 return "STATUS_SUCESS";
152 case ServiceResolver::STATUS_REQUEST_TIMEOUT:
153 return "STATUS_REQUEST_TIMEOUT";
154 case ServiceResolver::STATUS_KNOWN_NONEXISTENT:
155 return "STATUS_KNOWN_NONEXISTENT";
156 }
157 return "Unknown Status";
158 }
159
133 } // namespace 160 } // namespace
134 161
135 ServiceDiscoveryMessageHandler::ServiceDiscoveryMessageHandler() { 162 ServiceDiscoveryMessageHandler::ServiceDiscoveryMessageHandler() {
136 } 163 }
137 164
138 ServiceDiscoveryMessageHandler::~ServiceDiscoveryMessageHandler() { 165 ServiceDiscoveryMessageHandler::~ServiceDiscoveryMessageHandler() {
139 DCHECK(!discovery_thread_); 166 DCHECK(!discovery_thread_);
140 } 167 }
141 168
142 void ServiceDiscoveryMessageHandler::PreSandboxStartup() { 169 void ServiceDiscoveryMessageHandler::PreSandboxStartup() {
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 void ServiceDiscoveryMessageHandler::OnDestroyLocalDomainResolver(uint64 id) { 288 void ServiceDiscoveryMessageHandler::OnDestroyLocalDomainResolver(uint64 id) {
262 PostTask(FROM_HERE, 289 PostTask(FROM_HERE,
263 base::Bind( 290 base::Bind(
264 &ServiceDiscoveryMessageHandler::DestroyLocalDomainResolver, 291 &ServiceDiscoveryMessageHandler::DestroyLocalDomainResolver,
265 base::Unretained(this), id)); 292 base::Unretained(this), id));
266 } 293 }
267 294
268 void ServiceDiscoveryMessageHandler::StartWatcher( 295 void ServiceDiscoveryMessageHandler::StartWatcher(
269 uint64 id, 296 uint64 id,
270 const std::string& service_type) { 297 const std::string& service_type) {
298 VLOG(1) << "StartWatcher with id " << id;
271 if (!service_discovery_client_) 299 if (!service_discovery_client_)
272 return; 300 return;
273 DCHECK(!ContainsKey(service_watchers_, id)); 301 DCHECK(!ContainsKey(service_watchers_, id));
274 scoped_ptr<ServiceWatcher> watcher( 302 scoped_ptr<ServiceWatcher> watcher(
275 service_discovery_client_->CreateServiceWatcher( 303 service_discovery_client_->CreateServiceWatcher(
276 service_type, 304 service_type,
277 base::Bind(&ServiceDiscoveryMessageHandler::OnServiceUpdated, 305 base::Bind(&ServiceDiscoveryMessageHandler::OnServiceUpdated,
278 base::Unretained(this), id))); 306 base::Unretained(this), id)));
279 watcher->Start(); 307 watcher->Start();
280 service_watchers_[id].reset(watcher.release()); 308 service_watchers_[id].reset(watcher.release());
281 } 309 }
282 310
283 void ServiceDiscoveryMessageHandler::DiscoverServices(uint64 id, 311 void ServiceDiscoveryMessageHandler::DiscoverServices(uint64 id,
284 bool force_update) { 312 bool force_update) {
313 VLOG(1) << "DiscoverServices with id " << id;
285 if (!service_discovery_client_) 314 if (!service_discovery_client_)
286 return; 315 return;
287 DCHECK(ContainsKey(service_watchers_, id)); 316 DCHECK(ContainsKey(service_watchers_, id));
288 service_watchers_[id]->DiscoverNewServices(force_update); 317 service_watchers_[id]->DiscoverNewServices(force_update);
289 } 318 }
290 319
291 void ServiceDiscoveryMessageHandler::DestroyWatcher(uint64 id) { 320 void ServiceDiscoveryMessageHandler::DestroyWatcher(uint64 id) {
321 VLOG(1) << "DestoryWatcher with id " << id;
292 if (!service_discovery_client_) 322 if (!service_discovery_client_)
293 return; 323 return;
294 service_watchers_.erase(id); 324 service_watchers_.erase(id);
295 } 325 }
296 326
297 void ServiceDiscoveryMessageHandler::ResolveService( 327 void ServiceDiscoveryMessageHandler::ResolveService(
298 uint64 id, 328 uint64 id,
299 const std::string& service_name) { 329 const std::string& service_name) {
330 VLOG(1) << "ResolveService with id " << id;
300 if (!service_discovery_client_) 331 if (!service_discovery_client_)
301 return; 332 return;
302 DCHECK(!ContainsKey(service_resolvers_, id)); 333 DCHECK(!ContainsKey(service_resolvers_, id));
303 scoped_ptr<ServiceResolver> resolver( 334 scoped_ptr<ServiceResolver> resolver(
304 service_discovery_client_->CreateServiceResolver( 335 service_discovery_client_->CreateServiceResolver(
305 service_name, 336 service_name,
306 base::Bind(&ServiceDiscoveryMessageHandler::OnServiceResolved, 337 base::Bind(&ServiceDiscoveryMessageHandler::OnServiceResolved,
307 base::Unretained(this), id))); 338 base::Unretained(this), id)));
308 resolver->StartResolving(); 339 resolver->StartResolving();
309 service_resolvers_[id].reset(resolver.release()); 340 service_resolvers_[id].reset(resolver.release());
310 } 341 }
311 342
312 void ServiceDiscoveryMessageHandler::DestroyResolver(uint64 id) { 343 void ServiceDiscoveryMessageHandler::DestroyResolver(uint64 id) {
344 VLOG(1) << "DestroyResolver with id " << id;
313 if (!service_discovery_client_) 345 if (!service_discovery_client_)
314 return; 346 return;
315 service_resolvers_.erase(id); 347 service_resolvers_.erase(id);
316 } 348 }
317 349
318 void ServiceDiscoveryMessageHandler::ResolveLocalDomain( 350 void ServiceDiscoveryMessageHandler::ResolveLocalDomain(
319 uint64 id, 351 uint64 id,
320 const std::string& domain, 352 const std::string& domain,
321 net::AddressFamily address_family) { 353 net::AddressFamily address_family) {
354 VLOG(1) << "ResolveLocalDomain with id " << id;
322 if (!service_discovery_client_) 355 if (!service_discovery_client_)
323 return; 356 return;
324 DCHECK(!ContainsKey(local_domain_resolvers_, id)); 357 DCHECK(!ContainsKey(local_domain_resolvers_, id));
325 scoped_ptr<LocalDomainResolver> resolver( 358 scoped_ptr<LocalDomainResolver> resolver(
326 service_discovery_client_->CreateLocalDomainResolver( 359 service_discovery_client_->CreateLocalDomainResolver(
327 domain, address_family, 360 domain, address_family,
328 base::Bind(&ServiceDiscoveryMessageHandler::OnLocalDomainResolved, 361 base::Bind(&ServiceDiscoveryMessageHandler::OnLocalDomainResolved,
329 base::Unretained(this), id))); 362 base::Unretained(this), id)));
330 resolver->Start(); 363 resolver->Start();
331 local_domain_resolvers_[id].reset(resolver.release()); 364 local_domain_resolvers_[id].reset(resolver.release());
332 } 365 }
333 366
334 void ServiceDiscoveryMessageHandler::DestroyLocalDomainResolver(uint64 id) { 367 void ServiceDiscoveryMessageHandler::DestroyLocalDomainResolver(uint64 id) {
368 VLOG(1) << "DestroyLocalDomainResolver with id " << id;
335 if (!service_discovery_client_) 369 if (!service_discovery_client_)
336 return; 370 return;
337 local_domain_resolvers_.erase(id); 371 local_domain_resolvers_.erase(id);
338 } 372 }
339 373
340 void ServiceDiscoveryMessageHandler::ShutdownLocalDiscovery() { 374 void ServiceDiscoveryMessageHandler::ShutdownLocalDiscovery() {
375 VLOG(1) << "ShutdownLocalDiscovery";
341 discovery_task_runner_->PostTask( 376 discovery_task_runner_->PostTask(
342 FROM_HERE, 377 FROM_HERE,
343 base::Bind(&ServiceDiscoveryMessageHandler::ShutdownOnIOThread, 378 base::Bind(&ServiceDiscoveryMessageHandler::ShutdownOnIOThread,
344 base::Unretained(this))); 379 base::Unretained(this)));
345 380
346 // This will wait for message loop to drain, so ShutdownOnIOThread will 381 // This will wait for message loop to drain, so ShutdownOnIOThread will
347 // definitely be called. 382 // definitely be called.
348 discovery_thread_.reset(); 383 discovery_thread_.reset();
349 } 384 }
350 385
351 void ServiceDiscoveryMessageHandler::ShutdownOnIOThread() { 386 void ServiceDiscoveryMessageHandler::ShutdownOnIOThread() {
352 service_watchers_.clear(); 387 service_watchers_.clear();
353 service_resolvers_.clear(); 388 service_resolvers_.clear();
354 local_domain_resolvers_.clear(); 389 local_domain_resolvers_.clear();
355 390
356 service_discovery_client_.reset(); 391 service_discovery_client_.reset();
357 mdns_client_.reset(); 392 mdns_client_.reset();
358 } 393 }
359 394
360 void ServiceDiscoveryMessageHandler::OnServiceUpdated( 395 void ServiceDiscoveryMessageHandler::OnServiceUpdated(
361 uint64 id, 396 uint64 id,
362 ServiceWatcher::UpdateType update, 397 ServiceWatcher::UpdateType update,
363 const std::string& name) { 398 const std::string& name) {
399 VLOG(1) << "OnServiceUpdated with id " << id
400 << WatcherUpdateToString(update);
364 DCHECK(service_discovery_client_); 401 DCHECK(service_discovery_client_);
365 utility_task_runner_->PostTask(FROM_HERE, 402 utility_task_runner_->PostTask(FROM_HERE,
366 base::Bind(&SendServiceUpdated, id, update, name)); 403 base::Bind(&SendServiceUpdated, id, update, name));
367 } 404 }
368 405
369 void ServiceDiscoveryMessageHandler::OnServiceResolved( 406 void ServiceDiscoveryMessageHandler::OnServiceResolved(
370 uint64 id, 407 uint64 id,
371 ServiceResolver::RequestStatus status, 408 ServiceResolver::RequestStatus status,
372 const ServiceDescription& description) { 409 const ServiceDescription& description) {
410 VLOG(1) << "OnServiceResolved with id " << id << " and status "
411 << ResolverStatusToString(status);
412
373 DCHECK(service_discovery_client_); 413 DCHECK(service_discovery_client_);
374 utility_task_runner_->PostTask(FROM_HERE, 414 utility_task_runner_->PostTask(FROM_HERE,
375 base::Bind(&SendServiceResolved, id, status, description)); 415 base::Bind(&SendServiceResolved, id, status, description));
376 } 416 }
377 417
378 void ServiceDiscoveryMessageHandler::OnLocalDomainResolved( 418 void ServiceDiscoveryMessageHandler::OnLocalDomainResolved(
379 uint64 id, 419 uint64 id,
380 bool success, 420 bool success,
381 const net::IPAddressNumber& address_ipv4, 421 const net::IPAddressNumber& address_ipv4,
382 const net::IPAddressNumber& address_ipv6) { 422 const net::IPAddressNumber& address_ipv6) {
423 VLOG(1) << "OnLocalDomainResolved with id " << id;
424
425 if (!address_ipv4.empty())
426 VLOG(1) << "Local comain callback has valid ipv4 address with id " << id;
427 if (!address_ipv6.empty())
428 VLOG(1) << "Local comain callback has valid ipv6 address with id " << id;
429
383 DCHECK(service_discovery_client_); 430 DCHECK(service_discovery_client_);
384 utility_task_runner_->PostTask(FROM_HERE, base::Bind(&SendLocalDomainResolved, 431 utility_task_runner_->PostTask(FROM_HERE, base::Bind(&SendLocalDomainResolved,
385 id, success, 432 id, success,
386 address_ipv4, 433 address_ipv4,
387 address_ipv6)); 434 address_ipv6));
388 } 435 }
389 436
390 437
391 } // namespace local_discovery 438 } // namespace local_discovery
OLDNEW
« no previous file with comments | « chrome/browser/local_discovery/service_discovery_host_client.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698