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

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

Issue 2989303002: Make Port (and subclasses) fully "Network"-based, instead of IP-based. (Closed)
Patch Set: Add back Port constructor that takes IP for backwards compatibility. Created 3 years, 4 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
« no previous file with comments | « webrtc/p2p/base/relayport.h ('k') | webrtc/p2p/base/relayport_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 175
176 private: 176 private:
177 RelayEntry* entry_; 177 RelayEntry* entry_;
178 RelayConnection* connection_; 178 RelayConnection* connection_;
179 int64_t start_time_; 179 int64_t start_time_;
180 }; 180 };
181 181
182 RelayPort::RelayPort(rtc::Thread* thread, 182 RelayPort::RelayPort(rtc::Thread* thread,
183 rtc::PacketSocketFactory* factory, 183 rtc::PacketSocketFactory* factory,
184 rtc::Network* network, 184 rtc::Network* network,
185 const rtc::IPAddress& ip,
186 uint16_t min_port, 185 uint16_t min_port,
187 uint16_t max_port, 186 uint16_t max_port,
188 const std::string& username, 187 const std::string& username,
189 const std::string& password) 188 const std::string& password)
190 : Port(thread, 189 : Port(thread,
191 RELAY_PORT_TYPE, 190 RELAY_PORT_TYPE,
192 factory, 191 factory,
193 network, 192 network,
194 ip,
195 min_port, 193 min_port,
196 max_port, 194 max_port,
197 username, 195 username,
198 password), 196 password),
199 ready_(false), 197 ready_(false),
200 error_(0) { 198 error_(0) {
201 entries_.push_back( 199 entries_.push_back(
202 new RelayEntry(this, rtc::SocketAddress())); 200 new RelayEntry(this, rtc::SocketAddress()));
203 // TODO: set local preference value for TCP based candidates. 201 // TODO: set local preference value for TCP based candidates.
204 } 202 }
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 480
483 // Try to set up our new socket. 481 // Try to set up our new socket.
484 LOG(LS_INFO) << "Connecting to relay via " << ProtoToString(ra->proto) << 482 LOG(LS_INFO) << "Connecting to relay via " << ProtoToString(ra->proto) <<
485 " @ " << ra->address.ToSensitiveString(); 483 " @ " << ra->address.ToSensitiveString();
486 484
487 rtc::AsyncPacketSocket* socket = NULL; 485 rtc::AsyncPacketSocket* socket = NULL;
488 486
489 if (ra->proto == PROTO_UDP) { 487 if (ra->proto == PROTO_UDP) {
490 // UDP sockets are simple. 488 // UDP sockets are simple.
491 socket = port_->socket_factory()->CreateUdpSocket( 489 socket = port_->socket_factory()->CreateUdpSocket(
492 rtc::SocketAddress(port_->ip(), 0), 490 rtc::SocketAddress(port_->Network()->GetBestIP(), 0), port_->min_port(),
493 port_->min_port(), port_->max_port()); 491 port_->max_port());
494 } else if (ra->proto == PROTO_TCP || ra->proto == PROTO_SSLTCP) { 492 } else if (ra->proto == PROTO_TCP || ra->proto == PROTO_SSLTCP) {
495 int opts = (ra->proto == PROTO_SSLTCP) 493 int opts = (ra->proto == PROTO_SSLTCP)
496 ? rtc::PacketSocketFactory::OPT_TLS_FAKE 494 ? rtc::PacketSocketFactory::OPT_TLS_FAKE
497 : 0; 495 : 0;
498 socket = port_->socket_factory()->CreateClientTcpSocket( 496 socket = port_->socket_factory()->CreateClientTcpSocket(
499 rtc::SocketAddress(port_->ip(), 0), ra->address, 497 rtc::SocketAddress(port_->Network()->GetBestIP(), 0), ra->address,
500 port_->proxy(), port_->user_agent(), opts); 498 port_->proxy(), port_->user_agent(), opts);
501 } else { 499 } else {
502 LOG(LS_WARNING) << "Unknown protocol (" << ra->proto << ")"; 500 LOG(LS_WARNING) << "Unknown protocol (" << ra->proto << ")";
503 } 501 }
504 502
505 if (!socket) { 503 if (!socket) {
506 LOG(LS_WARNING) << "Socket creation failed"; 504 LOG(LS_WARNING) << "Socket creation failed";
507 } 505 }
508 506
509 // If we failed to get a socket, move on to the next protocol. 507 // If we failed to get a socket, move on to the next protocol.
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 if (rtc::TimeMillis() - start_time_ <= kRetryTimeout) 832 if (rtc::TimeMillis() - start_time_ <= kRetryTimeout)
835 entry_->ScheduleKeepAlive(); 833 entry_->ScheduleKeepAlive();
836 } 834 }
837 835
838 void AllocateRequest::OnTimeout() { 836 void AllocateRequest::OnTimeout() {
839 LOG(INFO) << "Allocate request timed out"; 837 LOG(INFO) << "Allocate request timed out";
840 entry_->HandleConnectFailure(connection_->socket()); 838 entry_->HandleConnectFailure(connection_->socket());
841 } 839 }
842 840
843 } // namespace cricket 841 } // namespace cricket
OLDNEW
« no previous file with comments | « webrtc/p2p/base/relayport.h ('k') | webrtc/p2p/base/relayport_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698