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

Side by Side Diff: webrtc/p2p/base/faketransportcontroller.h

Issue 1709953002: Revert of Remove GetTransport() from TransportChannelImpl (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 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
« no previous file with comments | « webrtc/p2p/base/dtlstransportchannel.cc ('k') | webrtc/p2p/base/p2ptransport.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 2009 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2009 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 27 matching lines...) Expand all
38 }; 38 };
39 } // namespace 39 } // namespace
40 40
41 // Fake transport channel class, which can be passed to anything that needs a 41 // Fake transport channel class, which can be passed to anything that needs a
42 // transport channel. Can be informed of another FakeTransportChannel via 42 // transport channel. Can be informed of another FakeTransportChannel via
43 // SetDestination. 43 // SetDestination.
44 // TODO(hbos): Move implementation to .cc file, this and other classes in file. 44 // TODO(hbos): Move implementation to .cc file, this and other classes in file.
45 class FakeTransportChannel : public TransportChannelImpl, 45 class FakeTransportChannel : public TransportChannelImpl,
46 public rtc::MessageHandler { 46 public rtc::MessageHandler {
47 public: 47 public:
48 explicit FakeTransportChannel(const std::string& name, 48 explicit FakeTransportChannel(Transport* transport,
49 const std::string& name,
49 int component) 50 int component)
50 : TransportChannelImpl(name, component), 51 : TransportChannelImpl(name, component),
52 transport_(transport),
51 dtls_fingerprint_("", nullptr, 0) {} 53 dtls_fingerprint_("", nullptr, 0) {}
52 ~FakeTransportChannel() { Reset(); } 54 ~FakeTransportChannel() { Reset(); }
53 55
54 uint64_t IceTiebreaker() const { return tiebreaker_; } 56 uint64_t IceTiebreaker() const { return tiebreaker_; }
55 IceMode remote_ice_mode() const { return remote_ice_mode_; } 57 IceMode remote_ice_mode() const { return remote_ice_mode_; }
56 const std::string& ice_ufrag() const { return ice_ufrag_; } 58 const std::string& ice_ufrag() const { return ice_ufrag_; }
57 const std::string& ice_pwd() const { return ice_pwd_; } 59 const std::string& ice_pwd() const { return ice_pwd_; }
58 const std::string& remote_ice_ufrag() const { return remote_ice_ufrag_; } 60 const std::string& remote_ice_ufrag() const { return remote_ice_ufrag_; }
59 const std::string& remote_ice_pwd() const { return remote_ice_pwd_; } 61 const std::string& remote_ice_pwd() const { return remote_ice_pwd_; }
60 const rtc::SSLFingerprint& dtls_fingerprint() const { 62 const rtc::SSLFingerprint& dtls_fingerprint() const {
61 return dtls_fingerprint_; 63 return dtls_fingerprint_;
62 } 64 }
63 65
64 // If async, will send packets by "Post"-ing to message queue instead of 66 // If async, will send packets by "Post"-ing to message queue instead of
65 // synchronously "Send"-ing. 67 // synchronously "Send"-ing.
66 void SetAsync(bool async) { async_ = async; } 68 void SetAsync(bool async) { async_ = async; }
67 69
70 Transport* GetTransport() override { return transport_; }
71
68 TransportChannelState GetState() const override { 72 TransportChannelState GetState() const override {
69 if (connection_count_ == 0) { 73 if (connection_count_ == 0) {
70 return had_connection_ ? TransportChannelState::STATE_FAILED 74 return had_connection_ ? TransportChannelState::STATE_FAILED
71 : TransportChannelState::STATE_INIT; 75 : TransportChannelState::STATE_INIT;
72 } 76 }
73 77
74 if (connection_count_ == 1) { 78 if (connection_count_ == 1) {
75 return TransportChannelState::STATE_COMPLETED; 79 return TransportChannelState::STATE_COMPLETED;
76 } 80 }
77 81
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 306
303 void set_ssl_max_protocol_version(rtc::SSLProtocolVersion version) { 307 void set_ssl_max_protocol_version(rtc::SSLProtocolVersion version) {
304 ssl_max_version_ = version; 308 ssl_max_version_ = version;
305 } 309 }
306 rtc::SSLProtocolVersion ssl_max_protocol_version() const { 310 rtc::SSLProtocolVersion ssl_max_protocol_version() const {
307 return ssl_max_version_; 311 return ssl_max_version_;
308 } 312 }
309 313
310 private: 314 private:
311 enum State { STATE_INIT, STATE_CONNECTING, STATE_CONNECTED }; 315 enum State { STATE_INIT, STATE_CONNECTING, STATE_CONNECTED };
316 Transport* transport_;
312 FakeTransportChannel* dest_ = nullptr; 317 FakeTransportChannel* dest_ = nullptr;
313 State state_ = STATE_INIT; 318 State state_ = STATE_INIT;
314 bool async_ = false; 319 bool async_ = false;
315 Candidates remote_candidates_; 320 Candidates remote_candidates_;
316 rtc::scoped_refptr<rtc::RTCCertificate> local_cert_; 321 rtc::scoped_refptr<rtc::RTCCertificate> local_cert_;
317 rtc::FakeSSLCertificate* remote_cert_ = nullptr; 322 rtc::FakeSSLCertificate* remote_cert_ = nullptr;
318 bool do_dtls_ = false; 323 bool do_dtls_ = false;
319 std::vector<int> srtp_ciphers_; 324 std::vector<int> srtp_ciphers_;
320 int chosen_crypto_suite_ = rtc::SRTP_INVALID_CRYPTO_SUITE; 325 int chosen_crypto_suite_ = rtc::SRTP_INVALID_CRYPTO_SUITE;
321 int receiving_timeout_ = -1; 326 int receiving_timeout_ = -1;
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 408
404 using Transport::local_description; 409 using Transport::local_description;
405 using Transport::remote_description; 410 using Transport::remote_description;
406 411
407 protected: 412 protected:
408 TransportChannelImpl* CreateTransportChannel(int component) override { 413 TransportChannelImpl* CreateTransportChannel(int component) override {
409 if (channels_.find(component) != channels_.end()) { 414 if (channels_.find(component) != channels_.end()) {
410 return nullptr; 415 return nullptr;
411 } 416 }
412 FakeTransportChannel* channel = 417 FakeTransportChannel* channel =
413 new FakeTransportChannel(name(), component); 418 new FakeTransportChannel(this, name(), component);
414 channel->set_ssl_max_protocol_version(ssl_max_version_); 419 channel->set_ssl_max_protocol_version(ssl_max_version_);
415 channel->SetAsync(async_); 420 channel->SetAsync(async_);
416 SetChannelDestination(component, channel); 421 SetChannelDestination(component, channel);
417 channels_[component] = channel; 422 channels_[component] = channel;
418 return channel; 423 return channel;
419 } 424 }
420 425
421 void DestroyTransportChannel(TransportChannelImpl* channel) override { 426 void DestroyTransportChannel(TransportChannelImpl* channel) override {
422 channels_.erase(channel->component()); 427 channels_.erase(channel->component());
423 delete channel; 428 delete channel;
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 } 534 }
530 } 535 }
531 536
532 private: 537 private:
533 bool fail_create_channel_; 538 bool fail_create_channel_;
534 }; 539 };
535 540
536 } // namespace cricket 541 } // namespace cricket
537 542
538 #endif // WEBRTC_P2P_BASE_FAKETRANSPORTCONTROLLER_H_ 543 #endif // WEBRTC_P2P_BASE_FAKETRANSPORTCONTROLLER_H_
OLDNEW
« no previous file with comments | « webrtc/p2p/base/dtlstransportchannel.cc ('k') | webrtc/p2p/base/p2ptransport.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698