OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/browser/extensions/api/dial/dial_service.h" | 5 #include "chrome/browser/extensions/api/dial/dial_service.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <set> | 8 #include <set> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
523 ++iter) | 523 ++iter) |
524 BindAndAddSocket(*iter); | 524 BindAndAddSocket(*iter); |
525 | 525 |
526 SendOneRequest(); | 526 SendOneRequest(); |
527 } | 527 } |
528 | 528 |
529 void DialServiceImpl::BindAndAddSocket(const IPAddressNumber& bind_ip_address) { | 529 void DialServiceImpl::BindAndAddSocket(const IPAddressNumber& bind_ip_address) { |
530 scoped_ptr<DialServiceImpl::DialSocket> dial_socket(CreateDialSocket()); | 530 scoped_ptr<DialServiceImpl::DialSocket> dial_socket(CreateDialSocket()); |
531 if (dial_socket->CreateAndBindSocket(bind_ip_address, net_log_, | 531 if (dial_socket->CreateAndBindSocket(bind_ip_address, net_log_, |
532 net_log_source_)) | 532 net_log_source_)) |
533 dial_sockets_.push_back(dial_socket.release()); | 533 dial_sockets_.push_back(dial_socket.Pass()); |
534 } | 534 } |
535 | 535 |
536 scoped_ptr<DialServiceImpl::DialSocket> DialServiceImpl::CreateDialSocket() { | 536 scoped_ptr<DialServiceImpl::DialSocket> DialServiceImpl::CreateDialSocket() { |
537 scoped_ptr<DialServiceImpl::DialSocket> dial_socket( | 537 scoped_ptr<DialServiceImpl::DialSocket> dial_socket( |
538 new DialServiceImpl::DialSocket( | 538 new DialServiceImpl::DialSocket( |
539 base::Bind(&DialServiceImpl::NotifyOnDiscoveryRequest, AsWeakPtr()), | 539 base::Bind(&DialServiceImpl::NotifyOnDiscoveryRequest, AsWeakPtr()), |
540 base::Bind(&DialServiceImpl::NotifyOnDeviceDiscovered, AsWeakPtr()), | 540 base::Bind(&DialServiceImpl::NotifyOnDeviceDiscovered, AsWeakPtr()), |
541 base::Bind(&DialServiceImpl::NotifyOnError, AsWeakPtr()))); | 541 base::Bind(&DialServiceImpl::NotifyOnError, AsWeakPtr()))); |
542 return dial_socket.Pass(); | 542 return dial_socket.Pass(); |
543 } | 543 } |
544 | 544 |
545 void DialServiceImpl::SendOneRequest() { | 545 void DialServiceImpl::SendOneRequest() { |
546 DCHECK(thread_checker_.CalledOnValidThread()); | 546 DCHECK(thread_checker_.CalledOnValidThread()); |
547 if (num_requests_sent_ == max_requests_) { | 547 if (num_requests_sent_ == max_requests_) { |
548 VLOG(2) << "Reached max requests; stopping request timer."; | 548 VLOG(2) << "Reached max requests; stopping request timer."; |
549 request_timer_.Stop(); | 549 request_timer_.Stop(); |
550 return; | 550 return; |
551 } | 551 } |
552 num_requests_sent_++; | 552 num_requests_sent_++; |
553 VLOG(2) << "Sending request " << num_requests_sent_ << "/" | 553 VLOG(2) << "Sending request " << num_requests_sent_ << "/" |
554 << max_requests_; | 554 << max_requests_; |
555 for (ScopedVector<DialServiceImpl::DialSocket>::iterator iter = | 555 auto iter = dial_sockets_.begin(); |
mark a. foltz
2015/11/17 22:37:38
Can this be declared in the for() ?
Igor Vayzert
2015/11/18 03:12:56
Done.
| |
556 dial_sockets_.begin(); | 556 for (; iter != dial_sockets_.end(); ++iter) { |
557 iter != dial_sockets_.end(); | |
558 ++iter) { | |
559 if (!((*iter)->IsClosed())) | 557 if (!((*iter)->IsClosed())) |
560 (*iter)->SendOneRequest(send_address_, send_buffer_); | 558 (*iter)->SendOneRequest(send_address_, send_buffer_); |
561 } | 559 } |
562 } | 560 } |
563 | 561 |
564 void DialServiceImpl::NotifyOnDiscoveryRequest() { | 562 void DialServiceImpl::NotifyOnDiscoveryRequest() { |
565 DCHECK(thread_checker_.CalledOnValidThread()); | 563 DCHECK(thread_checker_.CalledOnValidThread()); |
566 // If discovery is inactive, no reason to notify observers. | 564 // If discovery is inactive, no reason to notify observers. |
567 if (!discovery_active_) { | 565 if (!discovery_active_) { |
568 VLOG(2) << "Request sent after discovery finished. Ignoring."; | 566 VLOG(2) << "Request sent after discovery finished. Ignoring."; |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
611 // Close all open sockets. | 609 // Close all open sockets. |
612 dial_sockets_.clear(); | 610 dial_sockets_.clear(); |
613 finish_timer_.Stop(); | 611 finish_timer_.Stop(); |
614 request_timer_.Stop(); | 612 request_timer_.Stop(); |
615 discovery_active_ = false; | 613 discovery_active_ = false; |
616 num_requests_sent_ = 0; | 614 num_requests_sent_ = 0; |
617 FOR_EACH_OBSERVER(Observer, observer_list_, OnDiscoveryFinished(this)); | 615 FOR_EACH_OBSERVER(Observer, observer_list_, OnDiscoveryFinished(this)); |
618 } | 616 } |
619 | 617 |
620 bool DialServiceImpl::HasOpenSockets() { | 618 bool DialServiceImpl::HasOpenSockets() { |
621 for (ScopedVector<DialSocket>::const_iterator iter = dial_sockets_.begin(); | 619 auto iter = dial_sockets_.begin(); |
mark a. foltz
2015/11/17 22:37:38
Ditto
Igor Vayzert
2015/11/18 03:12:56
Done.
| |
622 iter != dial_sockets_.end(); | 620 for (; iter != dial_sockets_.end(); ++iter) { |
623 ++iter) { | |
624 if (!((*iter)->IsClosed())) | 621 if (!((*iter)->IsClosed())) |
625 return true; | 622 return true; |
626 } | 623 } |
627 return false; | 624 return false; |
628 } | 625 } |
629 | 626 |
630 } // namespace extensions | 627 } // namespace extensions |
OLD | NEW |