| 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 |