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

Unified Diff: webrtc/api/webrtcsession.h

Issue 2166873002: Modified PeerConnection and WebRtcSession for end-to-end QuicDataChannel usage. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Change the comments and minor fix. Created 4 years, 4 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/api/test/peerconnectiontestwrapper.cc ('k') | webrtc/api/webrtcsession.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « webrtc/api/test/peerconnectiontestwrapper.cc ('k') | webrtc/api/webrtcsession.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698