Index: webrtc/api/quicdatachannel.cc |
diff --git a/webrtc/api/quicdatachannel.cc b/webrtc/api/quicdatachannel.cc |
index f4f573276c11711ce64db03a71c7c2ab5018afa8..5493382e1a022650b997d678a7742b24b6fc14be 100644 |
--- a/webrtc/api/quicdatachannel.cc |
+++ b/webrtc/api/quicdatachannel.cc |
@@ -61,10 +61,12 @@ bool ParseQuicDataMessageHeader(const char* data, |
QuicDataChannel::QuicDataChannel(rtc::Thread* signaling_thread, |
rtc::Thread* worker_thread, |
+ rtc::Thread* network_thread, |
const std::string& label, |
const DataChannelInit& config) |
: signaling_thread_(signaling_thread), |
worker_thread_(worker_thread), |
+ network_thread_(network_thread), |
id_(config.id), |
state_(kConnecting), |
buffered_amount_(0), |
@@ -91,12 +93,12 @@ bool QuicDataChannel::Send(const DataBuffer& buffer) { |
<< " is not open so cannot send."; |
return false; |
} |
- return worker_thread_->Invoke<bool>( |
- RTC_FROM_HERE, rtc::Bind(&QuicDataChannel::Send_w, this, buffer)); |
+ return network_thread_->Invoke<bool>( |
+ RTC_FROM_HERE, rtc::Bind(&QuicDataChannel::Send_n, this, buffer)); |
} |
-bool QuicDataChannel::Send_w(const DataBuffer& buffer) { |
- RTC_DCHECK(worker_thread_->IsCurrent()); |
+bool QuicDataChannel::Send_n(const DataBuffer& buffer) { |
+ RTC_DCHECK(network_thread_->IsCurrent()); |
// Encode and send the header containing the data channel ID and message ID. |
rtc::CopyOnWriteBuffer header; |
@@ -256,7 +258,7 @@ DataChannelInterface::DataState QuicDataChannel::SetTransportChannel_w() { |
} |
void QuicDataChannel::OnIncomingMessage(Message&& message) { |
- RTC_DCHECK(worker_thread_->IsCurrent()); |
+ RTC_DCHECK(network_thread_->IsCurrent()); |
RTC_DCHECK(message.stream); |
if (!observer_) { |
LOG(LS_WARNING) << "QUIC data channel " << id_ |
@@ -295,7 +297,7 @@ void QuicDataChannel::OnIncomingMessage(Message&& message) { |
void QuicDataChannel::OnDataReceived(net::QuicStreamId stream_id, |
const char* data, |
size_t len) { |
- RTC_DCHECK(worker_thread_->IsCurrent()); |
+ RTC_DCHECK(network_thread_->IsCurrent()); |
RTC_DCHECK(data); |
const auto& kv = incoming_quic_messages_.find(stream_id); |
if (kv == incoming_quic_messages_.end()) { |
@@ -325,7 +327,7 @@ void QuicDataChannel::OnDataReceived(net::QuicStreamId stream_id, |
} |
void QuicDataChannel::OnReadyToSend(cricket::TransportChannel* channel) { |
- RTC_DCHECK(worker_thread_->IsCurrent()); |
+ RTC_DCHECK(network_thread_->IsCurrent()); |
RTC_DCHECK(channel == quic_transport_channel_); |
LOG(LS_INFO) << "QuicTransportChannel is ready to send"; |
invoker_.AsyncInvoke<void>( |
@@ -342,7 +344,7 @@ void QuicDataChannel::OnWriteBlockedStreamClosed(net::QuicStreamId stream_id, |
void QuicDataChannel::OnIncomingQueuedStreamClosed(net::QuicStreamId stream_id, |
int error) { |
- RTC_DCHECK(worker_thread_->IsCurrent()); |
+ RTC_DCHECK(network_thread_->IsCurrent()); |
LOG(LS_VERBOSE) << "Incoming queued stream " << stream_id << " is closed."; |
incoming_quic_messages_.erase(stream_id); |
} |