| OLD | NEW |
| 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 "net/dns/mdns_client_impl.h" | 5 #include "net/dns/mdns_client_impl.h" |
| 6 | 6 |
| 7 #include <queue> | 7 #include <queue> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/message_loop/message_loop_proxy.h" | 10 #include "base/message_loop/message_loop_proxy.h" |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 | 188 |
| 189 void MDnsConnection::OnDatagramReceived( | 189 void MDnsConnection::OnDatagramReceived( |
| 190 DnsResponse* response, | 190 DnsResponse* response, |
| 191 const IPEndPoint& recv_addr, | 191 const IPEndPoint& recv_addr, |
| 192 int bytes_read) { | 192 int bytes_read) { |
| 193 // TODO(noamsml): More sophisticated error handling. | 193 // TODO(noamsml): More sophisticated error handling. |
| 194 DCHECK_GT(bytes_read, 0); | 194 DCHECK_GT(bytes_read, 0); |
| 195 delegate_->HandlePacket(response, bytes_read); | 195 delegate_->HandlePacket(response, bytes_read); |
| 196 } | 196 } |
| 197 | 197 |
| 198 MDnsClientImpl::Core::Core(MDnsClientImpl* client) | 198 MDnsClientImpl::Core::Core() : connection_(new MDnsConnection(this)) { |
| 199 : client_(client), connection_(new MDnsConnection(this)) { | |
| 200 } | 199 } |
| 201 | 200 |
| 202 MDnsClientImpl::Core::~Core() { | 201 MDnsClientImpl::Core::~Core() { |
| 203 STLDeleteValues(&listeners_); | 202 STLDeleteValues(&listeners_); |
| 204 } | 203 } |
| 205 | 204 |
| 206 bool MDnsClientImpl::Core::Init(MDnsSocketFactory* socket_factory) { | 205 bool MDnsClientImpl::Core::Init(MDnsSocketFactory* socket_factory) { |
| 207 return connection_->Init(socket_factory); | 206 return connection_->Init(socket_factory); |
| 208 } | 207 } |
| 209 | 208 |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 417 } | 416 } |
| 418 | 417 |
| 419 MDnsClientImpl::MDnsClientImpl() { | 418 MDnsClientImpl::MDnsClientImpl() { |
| 420 } | 419 } |
| 421 | 420 |
| 422 MDnsClientImpl::~MDnsClientImpl() { | 421 MDnsClientImpl::~MDnsClientImpl() { |
| 423 } | 422 } |
| 424 | 423 |
| 425 bool MDnsClientImpl::StartListening(MDnsSocketFactory* socket_factory) { | 424 bool MDnsClientImpl::StartListening(MDnsSocketFactory* socket_factory) { |
| 426 DCHECK(!core_.get()); | 425 DCHECK(!core_.get()); |
| 427 core_.reset(new Core(this)); | 426 core_.reset(new Core()); |
| 428 if (!core_->Init(socket_factory)) { | 427 if (!core_->Init(socket_factory)) { |
| 429 core_.reset(); | 428 core_.reset(); |
| 430 return false; | 429 return false; |
| 431 } | 430 } |
| 432 return true; | 431 return true; |
| 433 } | 432 } |
| 434 | 433 |
| 435 void MDnsClientImpl::StopListening() { | 434 void MDnsClientImpl::StopListening() { |
| 436 core_.reset(); | 435 core_.reset(); |
| 437 } | 436 } |
| (...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 727 | 726 |
| 728 void MDnsTransactionImpl::OnNsecRecord(const std::string& name, unsigned type) { | 727 void MDnsTransactionImpl::OnNsecRecord(const std::string& name, unsigned type) { |
| 729 TriggerCallback(RESULT_NSEC, NULL); | 728 TriggerCallback(RESULT_NSEC, NULL); |
| 730 } | 729 } |
| 731 | 730 |
| 732 void MDnsTransactionImpl::OnCachePurged() { | 731 void MDnsTransactionImpl::OnCachePurged() { |
| 733 // TODO(noamsml): Cache purge situations not yet implemented | 732 // TODO(noamsml): Cache purge situations not yet implemented |
| 734 } | 733 } |
| 735 | 734 |
| 736 } // namespace net | 735 } // namespace net |
| OLD | NEW |