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

Side by Side Diff: chrome/browser/extensions/api/dial/dial_service.cc

Issue 721273002: Remove timing limitation to set Broadcast, ReceiveBuffer, and SendBuffer options from UDPSocket. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698