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

Unified Diff: net/quic/core/quic_client_session_base.cc

Issue 2446893003: Make Quic client more memory efficient. Protected by --quic_headers_stream_release_sequencer_buffer. (Closed)
Patch Set: Remove NOLINT Created 4 years, 2 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
Index: net/quic/core/quic_client_session_base.cc
diff --git a/net/quic/core/quic_client_session_base.cc b/net/quic/core/quic_client_session_base.cc
index 3fb43d14b14ba05e4a11b513c2ed3a325b76a44f..35438af5f0e15a61f0f7e899ac510162df9180b5 100644
--- a/net/quic/core/quic_client_session_base.cc
+++ b/net/quic/core/quic_client_session_base.cc
@@ -188,6 +188,7 @@ void QuicClientSessionBase::DeletePromised(QuicClientPromisedInfo* promised) {
// Since promised_by_id_ contains the unique_ptr, this will destroy
// promised.
promised_by_id_.erase(promised->id());
+ headers_stream()->MaybeReleaseSequencerBuffer();
}
void QuicClientSessionBase::OnPushStreamTimedOut(QuicStreamId stream_id) {}
@@ -201,4 +202,14 @@ void QuicClientSessionBase::ResetPromised(QuicStreamId id,
}
}
+void QuicClientSessionBase::CloseStreamInner(QuicStreamId stream_id,
+ bool locally_reset) {
+ QuicSpdySession::CloseStreamInner(stream_id, locally_reset);
+ headers_stream()->MaybeReleaseSequencerBuffer();
+}
+
+bool QuicClientSessionBase::ShouldReleaseHeadersStreamSequencerBuffer() {
+ return num_active_requests() == 0 && promised_by_id_.empty();
+}
+
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698