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

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

Issue 1691673002: Remove GetTransport() from TransportChannelImpl (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Restore deleted P2PTransportChannel constructor (and mark deprecated) to not break Chromium 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/p2ptransport.cc ('k') | webrtc/p2p/base/p2ptransportchannel.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 10
11 // P2PTransportChannel wraps up the state management of the connection between 11 // P2PTransportChannel wraps up the state management of the connection between
12 // two P2P clients. Clients have candidate ports for connecting, and 12 // two P2P clients. Clients have candidate ports for connecting, and
13 // connections which are combinations of candidates from each end (Alice and 13 // connections which are combinations of candidates from each end (Alice and
14 // Bob each have candidates, one candidate from Alice and one candidate from 14 // Bob each have candidates, one candidate from Alice and one candidate from
15 // Bob are used to make a connection, repeat to make many connections). 15 // Bob are used to make a connection, repeat to make many connections).
16 // 16 //
17 // When all of the available connections become invalid (non-writable), we 17 // When all of the available connections become invalid (non-writable), we
18 // kick off a process of determining more candidates and more connections. 18 // kick off a process of determining more candidates and more connections.
19 // 19 //
20 #ifndef WEBRTC_P2P_BASE_P2PTRANSPORTCHANNEL_H_ 20 #ifndef WEBRTC_P2P_BASE_P2PTRANSPORTCHANNEL_H_
21 #define WEBRTC_P2P_BASE_P2PTRANSPORTCHANNEL_H_ 21 #define WEBRTC_P2P_BASE_P2PTRANSPORTCHANNEL_H_
22 22
23 #include <map> 23 #include <map>
24 #include <string> 24 #include <string>
25 #include <vector> 25 #include <vector>
26 #include "webrtc/p2p/base/candidate.h" 26 #include "webrtc/p2p/base/candidate.h"
27 #include "webrtc/p2p/base/p2ptransport.h" 27 #include "webrtc/p2p/base/p2ptransport.h"
28 #include "webrtc/p2p/base/portallocator.h" 28 #include "webrtc/p2p/base/portallocator.h"
29 #include "webrtc/p2p/base/portinterface.h" 29 #include "webrtc/p2p/base/portinterface.h"
30 #include "webrtc/p2p/base/transport.h"
31 #include "webrtc/p2p/base/transportchannelimpl.h" 30 #include "webrtc/p2p/base/transportchannelimpl.h"
32 #include "webrtc/base/asyncpacketsocket.h" 31 #include "webrtc/base/asyncpacketsocket.h"
33 #include "webrtc/base/sigslot.h" 32 #include "webrtc/base/sigslot.h"
34 33
35 namespace cricket { 34 namespace cricket {
36 35
37 extern const uint32_t WEAK_PING_DELAY; 36 extern const uint32_t WEAK_PING_DELAY;
38 37
39 struct IceParameters { 38 struct IceParameters {
40 std::string ufrag; 39 std::string ufrag;
(...skipping 19 matching lines...) Expand all
60 PortInterface* origin_port_; 59 PortInterface* origin_port_;
61 }; 60 };
62 61
63 // P2PTransportChannel manages the candidates and connection process to keep 62 // P2PTransportChannel manages the candidates and connection process to keep
64 // two P2P clients connected to each other. 63 // two P2P clients connected to each other.
65 class P2PTransportChannel : public TransportChannelImpl, 64 class P2PTransportChannel : public TransportChannelImpl,
66 public rtc::MessageHandler { 65 public rtc::MessageHandler {
67 public: 66 public:
68 P2PTransportChannel(const std::string& transport_name, 67 P2PTransportChannel(const std::string& transport_name,
69 int component, 68 int component,
69 PortAllocator* allocator);
70 // TODO(mikescarlett): Deprecated. Remove when Chromium's
71 // IceTransportChannel does not depend on this.
72 P2PTransportChannel(const std::string& transport_name,
73 int component,
70 P2PTransport* transport, 74 P2PTransport* transport,
71 PortAllocator* allocator); 75 PortAllocator* allocator);
72 virtual ~P2PTransportChannel(); 76 virtual ~P2PTransportChannel();
73 77
74 // From TransportChannelImpl: 78 // From TransportChannelImpl:
75 Transport* GetTransport() override { return transport_; }
76 TransportChannelState GetState() const override; 79 TransportChannelState GetState() const override;
77 void SetIceRole(IceRole role) override; 80 void SetIceRole(IceRole role) override;
78 IceRole GetIceRole() const override { return ice_role_; } 81 IceRole GetIceRole() const override { return ice_role_; }
79 void SetIceTiebreaker(uint64_t tiebreaker) override; 82 void SetIceTiebreaker(uint64_t tiebreaker) override;
80 void SetIceCredentials(const std::string& ice_ufrag, 83 void SetIceCredentials(const std::string& ice_ufrag,
81 const std::string& ice_pwd) override; 84 const std::string& ice_pwd) override;
82 void SetRemoteIceCredentials(const std::string& ice_ufrag, 85 void SetRemoteIceCredentials(const std::string& ice_ufrag,
83 const std::string& ice_pwd) override; 86 const std::string& ice_pwd) override;
84 void SetRemoteIceMode(IceMode mode) override; 87 void SetRemoteIceMode(IceMode mode) override;
85 void Connect() override; 88 void Connect() override;
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 const IceParameters* FindRemoteIceFromUfrag(const std::string& ufrag, 261 const IceParameters* FindRemoteIceFromUfrag(const std::string& ufrag,
259 uint32_t* generation); 262 uint32_t* generation);
260 // Returns the index of the latest remote ICE parameters, or 0 if no remote 263 // Returns the index of the latest remote ICE parameters, or 0 if no remote
261 // ICE parameters have been received. 264 // ICE parameters have been received.
262 uint32_t remote_ice_generation() { 265 uint32_t remote_ice_generation() {
263 return remote_ice_parameters_.empty() 266 return remote_ice_parameters_.empty()
264 ? 0 267 ? 0
265 : static_cast<uint32_t>(remote_ice_parameters_.size() - 1); 268 : static_cast<uint32_t>(remote_ice_parameters_.size() - 1);
266 } 269 }
267 270
268 P2PTransport* transport_;
269 PortAllocator* allocator_; 271 PortAllocator* allocator_;
270 rtc::Thread* worker_thread_; 272 rtc::Thread* worker_thread_;
271 bool incoming_only_; 273 bool incoming_only_;
272 int error_; 274 int error_;
273 std::vector<PortAllocatorSession*> allocator_sessions_; 275 std::vector<PortAllocatorSession*> allocator_sessions_;
274 std::vector<PortInterface *> ports_; 276 std::vector<PortInterface *> ports_;
275 std::vector<Connection *> connections_; 277 std::vector<Connection *> connections_;
276 Connection* best_connection_; 278 Connection* best_connection_;
277 // Connection selected by the controlling agent. This should be used only 279 // Connection selected by the controlling agent. This should be used only
278 // at controlled side when protocol type is RFC5245. 280 // at controlled side when protocol type is RFC5245.
(...skipping 18 matching lines...) Expand all
297 bool gather_continually_ = false; 299 bool gather_continually_ = false;
298 int weak_ping_delay_ = WEAK_PING_DELAY; 300 int weak_ping_delay_ = WEAK_PING_DELAY;
299 TransportChannelState state_ = TransportChannelState::STATE_INIT; 301 TransportChannelState state_ = TransportChannelState::STATE_INIT;
300 302
301 RTC_DISALLOW_COPY_AND_ASSIGN(P2PTransportChannel); 303 RTC_DISALLOW_COPY_AND_ASSIGN(P2PTransportChannel);
302 }; 304 };
303 305
304 } // namespace cricket 306 } // namespace cricket
305 307
306 #endif // WEBRTC_P2P_BASE_P2PTRANSPORTCHANNEL_H_ 308 #endif // WEBRTC_P2P_BASE_P2PTRANSPORTCHANNEL_H_
OLDNEW
« no previous file with comments | « webrtc/p2p/base/p2ptransport.cc ('k') | webrtc/p2p/base/p2ptransportchannel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698