OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/quic/quic_stream_sequencer.h" | 5 #include "net/quic/quic_stream_sequencer.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 EXPECT_EQ("c", buffered_frames_->find(2)->second); | 219 EXPECT_EQ("c", buffered_frames_->find(2)->second); |
220 } | 220 } |
221 | 221 |
222 TEST_F(QuicStreamSequencerTest, NextxFrameNotConsumed) { | 222 TEST_F(QuicStreamSequencerTest, NextxFrameNotConsumed) { |
223 EXPECT_CALL(stream_, ProcessRawData(StrEq("abc"), 3)).WillOnce(Return(0)); | 223 EXPECT_CALL(stream_, ProcessRawData(StrEq("abc"), 3)).WillOnce(Return(0)); |
224 | 224 |
225 OnFrame(0, "abc"); | 225 OnFrame(0, "abc"); |
226 EXPECT_EQ(1u, buffered_frames_->size()); | 226 EXPECT_EQ(1u, buffered_frames_->size()); |
227 EXPECT_EQ(0u, sequencer_->num_bytes_consumed()); | 227 EXPECT_EQ(0u, sequencer_->num_bytes_consumed()); |
228 EXPECT_EQ("abc", buffered_frames_->find(0)->second); | 228 EXPECT_EQ("abc", buffered_frames_->find(0)->second); |
| 229 EXPECT_EQ(0, sequencer_->num_early_frames_received()); |
229 } | 230 } |
230 | 231 |
231 TEST_F(QuicStreamSequencerTest, FutureFrameNotProcessed) { | 232 TEST_F(QuicStreamSequencerTest, FutureFrameNotProcessed) { |
232 OnFrame(3, "abc"); | 233 OnFrame(3, "abc"); |
233 EXPECT_EQ(1u, buffered_frames_->size()); | 234 EXPECT_EQ(1u, buffered_frames_->size()); |
234 EXPECT_EQ(0u, sequencer_->num_bytes_consumed()); | 235 EXPECT_EQ(0u, sequencer_->num_bytes_consumed()); |
235 EXPECT_EQ("abc", buffered_frames_->find(3)->second); | 236 EXPECT_EQ("abc", buffered_frames_->find(3)->second); |
| 237 EXPECT_EQ(1, sequencer_->num_early_frames_received()); |
236 } | 238 } |
237 | 239 |
238 TEST_F(QuicStreamSequencerTest, OutOfOrderFrameProcessed) { | 240 TEST_F(QuicStreamSequencerTest, OutOfOrderFrameProcessed) { |
239 // Buffer the first | 241 // Buffer the first |
240 OnFrame(6, "ghi"); | 242 OnFrame(6, "ghi"); |
241 EXPECT_EQ(1u, buffered_frames_->size()); | 243 EXPECT_EQ(1u, buffered_frames_->size()); |
242 EXPECT_EQ(0u, sequencer_->num_bytes_consumed()); | 244 EXPECT_EQ(0u, sequencer_->num_bytes_consumed()); |
243 EXPECT_EQ(3u, sequencer_->num_bytes_buffered()); | 245 EXPECT_EQ(3u, sequencer_->num_bytes_buffered()); |
244 // Buffer the second | 246 // Buffer the second |
245 OnFrame(3, "def"); | 247 OnFrame(3, "def"); |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
437 QuicStreamFrame frame2(kClientDataStreamId1, false, 2, MakeIOVector("hello")); | 439 QuicStreamFrame frame2(kClientDataStreamId1, false, 2, MakeIOVector("hello")); |
438 EXPECT_TRUE(sequencer_->FrameOverlapsBufferedData(frame2)); | 440 EXPECT_TRUE(sequencer_->FrameOverlapsBufferedData(frame2)); |
439 EXPECT_CALL(stream_, CloseConnectionWithDetails(QUIC_INVALID_STREAM_FRAME, _)) | 441 EXPECT_CALL(stream_, CloseConnectionWithDetails(QUIC_INVALID_STREAM_FRAME, _)) |
440 .Times(1); | 442 .Times(1); |
441 sequencer_->OnStreamFrame(frame2); | 443 sequencer_->OnStreamFrame(frame2); |
442 } | 444 } |
443 | 445 |
444 } // namespace | 446 } // namespace |
445 } // namespace test | 447 } // namespace test |
446 } // namespace net | 448 } // namespace net |
OLD | NEW |