Index: webrtc/api/webrtcsession.h |
diff --git a/webrtc/api/webrtcsession.h b/webrtc/api/webrtcsession.h |
index 1314c59d1b254a008bb35d8be899c75c2f5fe019..3174568b7b2f3c91a9427ebf4392e7ce31897e34 100644 |
--- a/webrtc/api/webrtcsession.h |
+++ b/webrtc/api/webrtcsession.h |
@@ -30,6 +30,10 @@ |
#include "webrtc/p2p/base/transportcontroller.h" |
#include "webrtc/pc/mediasession.h" |
+#ifdef HAVE_QUIC |
+#include "webrtc/api/quicdatatransport.h" |
+#endif // HAVE_QUIC |
+ |
namespace cricket { |
class ChannelManager; |
@@ -38,6 +42,10 @@ class StatsReport; |
class VideoChannel; |
class VoiceChannel; |
+#ifdef HAVE_QUIC |
+class QuicTransportChannel; |
+#endif // HAVE_QUIC |
+ |
} // namespace cricket |
namespace webrtc { |
@@ -146,6 +154,7 @@ class WebRtcSession : |
virtual ~WebRtcSession(); |
// These are const to allow them to be called from const methods. |
+ rtc::Thread* network_thread() const { return network_thread_; } |
rtc::Thread* worker_thread() const { return worker_thread_; } |
rtc::Thread* signaling_thread() const { return signaling_thread_; } |
@@ -301,6 +310,11 @@ class WebRtcSession : |
// std::string represents the data channel label. |
sigslot::signal2<const std::string&, const InternalDataChannelInit&> |
SignalDataChannelOpenMessage; |
+#ifdef HAVE_QUIC |
+ QuicDataTransport* quic_data_transport() { |
+ return quic_data_transport_.get(); |
+ } |
+#endif // HAVE_QUIC |
private: |
// Indicates the type of SessionDescription in a call to SetLocalDescription |
@@ -445,6 +459,9 @@ class WebRtcSession : |
void OnSentPacket_w(const rtc::SentPacket& sent_packet); |
+ const std::string GetTransportName(const std::string& content_name); |
+ |
+ rtc::Thread* const network_thread_; |
rtc::Thread* const worker_thread_; |
rtc::Thread* const signaling_thread_; |
@@ -476,6 +493,8 @@ class WebRtcSession : |
// not set or false, SCTP is allowed (DCT_SCTP); |
// 2. If constraint kEnableRtpDataChannels is true, RTP is allowed (DCT_RTP); |
// 3. If both 1&2 are false, data channel is not allowed (DCT_NONE). |
+ // The data channel type could be DCT_QUIC if the QUIC data channel is |
+ // enabled. |
cricket::DataChannelType data_channel_type_; |
// List of content names for which the remote side triggered an ICE restart. |
std::set<std::string> pending_ice_restarts_; |
@@ -496,6 +515,10 @@ class WebRtcSession : |
bool received_first_video_packet_ = false; |
bool received_first_audio_packet_ = false; |
+#ifdef HAVE_QUIC |
+ std::unique_ptr<QuicDataTransport> quic_data_transport_; |
+#endif // HAVE_QUIC |
+ |
RTC_DISALLOW_COPY_AND_ASSIGN(WebRtcSession); |
}; |
} // namespace webrtc |