Index: net/quic/quic_stream_sequencer.cc |
diff --git a/net/quic/quic_stream_sequencer.cc b/net/quic/quic_stream_sequencer.cc |
index ceeaa943a4898c3c2b08f85f8ba9fa141cb1b0fe..7a9ae0dba981695af198077e5487e259851b0d87 100644 |
--- a/net/quic/quic_stream_sequencer.cc |
+++ b/net/quic/quic_stream_sequencer.cc |
@@ -25,7 +25,8 @@ QuicStreamSequencer::QuicStreamSequencer(ReliableQuicStream* quic_stream) |
blocked_(false), |
num_bytes_buffered_(0), |
num_frames_received_(0), |
- num_duplicate_frames_received_(0) { |
+ num_duplicate_frames_received_(0), |
+ num_early_frames_received_(0) { |
} |
QuicStreamSequencer::~QuicStreamSequencer() { |
@@ -64,6 +65,10 @@ void QuicStreamSequencer::OnStreamFrame(const QuicStreamFrame& frame) { |
IOVector data; |
data.AppendIovec(frame.data.iovec(), frame.data.Size()); |
+ if (byte_offset > num_bytes_consumed_) { |
+ ++num_early_frames_received_; |
+ } |
+ |
// If the frame has arrived in-order then we can process it immediately, only |
// buffering if the stream is unable to process it. |
if (!blocked_ && byte_offset == num_bytes_consumed_) { |