Index: net/quic/quic_session.cc |
diff --git a/net/quic/quic_session.cc b/net/quic/quic_session.cc |
index 0eba20fe96901177675db3c9ff84d4d7f0741430..3505f44e57bc0154346b204de4c4e6d72615f849 100644 |
--- a/net/quic/quic_session.cc |
+++ b/net/quic/quic_session.cc |
@@ -263,7 +263,7 @@ void QuicSession::OnCanWrite() { |
} |
ReliableQuicStream* stream = GetStream(stream_id); |
if (stream != nullptr && !stream->flow_controller()->IsBlocked()) { |
- // If the stream can't write all bytes, it'll re-add itself to the blocked |
+ // If the stream can't write all bytes it'll re-add itself to the blocked |
// list. |
stream->OnCanWrite(); |
} |
@@ -295,8 +295,11 @@ QuicConsumedData QuicSession::WritevData( |
bool fin, |
FecProtection fec_protection, |
QuicAckListenerInterface* ack_notifier_delegate) { |
- return connection_->SendStreamData(id, iov, offset, fin, fec_protection, |
- ack_notifier_delegate); |
+ QuicConsumedData data = |
+ connection_->SendStreamData(id, iov, offset, fin, fec_protection, |
+ ack_notifier_delegate); |
+ write_blocked_streams_.UpdateBytesForStream(id, data.bytes_consumed); |
+ return data; |
} |
void QuicSession::SendRstStream(QuicStreamId id, |
@@ -752,7 +755,7 @@ void QuicSession::MarkConnectionLevelWriteBlocked(QuicStreamId id, |
// kHighestPriority. |
priority = kHighestPriority; |
} |
- write_blocked_streams_.PushBack(id, priority); |
+ write_blocked_streams_.AddStream(id, priority); |
} |
bool QuicSession::HasDataToWrite() const { |