Add |written_| member to QuicStreamSequencerBufferTest. This results in fewer lines than having to declare a local variable in every test. Just like there is already an |error_details_| base test class member that is used as an argument of OnStreamData(). gfe-relnote: n/a, test-only change. PiperOrigin-RevId: 254784062 Change-Id: I398912c1a48d0addb2c776888fe2220954b20bf1
diff --git a/quic/core/quic_stream_sequencer_buffer_test.cc b/quic/core/quic_stream_sequencer_buffer_test.cc index 67d9b28..f36e076 100644 --- a/quic/core/quic_stream_sequencer_buffer_test.cc +++ b/quic/core/quic_stream_sequencer_buffer_test.cc
@@ -73,6 +73,7 @@ std::unique_ptr<QuicStreamSequencerBuffer> buffer_; std::unique_ptr<QuicStreamSequencerBufferPeer> helper_; + size_t written_ = 0; std::string error_details_; }; @@ -102,9 +103,8 @@ } TEST_F(QuicStreamSequencerBufferTest, OnStreamData0length) { - size_t written; QuicErrorCode error = - buffer_->OnStreamData(800, "", &written, &error_details_); + buffer_->OnStreamData(800, "", &written_, &error_details_); EXPECT_EQ(error, QUIC_EMPTY_STREAM_FRAME_NO_FIN); EXPECT_TRUE(helper_->CheckBufferInvariants()); } @@ -112,9 +112,8 @@ TEST_F(QuicStreamSequencerBufferTest, OnStreamDataWithinBlock) { EXPECT_FALSE(helper_->IsBufferAllocated()); std::string source(1024, 'a'); - size_t written; EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(800, source, &written, &error_details_)); + buffer_->OnStreamData(800, source, &written_, &error_details_)); BufferBlock* block_ptr = helper_->GetBlock(0); for (size_t i = 0; i < source.size(); ++i) { ASSERT_EQ('a', block_ptr->buffer[helper_->GetInBlockOffset(800) + i]); @@ -131,9 +130,8 @@ TEST_F(QuicStreamSequencerBufferTest, Move) { EXPECT_FALSE(helper_->IsBufferAllocated()); std::string source(1024, 'a'); - size_t written; EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(800, source, &written, &error_details_)); + buffer_->OnStreamData(800, source, &written_, &error_details_)); BufferBlock* block_ptr = helper_->GetBlock(0); for (size_t i = 0; i < source.size(); ++i) { ASSERT_EQ('a', block_ptr->buffer[helper_->GetInBlockOffset(800) + i]); @@ -157,9 +155,8 @@ // Pass in an invalid source, expects to return error. QuicStringPiece source; source = QuicStringPiece(nullptr, 1024); - size_t written; EXPECT_EQ(QUIC_STREAM_SEQUENCER_INVALID_STATE, - buffer_->OnStreamData(800, source, &written, &error_details_)); + buffer_->OnStreamData(800, source, &written_, &error_details_)); EXPECT_EQ(0u, error_details_.find(QuicStrCat( "QuicStreamSequencerBuffer error: OnStreamData() " "dest == nullptr: ", @@ -169,50 +166,47 @@ TEST_F(QuicStreamSequencerBufferTest, OnStreamDataWithOverlap) { std::string source(1024, 'a'); // Write something into [800, 1824) - size_t written; EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(800, source, &written, &error_details_)); + buffer_->OnStreamData(800, source, &written_, &error_details_)); // Try to write to [0, 1024) and [1024, 2048). EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(0, source, &written, &error_details_)); + buffer_->OnStreamData(0, source, &written_, &error_details_)); EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(1024, source, &written, &error_details_)); + buffer_->OnStreamData(1024, source, &written_, &error_details_)); } TEST_F(QuicStreamSequencerBufferTest, OnStreamDataOverlapAndDuplicateCornerCases) { std::string source(1024, 'a'); // Write something into [800, 1824) - size_t written; - buffer_->OnStreamData(800, source, &written, &error_details_); + buffer_->OnStreamData(800, source, &written_, &error_details_); source = std::string(800, 'b'); std::string one_byte = "c"; // Write [1, 801). EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(1, source, &written, &error_details_)); + buffer_->OnStreamData(1, source, &written_, &error_details_)); // Write [0, 800). EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(0, source, &written, &error_details_)); + buffer_->OnStreamData(0, source, &written_, &error_details_)); // Write [1823, 1824). EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(1823, one_byte, &written, &error_details_)); - EXPECT_EQ(0u, written); + buffer_->OnStreamData(1823, one_byte, &written_, &error_details_)); + EXPECT_EQ(0u, written_); // write one byte to [1824, 1825) EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(1824, one_byte, &written, &error_details_)); + buffer_->OnStreamData(1824, one_byte, &written_, &error_details_)); EXPECT_TRUE(helper_->CheckBufferInvariants()); } TEST_F(QuicStreamSequencerBufferTest, OnStreamDataWithoutOverlap) { std::string source(1024, 'a'); // Write something into [800, 1824). - size_t written; EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(800, source, &written, &error_details_)); + buffer_->OnStreamData(800, source, &written_, &error_details_)); source = std::string(100, 'b'); // Write something into [kBlockSizeBytes * 2 - 20, kBlockSizeBytes * 2 + 80). EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(kBlockSizeBytes * 2 - 20, source, &written, + buffer_->OnStreamData(kBlockSizeBytes * 2 - 20, source, &written_, &error_details_)); EXPECT_EQ(3, helper_->IntervalSize()); EXPECT_EQ(1024u + 100u, buffer_->BytesBuffered()); @@ -228,23 +222,22 @@ // Three new out of order frames arrive. const size_t kBytesToWrite = 100; std::string source(kBytesToWrite, 'a'); - size_t written; // Frame [2^32 + 500, 2^32 + 600). QuicStreamOffset offset = pow(2, 32) + 500; EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(offset, source, &written, &error_details_)); + buffer_->OnStreamData(offset, source, &written_, &error_details_)); EXPECT_EQ(2, helper_->IntervalSize()); // Frame [2^32 + 700, 2^32 + 800). offset = pow(2, 32) + 700; EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(offset, source, &written, &error_details_)); + buffer_->OnStreamData(offset, source, &written_, &error_details_)); EXPECT_EQ(3, helper_->IntervalSize()); // Another frame [2^32 + 300, 2^32 + 400). offset = pow(2, 32) + 300; EXPECT_EQ(QUIC_NO_ERROR, - buffer_->OnStreamData(offset, source, &written, &error_details_)); + buffer_->OnStreamData(offset, source, &written_, &error_details_)); EXPECT_EQ(4, helper_->IntervalSize()); } @@ -252,10 +245,9 @@ // Write 50 bytes to the end. const size_t kBytesToWrite = 50; std::string source(kBytesToWrite, 'a'); - size_t written; EXPECT_EQ(QUIC_NO_ERROR, buffer_->OnStreamData(max_capacity_bytes_ - kBytesToWrite, source, - &written, &error_details_)); + &written_, &error_details_)); EXPECT_EQ(50u, buffer_->BytesBuffered()); EXPECT_TRUE(helper_->CheckBufferInvariants()); } @@ -264,44 +256,42 @@ // Write 1 byte to the end. const size_t kBytesToWrite = 1; std::string source(kBytesToWrite, 'a'); - size_t written; EXPECT_EQ(QUIC_NO_ERROR, buffer_->OnStreamData(max_capacity_bytes_ - kBytesToWrite, source, - &written, &error_details_)); + &written_, &error_details_)); EXPECT_EQ(1u, buffer_->BytesBuffered()); EXPECT_TRUE(helper_->CheckBufferInvariants()); } TEST_F(QuicStreamSequencerBufferTest, OnStreamDataBeyondCapacity) { std::string source(60, 'a'); - size_t written; EXPECT_EQ(QUIC_INTERNAL_ERROR, - buffer_->OnStreamData(max_capacity_bytes_ - 50, source, &written, + buffer_->OnStreamData(max_capacity_bytes_ - 50, source, &written_, &error_details_)); EXPECT_TRUE(helper_->CheckBufferInvariants()); source = "b"; EXPECT_EQ(QUIC_INTERNAL_ERROR, - buffer_->OnStreamData(max_capacity_bytes_, source, &written, + buffer_->OnStreamData(max_capacity_bytes_, source, &written_, &error_details_)); EXPECT_TRUE(helper_->CheckBufferInvariants()); EXPECT_EQ(QUIC_INTERNAL_ERROR, - buffer_->OnStreamData(max_capacity_bytes_ * 1000, source, &written, + buffer_->OnStreamData(max_capacity_bytes_ * 1000, source, &written_, &error_details_)); EXPECT_TRUE(helper_->CheckBufferInvariants()); // Disallow current_gap != gaps_.end() EXPECT_EQ(QUIC_INTERNAL_ERROR, buffer_->OnStreamData(static_cast<QuicStreamOffset>(-1), source, - &written, &error_details_)); + &written_, &error_details_)); EXPECT_TRUE(helper_->CheckBufferInvariants()); // Disallow offset + size overflow source = "bbb"; EXPECT_EQ(QUIC_INTERNAL_ERROR, buffer_->OnStreamData(static_cast<QuicStreamOffset>(-2), source, - &written, &error_details_)); + &written_, &error_details_)); EXPECT_TRUE(helper_->CheckBufferInvariants()); EXPECT_EQ(0u, buffer_->BytesBuffered()); } @@ -309,12 +299,11 @@ TEST_F(QuicStreamSequencerBufferTest, Readv100Bytes) { std::string source(1024, 'a'); // Write something into [kBlockSizeBytes, kBlockSizeBytes + 1024). - size_t written; - buffer_->OnStreamData(kBlockSizeBytes, source, &written, &error_details_); + buffer_->OnStreamData(kBlockSizeBytes, source, &written_, &error_details_); EXPECT_FALSE(buffer_->HasBytesToRead()); source = std::string(100, 'b'); // Write something into [0, 100). - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); EXPECT_TRUE(buffer_->HasBytesToRead()); // Read into a iovec array with total capacity of 120 bytes. char dest[120]; @@ -333,8 +322,7 @@ TEST_F(QuicStreamSequencerBufferTest, ReadvAcrossBlocks) { std::string source(kBlockSizeBytes + 50, 'a'); // Write 1st block to full and extand 50 bytes to next block. - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); EXPECT_EQ(source.size(), helper_->ReadableBytes()); // Iteratively read 512 bytes from buffer_-> Overwrite dest[] each time. char dest[512]; @@ -355,8 +343,7 @@ TEST_F(QuicStreamSequencerBufferTest, ClearAfterRead) { std::string source(kBlockSizeBytes + 50, 'a'); // Write 1st block to full with 'a'. - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); // Read first 512 bytes from buffer to make space at the beginning. char dest[512]{0}; const iovec iov{dest, 512}; @@ -372,21 +359,20 @@ OnStreamDataAcrossLastBlockAndFillCapacity) { std::string source(kBlockSizeBytes + 50, 'a'); // Write 1st block to full with 'a'. - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); // Read first 512 bytes from buffer to make space at the beginning. char dest[512]{0}; const iovec iov{dest, 512}; size_t read; EXPECT_EQ(QUIC_NO_ERROR, buffer_->Readv(&iov, 1, &read, &error_details_)); - EXPECT_EQ(source.size(), written); + EXPECT_EQ(source.size(), written_); // Write more than half block size of bytes in the last block with 'b', which // will wrap to the beginning and reaches the full capacity. source = std::string(0.5 * kBlockSizeBytes + 512, 'b'); EXPECT_EQ(QUIC_NO_ERROR, buffer_->OnStreamData(2 * kBlockSizeBytes, source, - &written, &error_details_)); - EXPECT_EQ(source.size(), written); + &written_, &error_details_)); + EXPECT_EQ(source.size(), written_); EXPECT_TRUE(helper_->CheckBufferInvariants()); } @@ -394,8 +380,7 @@ OnStreamDataAcrossLastBlockAndExceedCapacity) { std::string source(kBlockSizeBytes + 50, 'a'); // Write 1st block to full. - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); // Read first 512 bytes from buffer to make space at the beginning. char dest[512]{0}; const iovec iov{dest, 512}; @@ -406,7 +391,7 @@ // max_capacity_bytes_ + 512 + 1). But last bytes exceeds current capacity. source = std::string(0.5 * kBlockSizeBytes + 512 + 1, 'b'); EXPECT_EQ(QUIC_INTERNAL_ERROR, - buffer_->OnStreamData(2 * kBlockSizeBytes, source, &written, + buffer_->OnStreamData(2 * kBlockSizeBytes, source, &written_, &error_details_)); EXPECT_TRUE(helper_->CheckBufferInvariants()); } @@ -415,14 +400,14 @@ // Write to full capacity and read out 512 bytes at beginning and continue // appending 256 bytes. std::string source(max_capacity_bytes_, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[512]{0}; const iovec iov{dest, 512}; size_t read; EXPECT_EQ(QUIC_NO_ERROR, buffer_->Readv(&iov, 1, &read, &error_details_)); source = std::string(256, 'b'); - buffer_->OnStreamData(max_capacity_bytes_, source, &written, &error_details_); + buffer_->OnStreamData(max_capacity_bytes_, source, &written_, + &error_details_); EXPECT_TRUE(helper_->CheckBufferInvariants()); // Read all data out. @@ -457,8 +442,7 @@ // Tests that buffer is not deallocated unless ReleaseWholeBuffer() is called. std::string source(100, 'b'); // Write something into [0, 100). - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); EXPECT_TRUE(buffer_->HasBytesToRead()); char dest[120]; iovec iovecs[3]{iovec{dest, 40}, iovec{dest + 40, 40}, iovec{dest + 80, 40}}; @@ -475,8 +459,7 @@ TEST_F(QuicStreamSequencerBufferTest, GetReadableRegionsBlockedByGap) { // Write into [1, 1024). std::string source(1023, 'a'); - size_t written; - buffer_->OnStreamData(1, source, &written, &error_details_); + buffer_->OnStreamData(1, source, &written_, &error_details_); // Try to get readable regions, but none is there. iovec iovs[2]; int iov_count = buffer_->GetReadableRegions(iovs, 2); @@ -487,8 +470,7 @@ // Write first block to full with [0, 256) 'a' and the rest 'b' then read out // [0, 256) std::string source(kBlockSizeBytes, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[256]; helper_->Read(dest, 256); // Get readable region from [256, 1024) @@ -503,8 +485,7 @@ TEST_F(QuicStreamSequencerBufferTest, GetReadableRegionsWithinOneBlock) { // Write into [0, 1024) and then read out [0, 256) std::string source(1024, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[256]; helper_->Read(dest, 256); // Get readable region from [256, 1024) @@ -520,8 +501,7 @@ GetReadableRegionsAcrossBlockWithLongIOV) { // Write into [0, 2 * kBlockSizeBytes + 1024) and then read out [0, 1024) std::string source(2 * kBlockSizeBytes + 1024, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[1024]; helper_->Read(dest, 1024); @@ -538,13 +518,12 @@ // Write into [0, 2 * kBlockSizeBytes + 1024) and then read out [0, 1024) // and then append 1024 + 512 bytes. std::string source(2.5 * kBlockSizeBytes - 1024, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[1024]; helper_->Read(dest, 1024); // Write across the end. source = std::string(1024 + 512, 'b'); - buffer_->OnStreamData(2.5 * kBlockSizeBytes - 1024, source, &written, + buffer_->OnStreamData(2.5 * kBlockSizeBytes - 1024, source, &written_, &error_details_); // Use short iovec's. iovec iovs[2]; @@ -572,8 +551,7 @@ TEST_F(QuicStreamSequencerBufferTest, GetReadableRegionBeforeGap) { // Write into [1, 1024). std::string source(1023, 'a'); - size_t written; - buffer_->OnStreamData(1, source, &written, &error_details_); + buffer_->OnStreamData(1, source, &written_, &error_details_); // GetReadableRegion should return false because range [0,1) hasn't been // filled yet. iovec iov; @@ -583,8 +561,7 @@ TEST_F(QuicStreamSequencerBufferTest, GetReadableRegionTillEndOfBlock) { // Write into [0, kBlockSizeBytes + 1) and then read out [0, 256) std::string source(kBlockSizeBytes + 1, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[256]; helper_->Read(dest, 256); // Get readable region from [256, 1024) @@ -598,8 +575,7 @@ TEST_F(QuicStreamSequencerBufferTest, GetReadableRegionTillGap) { // Write into [0, kBlockSizeBytes - 1) and then read out [0, 256) std::string source(kBlockSizeBytes - 1, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[256]; helper_->Read(dest, 256); // Get readable region from [256, 1023) @@ -617,8 +593,7 @@ TEST_F(QuicStreamSequencerBufferTest, PrefetchInitialBuffer) { std::string source(kBlockSizeBytes, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); iovec iov; EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov)); EXPECT_EQ(source, std::string(reinterpret_cast<const char*>(iov.iov_base), @@ -627,15 +602,14 @@ TEST_F(QuicStreamSequencerBufferTest, PrefetchBufferWithOffset) { std::string source(1024, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); iovec iov; EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov)); EXPECT_EQ(source, std::string(reinterpret_cast<const char*>(iov.iov_base), iov.iov_len)); // The second frame goes into the same bucket. std::string source2(800, 'a'); - buffer_->OnStreamData(1024, source2, &written, &error_details_); + buffer_->OnStreamData(1024, source2, &written_, &error_details_); EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov)); EXPECT_EQ(source2, std::string(reinterpret_cast<const char*>(iov.iov_base), iov.iov_len)); @@ -644,14 +618,13 @@ TEST_F(QuicStreamSequencerBufferTest, PrefetchBufferWithMultipleBucket) { const size_t data_size = 1024; std::string source(data_size, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); iovec iov; EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov)); EXPECT_EQ(source, std::string(reinterpret_cast<const char*>(iov.iov_base), iov.iov_len)); std::string source2(kBlockSizeBytes, 'b'); - buffer_->OnStreamData(data_size, source2, &written, &error_details_); + buffer_->OnStreamData(data_size, source2, &written_, &error_details_); EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov)); EXPECT_EQ( std::string(kBlockSizeBytes - data_size, 'b'), @@ -664,8 +637,7 @@ TEST_F(QuicStreamSequencerBufferTest, PrefetchBufferAfterBlockRetired) { std::string source(kBlockSizeBytes, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); iovec iov; EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov)); EXPECT_EQ(source, std::string(reinterpret_cast<const char*>(iov.iov_base), @@ -675,7 +647,7 @@ helper_->Read(dest, kBlockSizeBytes); std::string source2(300, 'b'); - buffer_->OnStreamData(kBlockSizeBytes, source2, &written, &error_details_); + buffer_->OnStreamData(kBlockSizeBytes, source2, &written_, &error_details_); EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov)); EXPECT_EQ(source2, std::string(reinterpret_cast<const char*>(iov.iov_base), @@ -684,14 +656,13 @@ TEST_F(QuicStreamSequencerBufferTest, PrefetchContinously) { std::string source(kBlockSizeBytes, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); iovec iov; EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov)); EXPECT_EQ(source, std::string(reinterpret_cast<const char*>(iov.iov_base), iov.iov_len)); std::string source2(kBlockSizeBytes, 'b'); - buffer_->OnStreamData(kBlockSizeBytes, source2, &written, &error_details_); + buffer_->OnStreamData(kBlockSizeBytes, source2, &written_, &error_details_); EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov)); EXPECT_EQ(source2, std::string(reinterpret_cast<const char*>(iov.iov_base), iov.iov_len)); @@ -699,8 +670,7 @@ TEST_F(QuicStreamSequencerBufferTest, ConsumeMoreThanPrefetch) { std::string source(100, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[30]; helper_->Read(dest, 30); iovec iov; @@ -709,7 +679,7 @@ std::string(70, 'a'), std::string(reinterpret_cast<const char*>(iov.iov_base), iov.iov_len)); std::string source2(100, 'b'); - buffer_->OnStreamData(100, source2, &written, &error_details_); + buffer_->OnStreamData(100, source2, &written_, &error_details_); buffer_->MarkConsumed(100); EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov)); EXPECT_EQ( @@ -719,8 +689,7 @@ TEST_F(QuicStreamSequencerBufferTest, PrefetchMoreThanBufferHas) { std::string source(100, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); iovec iov; EXPECT_TRUE(buffer_->PrefetchNextRegion(&iov)); EXPECT_EQ( @@ -732,8 +701,7 @@ TEST_F(QuicStreamSequencerBufferTest, MarkConsumedInOneBlock) { // Write into [0, 1024) and then read out [0, 256) std::string source(1024, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[256]; helper_->Read(dest, 256); @@ -748,8 +716,7 @@ TEST_F(QuicStreamSequencerBufferTest, MarkConsumedNotEnoughBytes) { // Write into [0, 1024) and then read out [0, 256) std::string source(1024, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[256]; helper_->Read(dest, 256); @@ -768,8 +735,7 @@ TEST_F(QuicStreamSequencerBufferTest, MarkConsumedAcrossBlock) { // Write into [0, 2 * kBlockSizeBytes + 1024) and then read out [0, 1024) std::string source(2 * kBlockSizeBytes + 1024, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[1024]; helper_->Read(dest, 1024); @@ -783,12 +749,11 @@ // Write into [0, 2.5 * kBlockSizeBytes - 1024) and then read out [0, 1024) // and then append 1024 + 512 bytes. std::string source(2.5 * kBlockSizeBytes - 1024, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[1024]; helper_->Read(dest, 1024); source = std::string(1024 + 512, 'b'); - buffer_->OnStreamData(2.5 * kBlockSizeBytes - 1024, source, &written, + buffer_->OnStreamData(2.5 * kBlockSizeBytes - 1024, source, &written_, &error_details_); EXPECT_EQ(1024u, buffer_->BytesConsumed()); @@ -809,15 +774,15 @@ TEST_F(QuicStreamSequencerBufferTest, FlushBufferedFrames) { // Write into [0, 2.5 * kBlockSizeBytes - 1024) and then read out [0, 1024). std::string source(max_capacity_bytes_ - 1024, 'a'); - size_t written; - buffer_->OnStreamData(0, source, &written, &error_details_); + buffer_->OnStreamData(0, source, &written_, &error_details_); char dest[1024]; helper_->Read(dest, 1024); EXPECT_EQ(1024u, buffer_->BytesConsumed()); // Write [1024, 512) to the physical beginning. source = std::string(512, 'b'); - buffer_->OnStreamData(max_capacity_bytes_, source, &written, &error_details_); - EXPECT_EQ(512u, written); + buffer_->OnStreamData(max_capacity_bytes_, source, &written_, + &error_details_); + EXPECT_EQ(512u, written_); EXPECT_EQ(max_capacity_bytes_ - 1024 + 512, buffer_->FlushBufferedFrames()); EXPECT_EQ(max_capacity_bytes_ + 512, buffer_->BytesConsumed()); EXPECT_TRUE(buffer_->Empty()); @@ -834,9 +799,8 @@ max_capacity_bytes_ = 3 * kBlockSizeBytes; // Feed buffer with 1-byte discontiguous frames. e.g. [1,2), [3,4), [5,6)... for (QuicStreamOffset begin = 1; begin <= max_capacity_bytes_; begin += 2) { - size_t written; QuicErrorCode rs = - buffer_->OnStreamData(begin, "a", &written, &error_details_); + buffer_->OnStreamData(begin, "a", &written_, &error_details_); QuicStreamOffset last_straw = 2 * kMaxNumGapsAllowed - 1; if (begin == last_straw) { @@ -914,8 +878,7 @@ write_buf[i] = (offset + i) % 256; } QuicStringPiece string_piece_w(write_buf.get(), num_to_write); - size_t written; - auto result = buffer_->OnStreamData(offset, string_piece_w, &written, + auto result = buffer_->OnStreamData(offset, string_piece_w, &written_, &error_details_); if (result == QUIC_NO_ERROR) { shuffled_buf_.pop_front(); @@ -1082,10 +1045,9 @@ TEST_F(QuicStreamSequencerBufferTest, PrefetchAfterClear) { // Write a few bytes. const std::string kData("foo"); - size_t written = 0; EXPECT_EQ(QUIC_NO_ERROR, buffer_->OnStreamData(/* offset = */ 0, kData, - &written, &error_details_)); - EXPECT_EQ(kData.size(), written); + &written_, &error_details_)); + EXPECT_EQ(kData.size(), written_); // Prefetch all buffered data. iovec iov;