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

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

Issue 23851008: Added cache flush on network change to ServiceDiscoveryHostClient (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/common/local_discovery/service_discovery_client.h ('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 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 bool force_update) { 284 bool force_update) {
285 if (!service_discovery_client_) 285 if (!service_discovery_client_)
286 return; 286 return;
287 DCHECK(ContainsKey(service_watchers_, id)); 287 DCHECK(ContainsKey(service_watchers_, id));
288 service_watchers_[id]->DiscoverNewServices(force_update); 288 service_watchers_[id]->DiscoverNewServices(force_update);
289 } 289 }
290 290
291 void ServiceDiscoveryMessageHandler::DestroyWatcher(uint64 id) { 291 void ServiceDiscoveryMessageHandler::DestroyWatcher(uint64 id) {
292 if (!service_discovery_client_) 292 if (!service_discovery_client_)
293 return; 293 return;
294 DCHECK(ContainsKey(service_watchers_, id));
295 service_watchers_.erase(id); 294 service_watchers_.erase(id);
296 } 295 }
297 296
298 void ServiceDiscoveryMessageHandler::ResolveService( 297 void ServiceDiscoveryMessageHandler::ResolveService(
299 uint64 id, 298 uint64 id,
300 const std::string& service_name) { 299 const std::string& service_name) {
301 if (!service_discovery_client_) 300 if (!service_discovery_client_)
302 return; 301 return;
303 DCHECK(!ContainsKey(service_resolvers_, id)); 302 DCHECK(!ContainsKey(service_resolvers_, id));
304 scoped_ptr<ServiceResolver> resolver( 303 scoped_ptr<ServiceResolver> resolver(
305 service_discovery_client_->CreateServiceResolver( 304 service_discovery_client_->CreateServiceResolver(
306 service_name, 305 service_name,
307 base::Bind(&ServiceDiscoveryMessageHandler::OnServiceResolved, 306 base::Bind(&ServiceDiscoveryMessageHandler::OnServiceResolved,
308 base::Unretained(this), id))); 307 base::Unretained(this), id)));
309 resolver->StartResolving(); 308 resolver->StartResolving();
310 service_resolvers_[id].reset(resolver.release()); 309 service_resolvers_[id].reset(resolver.release());
311 } 310 }
312 311
313 void ServiceDiscoveryMessageHandler::DestroyResolver(uint64 id) { 312 void ServiceDiscoveryMessageHandler::DestroyResolver(uint64 id) {
314 if (!service_discovery_client_) 313 if (!service_discovery_client_)
315 return; 314 return;
316 DCHECK(ContainsKey(service_resolvers_, id));
317 service_resolvers_.erase(id); 315 service_resolvers_.erase(id);
318 } 316 }
319 317
320 void ServiceDiscoveryMessageHandler::ResolveLocalDomain( 318 void ServiceDiscoveryMessageHandler::ResolveLocalDomain(
321 uint64 id, 319 uint64 id,
322 const std::string& domain, 320 const std::string& domain,
323 net::AddressFamily address_family) { 321 net::AddressFamily address_family) {
324 if (!service_discovery_client_) 322 if (!service_discovery_client_)
325 return; 323 return;
326 DCHECK(!ContainsKey(local_domain_resolvers_, id)); 324 DCHECK(!ContainsKey(local_domain_resolvers_, id));
327 scoped_ptr<LocalDomainResolver> resolver( 325 scoped_ptr<LocalDomainResolver> resolver(
328 service_discovery_client_->CreateLocalDomainResolver( 326 service_discovery_client_->CreateLocalDomainResolver(
329 domain, address_family, 327 domain, address_family,
330 base::Bind(&ServiceDiscoveryMessageHandler::OnLocalDomainResolved, 328 base::Bind(&ServiceDiscoveryMessageHandler::OnLocalDomainResolved,
331 base::Unretained(this), id))); 329 base::Unretained(this), id)));
332 resolver->Start(); 330 resolver->Start();
333 local_domain_resolvers_[id].reset(resolver.release()); 331 local_domain_resolvers_[id].reset(resolver.release());
334 } 332 }
335 333
336 void ServiceDiscoveryMessageHandler::DestroyLocalDomainResolver(uint64 id) { 334 void ServiceDiscoveryMessageHandler::DestroyLocalDomainResolver(uint64 id) {
337 if (!service_discovery_client_) 335 if (!service_discovery_client_)
338 return; 336 return;
339 DCHECK(ContainsKey(local_domain_resolvers_, id));
340 local_domain_resolvers_.erase(id); 337 local_domain_resolvers_.erase(id);
341 } 338 }
342 339
343 void ServiceDiscoveryMessageHandler::ShutdownLocalDiscovery() { 340 void ServiceDiscoveryMessageHandler::ShutdownLocalDiscovery() {
344 discovery_task_runner_->PostTask( 341 discovery_task_runner_->PostTask(
345 FROM_HERE, 342 FROM_HERE,
346 base::Bind(&ServiceDiscoveryMessageHandler::ShutdownOnIOThread, 343 base::Bind(&ServiceDiscoveryMessageHandler::ShutdownOnIOThread,
347 base::Unretained(this))); 344 base::Unretained(this)));
348 345
349 // This will wait for message loop to drain, so ShutdownOnIOThread will 346 // This will wait for message loop to drain, so ShutdownOnIOThread will
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 const net::IPAddressNumber& address_ipv6) { 382 const net::IPAddressNumber& address_ipv6) {
386 DCHECK(service_discovery_client_); 383 DCHECK(service_discovery_client_);
387 utility_task_runner_->PostTask(FROM_HERE, base::Bind(&SendLocalDomainResolved, 384 utility_task_runner_->PostTask(FROM_HERE, base::Bind(&SendLocalDomainResolved,
388 id, success, 385 id, success,
389 address_ipv4, 386 address_ipv4,
390 address_ipv6)); 387 address_ipv6));
391 } 388 }
392 389
393 390
394 } // namespace local_discovery 391 } // namespace local_discovery
OLDNEW
« no previous file with comments | « chrome/common/local_discovery/service_discovery_client.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698