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 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
161 | 161 |
162 bool DialServiceImpl::DialSocket::CreateAndBindSocket( | 162 bool DialServiceImpl::DialSocket::CreateAndBindSocket( |
163 const IPAddressNumber& bind_ip_address, | 163 const IPAddressNumber& bind_ip_address, |
164 net::NetLog* net_log, | 164 net::NetLog* net_log, |
165 net::NetLog::Source net_log_source) { | 165 net::NetLog::Source net_log_source) { |
166 DCHECK(thread_checker_.CalledOnValidThread()); | 166 DCHECK(thread_checker_.CalledOnValidThread()); |
167 DCHECK(!socket_.get()); | 167 DCHECK(!socket_.get()); |
168 DCHECK(bind_ip_address.size() == net::kIPv4AddressSize); | 168 DCHECK(bind_ip_address.size() == net::kIPv4AddressSize); |
169 | 169 |
170 net::RandIntCallback rand_cb = base::Bind(&base::RandInt); | 170 net::RandIntCallback rand_cb = base::Bind(&base::RandInt); |
171 socket_.reset(new UDPSocket(net::DatagramSocket::RANDOM_BIND, | 171 socket_.reset(new UDPSocket(net::DatagramSocket::RANDOM_BIND, |
rvargas (doing something else)
2014/12/02 23:28:09
this is the same code (extensions/api) so the depe
hidehiko
2014/12/03 17:33:27
Here, UDPSocket is kept to be used, because UDPSer
| |
172 rand_cb, | 172 rand_cb, |
173 net_log, | 173 net_log, |
174 net_log_source)); | 174 net_log_source)); |
175 socket_->AllowBroadcast(); | |
176 | 175 |
177 // 0 means bind a random port | 176 // 0 means bind a random port |
178 net::IPEndPoint address(bind_ip_address, 0); | 177 net::IPEndPoint address(bind_ip_address, 0); |
179 | 178 |
180 if (!CheckResult("Bind", socket_->Bind(address))) | 179 if (socket_->Open(address.GetFamily()) != net::OK || |
180 socket_->SetBroadcast(true) != net::OK || | |
181 !CheckResult("Bind", socket_->Bind(address))) { | |
182 socket_.reset(); | |
181 return false; | 183 return false; |
184 } | |
182 | 185 |
183 DCHECK(socket_.get()); | 186 DCHECK(socket_.get()); |
184 | 187 |
185 recv_buffer_ = new IOBufferWithSize(kDialRecvBufferSize); | 188 recv_buffer_ = new IOBufferWithSize(kDialRecvBufferSize); |
186 return ReadSocket(); | 189 return ReadSocket(); |
187 } | 190 } |
188 | 191 |
189 void DialServiceImpl::DialSocket::SendOneRequest( | 192 void DialServiceImpl::DialSocket::SendOneRequest( |
190 const net::IPEndPoint& send_address, | 193 const net::IPEndPoint& send_address, |
191 const scoped_refptr<net::StringIOBuffer>& send_buffer) { | 194 const scoped_refptr<net::StringIOBuffer>& send_buffer) { |
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
614 for (ScopedVector<DialSocket>::const_iterator iter = dial_sockets_.begin(); | 617 for (ScopedVector<DialSocket>::const_iterator iter = dial_sockets_.begin(); |
615 iter != dial_sockets_.end(); | 618 iter != dial_sockets_.end(); |
616 ++iter) { | 619 ++iter) { |
617 if (!((*iter)->IsClosed())) | 620 if (!((*iter)->IsClosed())) |
618 return true; | 621 return true; |
619 } | 622 } |
620 return false; | 623 return false; |
621 } | 624 } |
622 | 625 |
623 } // namespace extensions | 626 } // namespace extensions |
OLD | NEW |