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

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

Issue 2566943003: rel-note: automated rollback of internal change 138108562 (Closed)
Patch Set: Created 4 years 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 | « net/quic/core/quic_stream_sequencer_buffer.h ('k') | net/quic/core/quic_stream_sequencer_buffer_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/core/quic_stream_sequencer_buffer.cc
diff --git a/net/quic/core/quic_stream_sequencer_buffer.cc b/net/quic/core/quic_stream_sequencer_buffer.cc
index 6b3ee9d96aae51db637e8676d81a4993223d54a3..9b866a17e776915670d30e7af6a5f79e491c7c19 100644
--- a/net/quic/core/quic_stream_sequencer_buffer.cc
+++ b/net/quic/core/quic_stream_sequencer_buffer.cc
@@ -49,7 +49,11 @@ QuicStreamSequencerBuffer::QuicStreamSequencerBuffer(size_t max_capacity_bytes)
blocks_count_(
ceil(static_cast<double>(max_capacity_bytes) / kBlockSizeBytes)),
total_bytes_read_(0),
- blocks_(nullptr),
+ reduce_sequencer_buffer_memory_life_time_(
+ FLAGS_quic_reduce_sequencer_buffer_memory_life_time), // NOLINT
+ blocks_(reduce_sequencer_buffer_memory_life_time_
+ ? nullptr
+ : new BufferBlock*[blocks_count_]()),
destruction_indicator_(123456) {
CHECK_GT(blocks_count_, 1u)
<< "blocks_count_ = " << blocks_count_
@@ -63,7 +67,7 @@ QuicStreamSequencerBuffer::~QuicStreamSequencerBuffer() {
}
void QuicStreamSequencerBuffer::Clear() {
- if (blocks_ != nullptr) {
+ if (!reduce_sequencer_buffer_memory_life_time_ || blocks_ != nullptr) {
for (size_t i = 0; i < blocks_count_; ++i) {
if (blocks_[i] != nullptr) {
RetireBlock(i);
@@ -182,7 +186,7 @@ QuicErrorCode QuicStreamSequencerBuffer::OnStreamData(
bytes_avail = total_bytes_read_ + max_buffer_capacity_bytes_ - offset;
}
- if (blocks_ == nullptr) {
+ if (reduce_sequencer_buffer_memory_life_time_ && blocks_ == nullptr) {
blocks_.reset(new BufferBlock*[blocks_count_]());
for (size_t i = 0; i < blocks_count_; ++i) {
blocks_[i] = nullptr;
@@ -473,6 +477,10 @@ size_t QuicStreamSequencerBuffer::FlushBufferedFrames() {
}
void QuicStreamSequencerBuffer::ReleaseWholeBuffer() {
+ if (!reduce_sequencer_buffer_memory_life_time_) {
+ // Don't release buffer if flag is off.
+ return;
+ }
Clear();
blocks_.reset(nullptr);
}
« no previous file with comments | « net/quic/core/quic_stream_sequencer_buffer.h ('k') | net/quic/core/quic_stream_sequencer_buffer_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698