Index: webrtc/p2p/base/p2ptransportchannel.h |
diff --git a/webrtc/p2p/base/p2ptransportchannel.h b/webrtc/p2p/base/p2ptransportchannel.h |
index a8f16666c9625897de4cff8e9f0e11a86c76d13e..92969c8b7e0436b798af444bb229ce678809a30e 100644 |
--- a/webrtc/p2p/base/p2ptransportchannel.h |
+++ b/webrtc/p2p/base/p2ptransportchannel.h |
@@ -51,11 +51,11 @@ class RemoteCandidate : public Candidate { |
class P2PTransportChannel : public TransportChannelImpl, |
public rtc::MessageHandler { |
public: |
- P2PTransportChannel(const std::string& content_name, |
+ P2PTransportChannel(const std::string& transport_name, |
int component, |
P2PTransport* transport, |
- PortAllocator *allocator); |
- ~P2PTransportChannel() override; |
+ PortAllocator* allocator); |
+ virtual ~P2PTransportChannel(); |
// From TransportChannelImpl: |
Transport* GetTransport() override { return transport_; } |
@@ -69,15 +69,20 @@ class P2PTransportChannel : public TransportChannelImpl, |
const std::string& ice_pwd) override; |
void SetRemoteIceMode(IceMode mode) override; |
void Connect() override; |
- void OnSignalingReady() override; |
- void OnCandidate(const Candidate& candidate) override; |
+ void MaybeStartGathering() override; |
+ IceGatheringState gathering_state() const override { |
+ return gathering_state_; |
+ } |
+ void AddRemoteCandidate(const Candidate& candidate) override; |
// Sets the receiving timeout in milliseconds. |
// This also sets the check_receiving_delay proportionally. |
void SetReceivingTimeout(int receiving_timeout_ms) override; |
// From TransportChannel: |
- int SendPacket(const char *data, size_t len, |
- const rtc::PacketOptions& options, int flags) override; |
+ int SendPacket(const char* data, |
+ size_t len, |
+ const rtc::PacketOptions& options, |
+ int flags) override; |
int SetOption(rtc::Socket::Option opt, int value) override; |
bool GetOption(rtc::Socket::Option opt, int* value) override; |
int GetError() override { return error_; } |
@@ -96,13 +101,9 @@ class P2PTransportChannel : public TransportChannelImpl, |
bool IsDtlsActive() const override { return false; } |
// Default implementation. |
- bool GetSslRole(rtc::SSLRole* role) const override { |
- return false; |
- } |
+ bool GetSslRole(rtc::SSLRole* role) const override { return false; } |
- bool SetSslRole(rtc::SSLRole role) override { |
- return false; |
- } |
+ bool SetSslRole(rtc::SSLRole role) override { return false; } |
// Set up the ciphers to use for DTLS-SRTP. |
bool SetSrtpCiphers(const std::vector<std::string>& ciphers) override { |
@@ -110,14 +111,10 @@ class P2PTransportChannel : public TransportChannelImpl, |
} |
// Find out which DTLS-SRTP cipher was negotiated. |
- bool GetSrtpCipher(std::string* cipher) override { |
- return false; |
- } |
+ bool GetSrtpCipher(std::string* cipher) override { return false; } |
// Find out which DTLS cipher was negotiated. |
- bool GetSslCipher(std::string* cipher) override { |
- return false; |
- } |
+ bool GetSslCipher(std::string* cipher) override { return false; } |
// Returns null because the channel is not encrypted by default. |
rtc::scoped_refptr<rtc::RTCCertificate> GetLocalCertificate() const override { |
@@ -165,7 +162,6 @@ class P2PTransportChannel : public TransportChannelImpl, |
return allocator_sessions_.back(); |
} |
- void Allocate(); |
void UpdateConnectionStates(); |
void RequestSort(); |
void SortConnections(); |
@@ -213,7 +209,7 @@ class P2PTransportChannel : public TransportChannelImpl, |
void OnNominated(Connection* conn); |
- void OnMessage(rtc::Message *pmsg) override; |
+ void OnMessage(rtc::Message* pmsg) override; |
void OnSort(); |
void OnPing(); |
@@ -223,10 +219,9 @@ class P2PTransportChannel : public TransportChannelImpl, |
Connection* best_nominated_connection() const; |
P2PTransport* transport_; |
- PortAllocator *allocator_; |
- rtc::Thread *worker_thread_; |
+ PortAllocator* allocator_; |
+ rtc::Thread* worker_thread_; |
bool incoming_only_; |
- bool waiting_for_signaling_; |
int error_; |
std::vector<PortAllocatorSession*> allocator_sessions_; |
std::vector<PortInterface *> ports_; |
@@ -238,6 +233,7 @@ class P2PTransportChannel : public TransportChannelImpl, |
std::vector<RemoteCandidate> remote_candidates_; |
bool sort_dirty_; // indicates whether another sort is needed right now |
bool was_writable_; |
+ bool had_connection_ = false; // if connections_ has ever been nonempty |
typedef std::map<rtc::Socket::Option, int> OptionMap; |
OptionMap options_; |
std::string ice_ufrag_; |
@@ -248,6 +244,7 @@ class P2PTransportChannel : public TransportChannelImpl, |
IceRole ice_role_; |
uint64 tiebreaker_; |
uint32 remote_candidate_generation_; |
+ IceGatheringState gathering_state_; |
int check_receiving_delay_; |
int receiving_timeout_; |