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

Unified Diff: webrtc/p2p/base/transportcontroller.h

Issue 1358413003: Revert of TransportController refactoring. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/p2p/base/transportchannelproxy.cc ('k') | webrtc/p2p/base/transportcontroller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/p2p/base/transportcontroller.h
diff --git a/webrtc/p2p/base/transportcontroller.h b/webrtc/p2p/base/transportcontroller.h
deleted file mode 100644
index e31eb83affdc84bb1abf06d38e5f9a834c6e26a9..0000000000000000000000000000000000000000
--- a/webrtc/p2p/base/transportcontroller.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright 2015 The WebRTC Project Authors. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef WEBRTC_P2P_BASE_TRANSPORTCONTROLLER_H_
-#define WEBRTC_P2P_BASE_TRANSPORTCONTROLLER_H_
-
-#include <map>
-#include <string>
-#include <vector>
-
-#include "webrtc/base/sigslot.h"
-#include "webrtc/base/sslstreamadapter.h"
-#include "webrtc/p2p/base/candidate.h"
-#include "webrtc/p2p/base/transport.h"
-
-namespace rtc {
-class Thread;
-}
-
-namespace cricket {
-
-class TransportController : public sigslot::has_slots<>,
- public rtc::MessageHandler {
- public:
- TransportController(rtc::Thread* signaling_thread,
- rtc::Thread* worker_thread,
- PortAllocator* port_allocator);
-
- virtual ~TransportController();
-
- rtc::Thread* signaling_thread() const { return signaling_thread_; }
- rtc::Thread* worker_thread() const { return worker_thread_; }
-
- PortAllocator* port_allocator() const { return port_allocator_; }
-
- // Can only be set before transports are created.
- // TODO(deadbeef): Make this an argument to the constructor once BaseSession
- // and WebRtcSession are combined
- bool SetSslMaxProtocolVersion(rtc::SSLProtocolVersion version);
-
- void SetIceConnectionReceivingTimeout(int timeout_ms);
- void SetIceRole(IceRole ice_role);
-
- // TODO(deadbeef) - Return role of each transport, as role may differ from
- // one another.
- // In current implementaion we just return the role of the first transport
- // alphabetically.
- bool GetSslRole(rtc::SSLRole* role);
-
- // Specifies the identity to use in this session.
- // Can only be called once.
- bool SetLocalCertificate(
- const rtc::scoped_refptr<rtc::RTCCertificate>& certificate);
- bool GetLocalCertificate(
- const std::string& transport_name,
- rtc::scoped_refptr<rtc::RTCCertificate>* certificate);
- // Caller owns returned certificate
- bool GetRemoteSSLCertificate(const std::string& transport_name,
- rtc::SSLCertificate** cert);
- bool SetLocalTransportDescription(const std::string& transport_name,
- const TransportDescription& tdesc,
- ContentAction action,
- std::string* err);
- bool SetRemoteTransportDescription(const std::string& transport_name,
- const TransportDescription& tdesc,
- ContentAction action,
- std::string* err);
- // Start gathering candidates for any new transports, or transports doing an
- // ICE restart.
- void MaybeStartGathering();
- bool AddRemoteCandidates(const std::string& transport_name,
- const Candidates& candidates,
- std::string* err);
- bool ReadyForRemoteCandidates(const std::string& transport_name);
- bool GetStats(const std::string& transport_name, TransportStats* stats);
-
- virtual TransportChannel* CreateTransportChannel_w(
- const std::string& transport_name,
- int component);
- virtual void DestroyTransportChannel_w(const std::string& transport_name,
- int component);
-
- // All of these signals are fired on the signalling thread.
-
- // If any transport failed => failed,
- // Else if all completed => completed,
- // Else if all connected => connected,
- // Else => connecting
- sigslot::signal1<IceConnectionState> SignalConnectionState;
-
- // Receiving if any transport is receiving
- sigslot::signal1<bool> SignalReceiving;
-
- // If all transports done gathering => complete,
- // Else if any are gathering => gathering,
- // Else => new
- sigslot::signal1<IceGatheringState> SignalGatheringState;
-
- // (transport_name, candidates)
- sigslot::signal2<const std::string&, const Candidates&>
- SignalCandidatesGathered;
-
- // for unit test
- const rtc::scoped_refptr<rtc::RTCCertificate>& certificate_for_testing();
-
- protected:
- // Protected and virtual so we can override it in unit tests.
- virtual Transport* CreateTransport_w(const std::string& transport_name);
-
- // For unit tests
- const std::map<std::string, Transport*>& transports() { return transports_; }
- Transport* GetTransport_w(const std::string& transport_name);
-
- private:
- void OnMessage(rtc::Message* pmsg) override;
-
- Transport* GetOrCreateTransport_w(const std::string& transport_name);
- void DestroyTransport_w(const std::string& transport_name);
- void DestroyAllTransports_w();
-
- bool SetSslMaxProtocolVersion_w(rtc::SSLProtocolVersion version);
- void SetIceConnectionReceivingTimeout_w(int timeout_ms);
- void SetIceRole_w(IceRole ice_role);
- bool GetSslRole_w(rtc::SSLRole* role);
- bool SetLocalCertificate_w(
- const rtc::scoped_refptr<rtc::RTCCertificate>& certificate);
- bool GetLocalCertificate_w(
- const std::string& transport_name,
- rtc::scoped_refptr<rtc::RTCCertificate>* certificate);
- bool GetRemoteSSLCertificate_w(const std::string& transport_name,
- rtc::SSLCertificate** cert);
- bool SetLocalTransportDescription_w(const std::string& transport_name,
- const TransportDescription& tdesc,
- ContentAction action,
- std::string* err);
- bool SetRemoteTransportDescription_w(const std::string& transport_name,
- const TransportDescription& tdesc,
- ContentAction action,
- std::string* err);
- void MaybeStartGathering_w();
- bool AddRemoteCandidates_w(const std::string& transport_name,
- const Candidates& candidates,
- std::string* err);
- bool ReadyForRemoteCandidates_w(const std::string& transport_name);
- bool GetStats_w(const std::string& transport_name, TransportStats* stats);
-
- // Handlers for signals from Transport.
- void OnTransportConnecting_w(Transport* transport);
- void OnTransportWritableState_w(Transport* transport);
- void OnTransportReceivingState_w(Transport* transport);
- void OnTransportCompleted_w(Transport* transport);
- void OnTransportFailed_w(Transport* transport);
- void OnTransportGatheringState_w(Transport* transport);
- void OnTransportCandidatesGathered_w(
- Transport* transport,
- const std::vector<Candidate>& candidates);
- void OnTransportRoleConflict_w();
-
- void UpdateAggregateStates_w();
- bool HasChannels_w();
-
- rtc::Thread* const signaling_thread_ = nullptr;
- rtc::Thread* const worker_thread_ = nullptr;
- typedef std::map<std::string, Transport*> TransportMap;
- TransportMap transports_;
-
- PortAllocator* const port_allocator_ = nullptr;
- rtc::SSLProtocolVersion ssl_max_version_ = rtc::SSL_PROTOCOL_DTLS_10;
-
- // Aggregate state for Transports
- IceConnectionState connection_state_ = kIceConnectionConnecting;
- bool receiving_ = false;
- IceGatheringState gathering_state_ = kIceGatheringNew;
-
- // TODO(deadbeef): Move the fields below down to the transports themselves
-
- // Timeout value in milliseconds for which no ICE connection receives
- // any packets
- int ice_receiving_timeout_ms_ = -1;
- IceRole ice_role_ = ICEROLE_CONTROLLING;
- // Flag which will be set to true after the first role switch
- bool ice_role_switch_ = false;
- uint64 ice_tiebreaker_ = rtc::CreateRandomId64();
- rtc::scoped_refptr<rtc::RTCCertificate> certificate_;
-};
-
-} // namespace cricket
-
-#endif // WEBRTC_P2P_BASE_TRANSPORTCONTROLLER_H_
« no previous file with comments | « webrtc/p2p/base/transportchannelproxy.cc ('k') | webrtc/p2p/base/transportcontroller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698