OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 : Port(thread, | 195 : Port(thread, |
196 LOCAL_PORT_TYPE, | 196 LOCAL_PORT_TYPE, |
197 factory, | 197 factory, |
198 network, | 198 network, |
199 ip, | 199 ip, |
200 min_port, | 200 min_port, |
201 max_port, | 201 max_port, |
202 username, | 202 username, |
203 password), | 203 password), |
204 requests_(thread), | 204 requests_(thread), |
205 socket_(NULL), | 205 socket_(nullptr), |
206 error_(0), | 206 error_(0), |
207 ready_(false), | 207 ready_(false), |
208 stun_keepalive_delay_(KEEPALIVE_DELAY), | 208 stun_keepalive_delay_(KEEPALIVE_DELAY), |
209 emit_local_for_anyaddress_(emit_local_for_anyaddress) { | 209 emit_local_for_anyaddress_(emit_local_for_anyaddress) { |
210 requests_.set_origin(origin); | 210 requests_.set_origin(origin); |
211 } | 211 } |
212 | 212 |
213 bool UDPPort::Init() { | 213 bool UDPPort::Init() { |
214 stun_keepalive_lifetime_ = GetStunKeepaliveLifetime(); | 214 stun_keepalive_lifetime_ = GetStunKeepaliveLifetime(); |
215 if (!SharedSocket()) { | 215 if (!SharedSocket()) { |
216 RTC_DCHECK(socket_ == NULL); | 216 RTC_DCHECK(socket_ == nullptr); |
217 socket_ = socket_factory()->CreateUdpSocket( | 217 socket_ = socket_factory()->CreateUdpSocket( |
218 rtc::SocketAddress(ip(), 0), min_port(), max_port()); | 218 rtc::SocketAddress(ip(), 0), min_port(), max_port()); |
219 if (!socket_) { | 219 if (!socket_) { |
220 LOG_J(LS_WARNING, this) << "UDP socket creation failed"; | 220 LOG_J(LS_WARNING, this) << "UDP socket creation failed"; |
221 return false; | 221 return false; |
222 } | 222 } |
223 socket_->SignalReadPacket.connect(this, &UDPPort::OnReadPacket); | 223 socket_->SignalReadPacket.connect(this, &UDPPort::OnReadPacket); |
224 } | 224 } |
225 socket_->SignalSentPacket.connect(this, &UDPPort::OnSentPacket); | 225 socket_->SignalSentPacket.connect(this, &UDPPort::OnSentPacket); |
226 socket_->SignalReadyToSend.connect(this, &UDPPort::OnReadyToSend); | 226 socket_->SignalReadyToSend.connect(this, &UDPPort::OnReadyToSend); |
(...skipping 21 matching lines...) Expand all Loading... |
248 SendStunBindingRequests(); | 248 SendStunBindingRequests(); |
249 } else { | 249 } else { |
250 // Port is done allocating candidates. | 250 // Port is done allocating candidates. |
251 MaybeSetPortCompleteOrError(); | 251 MaybeSetPortCompleteOrError(); |
252 } | 252 } |
253 } | 253 } |
254 | 254 |
255 Connection* UDPPort::CreateConnection(const Candidate& address, | 255 Connection* UDPPort::CreateConnection(const Candidate& address, |
256 CandidateOrigin origin) { | 256 CandidateOrigin origin) { |
257 if (!SupportsProtocol(address.protocol())) { | 257 if (!SupportsProtocol(address.protocol())) { |
258 return NULL; | 258 return nullptr; |
259 } | 259 } |
260 | 260 |
261 if (!IsCompatibleAddress(address.address())) { | 261 if (!IsCompatibleAddress(address.address())) { |
262 return NULL; | 262 return nullptr; |
263 } | 263 } |
264 | 264 |
265 if (SharedSocket() && Candidates()[0].type() != LOCAL_PORT_TYPE) { | 265 if (SharedSocket() && Candidates()[0].type() != LOCAL_PORT_TYPE) { |
266 RTC_NOTREACHED(); | 266 RTC_NOTREACHED(); |
267 return NULL; | 267 return nullptr; |
268 } | 268 } |
269 | 269 |
270 Connection* conn = new ProxyConnection(this, 0, address); | 270 Connection* conn = new ProxyConnection(this, 0, address); |
271 AddOrReplaceConnection(conn); | 271 AddOrReplaceConnection(conn); |
272 return conn; | 272 return conn; |
273 } | 273 } |
274 | 274 |
275 int UDPPort::SendTo(const void* data, size_t size, | 275 int UDPPort::SendTo(const void* data, size_t size, |
276 const rtc::SocketAddress& addr, | 276 const rtc::SocketAddress& addr, |
277 const rtc::PacketOptions& options, | 277 const rtc::PacketOptions& options, |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 resolver_->SignalDone.connect(this, &UDPPort::OnResolveResult); | 369 resolver_->SignalDone.connect(this, &UDPPort::OnResolveResult); |
370 } | 370 } |
371 | 371 |
372 LOG_J(LS_INFO, this) << "Starting STUN host lookup for " | 372 LOG_J(LS_INFO, this) << "Starting STUN host lookup for " |
373 << stun_addr.ToSensitiveString(); | 373 << stun_addr.ToSensitiveString(); |
374 resolver_->Resolve(stun_addr); | 374 resolver_->Resolve(stun_addr); |
375 } | 375 } |
376 | 376 |
377 void UDPPort::OnResolveResult(const rtc::SocketAddress& input, | 377 void UDPPort::OnResolveResult(const rtc::SocketAddress& input, |
378 int error) { | 378 int error) { |
379 RTC_DCHECK(resolver_.get() != NULL); | 379 RTC_DCHECK(resolver_.get() != nullptr); |
380 | 380 |
381 rtc::SocketAddress resolved; | 381 rtc::SocketAddress resolved; |
382 if (error != 0 || | 382 if (error != 0 || |
383 !resolver_->GetResolvedAddress(input, ip().family(), &resolved)) { | 383 !resolver_->GetResolvedAddress(input, ip().family(), &resolved)) { |
384 LOG_J(LS_WARNING, this) << "StunPort: stun host lookup received error " | 384 LOG_J(LS_WARNING, this) << "StunPort: stun host lookup received error " |
385 << error; | 385 << error; |
386 OnStunBindingOrResolveRequestFailed(input); | 386 OnStunBindingOrResolveRequestFailed(input); |
387 return; | 387 return; |
388 } | 388 } |
389 | 389 |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 const std::vector<Candidate>& existing_candidates = Candidates(); | 507 const std::vector<Candidate>& existing_candidates = Candidates(); |
508 std::vector<Candidate>::const_iterator it = existing_candidates.begin(); | 508 std::vector<Candidate>::const_iterator it = existing_candidates.begin(); |
509 for (; it != existing_candidates.end(); ++it) { | 509 for (; it != existing_candidates.end(); ++it) { |
510 if (it->address() == addr) | 510 if (it->address() == addr) |
511 return true; | 511 return true; |
512 } | 512 } |
513 return false; | 513 return false; |
514 } | 514 } |
515 | 515 |
516 } // namespace cricket | 516 } // namespace cricket |
OLD | NEW |