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

Side by Side Diff: webrtc/p2p/base/relayport.cc

Issue 2685783014: Replace NULL with nullptr in all C++ files. (Closed)
Patch Set: Fixing android. Created 3 years, 10 months 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 /* 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 #include <algorithm> 10 #include <algorithm>
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 0, false); 248 0, false);
249 } 249 }
250 ready_ = true; 250 ready_ = true;
251 SignalPortComplete(this); 251 SignalPortComplete(this);
252 } 252 }
253 } 253 }
254 254
255 const ProtocolAddress * RelayPort::ServerAddress(size_t index) const { 255 const ProtocolAddress * RelayPort::ServerAddress(size_t index) const {
256 if (index < server_addr_.size()) 256 if (index < server_addr_.size())
257 return &server_addr_[index]; 257 return &server_addr_[index];
258 return NULL; 258 return nullptr;
259 } 259 }
260 260
261 bool RelayPort::HasMagicCookie(const char* data, size_t size) { 261 bool RelayPort::HasMagicCookie(const char* data, size_t size) {
262 if (size < 24 + sizeof(TURN_MAGIC_COOKIE_VALUE)) { 262 if (size < 24 + sizeof(TURN_MAGIC_COOKIE_VALUE)) {
263 return false; 263 return false;
264 } else { 264 } else {
265 return memcmp(data + 24, 265 return memcmp(data + 24,
266 TURN_MAGIC_COOKIE_VALUE, 266 TURN_MAGIC_COOKIE_VALUE,
267 sizeof(TURN_MAGIC_COOKIE_VALUE)) == 0; 267 sizeof(TURN_MAGIC_COOKIE_VALUE)) == 0;
268 } 268 }
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 442
443 int RelayConnection::Send(const void* pv, size_t cb, 443 int RelayConnection::Send(const void* pv, size_t cb,
444 const rtc::PacketOptions& options) { 444 const rtc::PacketOptions& options) {
445 return socket_->SendTo(pv, cb, GetAddress(), options); 445 return socket_->SendTo(pv, cb, GetAddress(), options);
446 } 446 }
447 447
448 void RelayConnection::SendAllocateRequest(RelayEntry* entry, int delay) { 448 void RelayConnection::SendAllocateRequest(RelayEntry* entry, int delay) {
449 request_manager_->SendDelayed(new AllocateRequest(entry, this), delay); 449 request_manager_->SendDelayed(new AllocateRequest(entry, this), delay);
450 } 450 }
451 451
452 RelayEntry::RelayEntry(RelayPort* port, 452 RelayEntry::RelayEntry(RelayPort* port, const rtc::SocketAddress& ext_addr)
453 const rtc::SocketAddress& ext_addr) 453 : port_(port),
454 : port_(port), ext_addr_(ext_addr), 454 ext_addr_(ext_addr),
455 server_index_(0), connected_(false), locked_(false), 455 server_index_(0),
456 current_connection_(NULL) { 456 connected_(false),
457 } 457 locked_(false),
458 current_connection_(nullptr) {}
458 459
459 RelayEntry::~RelayEntry() { 460 RelayEntry::~RelayEntry() {
460 // Remove all RelayConnections and dispose sockets. 461 // Remove all RelayConnections and dispose sockets.
461 delete current_connection_; 462 delete current_connection_;
462 current_connection_ = NULL; 463 current_connection_ = nullptr;
463 } 464 }
464 465
465 void RelayEntry::Connect() { 466 void RelayEntry::Connect() {
466 // If we're already connected, return. 467 // If we're already connected, return.
467 if (connected_) 468 if (connected_)
468 return; 469 return;
469 470
470 // If we've exhausted all options, bail out. 471 // If we've exhausted all options, bail out.
471 const ProtocolAddress* ra = port()->ServerAddress(server_index_); 472 const ProtocolAddress* ra = port()->ServerAddress(server_index_);
472 if (!ra) { 473 if (!ra) {
473 LOG(LS_WARNING) << "No more relay addresses left to try"; 474 LOG(LS_WARNING) << "No more relay addresses left to try";
474 return; 475 return;
475 } 476 }
476 477
477 // Remove any previous connection. 478 // Remove any previous connection.
478 if (current_connection_) { 479 if (current_connection_) {
479 port()->thread()->Dispose(current_connection_); 480 port()->thread()->Dispose(current_connection_);
480 current_connection_ = NULL; 481 current_connection_ = nullptr;
481 } 482 }
482 483
483 // Try to set up our new socket. 484 // Try to set up our new socket.
484 LOG(LS_INFO) << "Connecting to relay via " << ProtoToString(ra->proto) << 485 LOG(LS_INFO) << "Connecting to relay via " << ProtoToString(ra->proto) <<
485 " @ " << ra->address.ToSensitiveString(); 486 " @ " << ra->address.ToSensitiveString();
486 487
487 rtc::AsyncPacketSocket* socket = NULL; 488 rtc::AsyncPacketSocket* socket = nullptr;
488 489
489 if (ra->proto == PROTO_UDP) { 490 if (ra->proto == PROTO_UDP) {
490 // UDP sockets are simple. 491 // UDP sockets are simple.
491 socket = port_->socket_factory()->CreateUdpSocket( 492 socket = port_->socket_factory()->CreateUdpSocket(
492 rtc::SocketAddress(port_->ip(), 0), 493 rtc::SocketAddress(port_->ip(), 0),
493 port_->min_port(), port_->max_port()); 494 port_->min_port(), port_->max_port());
494 } else if (ra->proto == PROTO_TCP || ra->proto == PROTO_SSLTCP) { 495 } else if (ra->proto == PROTO_TCP || ra->proto == PROTO_SSLTCP) {
495 int opts = (ra->proto == PROTO_SSLTCP) 496 int opts = (ra->proto == PROTO_SSLTCP)
496 ? rtc::PacketSocketFactory::OPT_TLS_FAKE 497 ? rtc::PacketSocketFactory::OPT_TLS_FAKE
497 : 0; 498 : 0;
(...skipping 30 matching lines...) Expand all
528 socket->SignalClose.connect(this, &RelayEntry::OnSocketClose); 529 socket->SignalClose.connect(this, &RelayEntry::OnSocketClose);
529 socket->SignalConnect.connect(this, &RelayEntry::OnSocketConnect); 530 socket->SignalConnect.connect(this, &RelayEntry::OnSocketConnect);
530 port()->thread()->PostDelayed(RTC_FROM_HERE, kSoftConnectTimeoutMs, this, 531 port()->thread()->PostDelayed(RTC_FROM_HERE, kSoftConnectTimeoutMs, this,
531 kMessageConnectTimeout); 532 kMessageConnectTimeout);
532 } else { 533 } else {
533 current_connection_->SendAllocateRequest(this, 0); 534 current_connection_->SendAllocateRequest(this, 0);
534 } 535 }
535 } 536 }
536 537
537 int RelayEntry::GetError() { 538 int RelayEntry::GetError() {
538 if (current_connection_ != NULL) { 539 if (current_connection_ != nullptr) {
539 return current_connection_->GetError(); 540 return current_connection_->GetError();
540 } 541 }
541 return 0; 542 return 0;
542 } 543 }
543 544
544 RelayConnection* RelayEntry::GetBestConnection(RelayConnection* conn1, 545 RelayConnection* RelayEntry::GetBestConnection(RelayConnection* conn1,
545 RelayConnection* conn2) { 546 RelayConnection* conn2) {
546 return conn1->GetProtocol() <= conn2->GetProtocol() ? conn1 : conn2; 547 return conn1->GetProtocol() <= conn2->GetProtocol() ? conn1 : conn2;
547 } 548 }
548 549
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
655 // Currently we connect to each server address in sequence. If we 656 // Currently we connect to each server address in sequence. If we
656 // have more addresses to try, treat this is an error and move on to 657 // have more addresses to try, treat this is an error and move on to
657 // the next address, otherwise give this connection more time and 658 // the next address, otherwise give this connection more time and
658 // await the real timeout. 659 // await the real timeout.
659 // 660 //
660 // TODO: Connect to servers in parallel to speed up connect time 661 // TODO: Connect to servers in parallel to speed up connect time
661 // and to avoid giving up too early. 662 // and to avoid giving up too early.
662 port_->SignalSoftTimeout(ra); 663 port_->SignalSoftTimeout(ra);
663 HandleConnectFailure(current_connection_->socket()); 664 HandleConnectFailure(current_connection_->socket());
664 } else { 665 } else {
665 HandleConnectFailure(NULL); 666 HandleConnectFailure(nullptr);
666 } 667 }
667 } 668 }
668 669
669 void RelayEntry::OnSocketConnect(rtc::AsyncPacketSocket* socket) { 670 void RelayEntry::OnSocketConnect(rtc::AsyncPacketSocket* socket) {
670 LOG(INFO) << "relay tcp connected to " << 671 LOG(INFO) << "relay tcp connected to " <<
671 socket->GetRemoteAddress().ToSensitiveString(); 672 socket->GetRemoteAddress().ToSensitiveString();
672 if (current_connection_ != NULL) { 673 if (current_connection_ != nullptr) {
673 current_connection_->SendAllocateRequest(this, 0); 674 current_connection_->SendAllocateRequest(this, 0);
674 } 675 }
675 } 676 }
676 677
677 void RelayEntry::OnSocketClose(rtc::AsyncPacketSocket* socket, 678 void RelayEntry::OnSocketClose(rtc::AsyncPacketSocket* socket,
678 int error) { 679 int error) {
679 PLOG(LERROR, error) << "Relay connection failed: socket closed"; 680 PLOG(LERROR, error) << "Relay connection failed: socket closed";
680 HandleConnectFailure(socket); 681 HandleConnectFailure(socket);
681 } 682 }
682 683
683 void RelayEntry::OnReadPacket( 684 void RelayEntry::OnReadPacket(
684 rtc::AsyncPacketSocket* socket, 685 rtc::AsyncPacketSocket* socket,
685 const char* data, size_t size, 686 const char* data, size_t size,
686 const rtc::SocketAddress& remote_addr, 687 const rtc::SocketAddress& remote_addr,
687 const rtc::PacketTime& packet_time) { 688 const rtc::PacketTime& packet_time) {
688 // RTC_DCHECK(remote_addr == port_->server_addr()); 689 // RTC_DCHECK(remote_addr == port_->server_addr());
689 // TODO: are we worried about this? 690 // TODO: are we worried about this?
690 691
691 if (current_connection_ == NULL || socket != current_connection_->socket()) { 692 if (current_connection_ == nullptr ||
693 socket != current_connection_->socket()) {
692 // This packet comes from an unknown address. 694 // This packet comes from an unknown address.
693 LOG(WARNING) << "Dropping packet: unknown address"; 695 LOG(WARNING) << "Dropping packet: unknown address";
694 return; 696 return;
695 } 697 }
696 698
697 // If the magic cookie is not present, then this is an unwrapped packet sent 699 // If the magic cookie is not present, then this is an unwrapped packet sent
698 // by the server, The actual remote address is the one we recorded. 700 // by the server, The actual remote address is the one we recorded.
699 if (!port_->HasMagicCookie(data, size)) { 701 if (!port_->HasMagicCookie(data, size)) {
700 if (locked_) { 702 if (locked_) {
701 port_->OnReadPacket(data, size, ext_addr_, PROTO_UDP, packet_time); 703 port_->OnReadPacket(data, size, ext_addr_, PROTO_UDP, packet_time);
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 if (rtc::TimeMillis() - start_time_ <= kRetryTimeout) 841 if (rtc::TimeMillis() - start_time_ <= kRetryTimeout)
840 entry_->ScheduleKeepAlive(); 842 entry_->ScheduleKeepAlive();
841 } 843 }
842 844
843 void AllocateRequest::OnTimeout() { 845 void AllocateRequest::OnTimeout() {
844 LOG(INFO) << "Allocate request timed out"; 846 LOG(INFO) << "Allocate request timed out";
845 entry_->HandleConnectFailure(connection_->socket()); 847 entry_->HandleConnectFailure(connection_->socket());
846 } 848 }
847 849
848 } // namespace cricket 850 } // namespace cricket
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698