Index: net/quic/core/quic_headers_stream.cc |
diff --git a/net/quic/core/quic_headers_stream.cc b/net/quic/core/quic_headers_stream.cc |
index 57d675f2707e46ffe503a019ef23ca8b3ad99168..2faf39e15c86004ee9f7f64cb4463c4057ed7a65 100644 |
--- a/net/quic/core/quic_headers_stream.cc |
+++ b/net/quic/core/quic_headers_stream.cc |
@@ -461,6 +461,7 @@ void QuicHeadersStream::OnDataAvailable() { |
return; |
} |
sequencer()->MarkConsumed(iov.iov_len); |
+ MaybeReleaseSequencerBuffer(); |
} |
} |
@@ -569,6 +570,13 @@ void QuicHeadersStream::UpdateEnableServerPush(bool value) { |
spdy_session_->set_server_push_enabled(value); |
} |
+void QuicHeadersStream::MaybeReleaseSequencerBuffer() { |
+ if (FLAGS_quic_headers_stream_release_sequencer_buffer && |
+ spdy_session_->ShouldReleaseHeadersStreamSequencerBuffer()) { |
+ sequencer()->ReleaseBufferIfEmpty(); |
+ } |
+} |
+ |
bool QuicHeadersStream::OnDataFrameHeader(QuicStreamId stream_id, |
size_t length, |
bool fin) { |