Remove deprecated unused QuicStreamSequencer::PrefetchNextRegion() method.
gfe-relnote: n/a, remove unused code.
PiperOrigin-RevId: 265911298
Change-Id: I3910accb6fae7437b946348277e751c0adaf20cc
diff --git a/quic/core/quic_stream_sequencer.cc b/quic/core/quic_stream_sequencer.cc
index fb89821..dc7b0cd 100644
--- a/quic/core/quic_stream_sequencer.cc
+++ b/quic/core/quic_stream_sequencer.cc
@@ -169,11 +169,6 @@
return buffered_frames_.PeekRegion(offset, iov);
}
-bool QuicStreamSequencer::PrefetchNextRegion(iovec* iov) {
- DCHECK(!blocked_);
- return buffered_frames_.PrefetchNextRegion(iov);
-}
-
void QuicStreamSequencer::Read(std::string* buffer) {
DCHECK(!blocked_);
buffer->resize(buffer->size() + ReadableBytes());
diff --git a/quic/core/quic_stream_sequencer.h b/quic/core/quic_stream_sequencer.h
index e08a141..a735a1e 100644
--- a/quic/core/quic_stream_sequencer.h
+++ b/quic/core/quic_stream_sequencer.h
@@ -86,10 +86,6 @@
// not been received yet or has already been consumed.
bool PeekRegion(QuicStreamOffset offset, iovec* iov) const;
- // Fills in one iovec with the next unread region.
- // Returns false if no readable region is available.
- bool PrefetchNextRegion(iovec* iov);
-
// Copies the data into the iov_len buffers provided. Returns the number of
// bytes read. Any buffered data no longer in use will be released.
// TODO(rch): remove this method and instead implement it as a helper method
diff --git a/quic/core/quic_stream_sequencer_buffer.cc b/quic/core/quic_stream_sequencer_buffer.cc
index e68925b..89a6ad7 100644
--- a/quic/core/quic_stream_sequencer_buffer.cc
+++ b/quic/core/quic_stream_sequencer_buffer.cc
@@ -33,8 +33,7 @@
: max_buffer_capacity_bytes_(max_capacity_bytes),
blocks_count_(CalculateBlockCount(max_capacity_bytes)),
total_bytes_read_(0),
- blocks_(nullptr),
- total_bytes_prefetched_(0) {
+ blocks_(nullptr) {
Clear();
}
@@ -53,7 +52,6 @@
num_bytes_buffered_ = 0;
bytes_received_.Clear();
bytes_received_.Add(0, total_bytes_read_);
- total_bytes_prefetched_ = total_bytes_read_;
}
bool QuicStreamSequencerBuffer::RetireBlock(size_t idx) {
@@ -267,8 +265,6 @@
}
}
}
- total_bytes_prefetched_ =
- std::max(total_bytes_prefetched_, total_bytes_read_);
return QUIC_NO_ERROR;
}
@@ -367,19 +363,6 @@
return true;
}
-bool QuicStreamSequencerBuffer::PrefetchNextRegion(iovec* iov) {
- DCHECK(iov);
- DCHECK_LE(total_bytes_read_, total_bytes_prefetched_);
- DCHECK_LE(total_bytes_prefetched_, FirstMissingByte());
-
- if (!PeekRegion(total_bytes_prefetched_, iov)) {
- return false;
- }
-
- total_bytes_prefetched_ += iov->iov_len;
- return true;
-}
-
bool QuicStreamSequencerBuffer::MarkConsumed(size_t bytes_used) {
if (bytes_used > ReadableBytes()) {
return false;
@@ -400,8 +383,7 @@
RetireBlockIfEmpty(block_idx);
}
}
- total_bytes_prefetched_ =
- std::max(total_bytes_read_, total_bytes_prefetched_);
+
return true;
}
diff --git a/quic/core/quic_stream_sequencer_buffer.h b/quic/core/quic_stream_sequencer_buffer.h
index b0478c0..93b723f 100644
--- a/quic/core/quic_stream_sequencer_buffer.h
+++ b/quic/core/quic_stream_sequencer_buffer.h
@@ -137,16 +137,6 @@
// Does not consume data.
bool PeekRegion(QuicStreamOffset offset, iovec* iov) const;
- // DEPRECATED, use PeekRegion() instead.
- // Called to return the next region that has not been returned by this method
- // previously, except if Clear() has been called then prefetch offset is set
- // to BytesConsumed(), and if Readv() or MarkConsumed() reads further than
- // prefetch offset, then offset is set to beginning of not yet consumed area.
- // This method only returns reference of underlying data. The caller is
- // responsible for copying and consuming the data.
- // Returns true if the data is read, false otherwise.
- bool PrefetchNextRegion(iovec* iov);
-
// Called after GetReadableRegions() to free up |bytes_used| space if these
// bytes are processed.
// Pre-requisite: bytes_used <= available bytes to read.
@@ -243,10 +233,8 @@
// Currently received data.
QuicIntervalSet<QuicStreamOffset> bytes_received_;
-
- // Total number of bytes that have been prefetched.
- QuicStreamOffset total_bytes_prefetched_;
};
+
} // namespace quic
#endif // QUICHE_QUIC_CORE_QUIC_STREAM_SEQUENCER_BUFFER_H_
diff --git a/quic/core/quic_stream_sequencer_buffer_test.cc b/quic/core/quic_stream_sequencer_buffer_test.cc
index 20dbe05..a7872dd 100644
--- a/quic/core/quic_stream_sequencer_buffer_test.cc
+++ b/quic/core/quic_stream_sequencer_buffer_test.cc
@@ -583,101 +583,6 @@
IovecToStringPiece(iov));
}
-TEST_F(QuicStreamSequencerBufferTest, PrefetchEmptyBuffer) {
- iovec iov;
- EXPECT_FALSE(buffer_->PrefetchNextRegion(&iov));
-}
-
-TEST_F(QuicStreamSequencerBufferTest, PrefetchInitialBuffer) {
- std::string source(kBlockSizeBytes, 'a');
- buffer_->OnStreamData(0, source, &written_, &error_details_);
- iovec iov;
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(source, IovecToStringPiece(iov));
-}
-
-TEST_F(QuicStreamSequencerBufferTest, PrefetchBufferWithOffset) {
- std::string source(1024, 'a');
- buffer_->OnStreamData(0, source, &written_, &error_details_);
- iovec iov;
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(source, IovecToStringPiece(iov));
- // The second frame goes into the same block.
- std::string source2(800, 'a');
- buffer_->OnStreamData(1024, source2, &written_, &error_details_);
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(source2, IovecToStringPiece(iov));
-}
-
-TEST_F(QuicStreamSequencerBufferTest, PrefetchBufferWithMultipleBlocks) {
- const size_t data_size = 1024;
- std::string source(data_size, 'a');
- buffer_->OnStreamData(0, source, &written_, &error_details_);
- iovec iov;
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(source, IovecToStringPiece(iov));
- std::string source2(kBlockSizeBytes, 'b');
- buffer_->OnStreamData(data_size, source2, &written_, &error_details_);
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(std::string(kBlockSizeBytes - data_size, 'b'),
- IovecToStringPiece(iov));
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(std::string(data_size, 'b'), IovecToStringPiece(iov));
-}
-
-TEST_F(QuicStreamSequencerBufferTest, PrefetchBufferAfterBlockRetired) {
- std::string source(kBlockSizeBytes, 'a');
- buffer_->OnStreamData(0, source, &written_, &error_details_);
- iovec iov;
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(source, IovecToStringPiece(iov));
- // Read the whole block so it's retired.
- char dest[kBlockSizeBytes];
- helper_->Read(dest, kBlockSizeBytes);
-
- std::string source2(300, 'b');
- buffer_->OnStreamData(kBlockSizeBytes, source2, &written_, &error_details_);
-
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(source2, IovecToStringPiece(iov));
-}
-
-TEST_F(QuicStreamSequencerBufferTest, PrefetchContinously) {
- std::string source(kBlockSizeBytes, 'a');
- buffer_->OnStreamData(0, source, &written_, &error_details_);
- iovec iov;
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(source, IovecToStringPiece(iov));
- std::string source2(kBlockSizeBytes, 'b');
- buffer_->OnStreamData(kBlockSizeBytes, source2, &written_, &error_details_);
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(source2, IovecToStringPiece(iov));
-}
-
-TEST_F(QuicStreamSequencerBufferTest, ConsumeMoreThanPrefetch) {
- std::string source(100, 'a');
- buffer_->OnStreamData(0, source, &written_, &error_details_);
- char dest[30];
- helper_->Read(dest, 30);
- iovec iov;
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(std::string(70, 'a'), IovecToStringPiece(iov));
- std::string source2(100, 'b');
- buffer_->OnStreamData(100, source2, &written_, &error_details_);
- buffer_->MarkConsumed(100);
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(std::string(70, 'b'), IovecToStringPiece(iov));
-}
-
-TEST_F(QuicStreamSequencerBufferTest, PrefetchMoreThanBufferHas) {
- std::string source(100, 'a');
- buffer_->OnStreamData(0, source, &written_, &error_details_);
- iovec iov;
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(std::string(100, 'a'), IovecToStringPiece(iov));
- EXPECT_FALSE(buffer_->PrefetchNextRegion(&iov));
-}
-
TEST_F(QuicStreamSequencerBufferTest, PeekEmptyBuffer) {
iovec iov;
EXPECT_FALSE(buffer_->PeekRegion(0, &iov));
@@ -1179,29 +1084,6 @@
EXPECT_LE(bytes_to_buffer_, total_bytes_written_);
}
-// Regression test for https://crbug.com/969391.
-TEST_F(QuicStreamSequencerBufferTest, PrefetchAfterClear) {
- // Write a few bytes.
- const std::string kData("foo");
- EXPECT_EQ(QUIC_NO_ERROR, buffer_->OnStreamData(/* offset = */ 0, kData,
- &written_, &error_details_));
- EXPECT_EQ(kData.size(), written_);
-
- // Prefetch all buffered data.
- iovec iov;
- EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov));
- EXPECT_EQ(kData, IovecToStringPiece(iov));
-
- // No more data to prefetch.
- EXPECT_FALSE(buffer_->PrefetchNextRegion(&iov));
-
- // Clear all buffered data.
- buffer_->Clear();
-
- // Still no data to prefetch.
- EXPECT_FALSE(buffer_->PrefetchNextRegion(&iov));
-}
-
} // anonymous namespace
} // namespace test