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

Unified Diff: net/quic/quic_stream_sequencer.h

Issue 1408803002: relnote: Measure HOL blocking in QUIC headers stream. Flag protected by quic_measure_headers_hol_bl… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@uma_for_hol_merge
Patch Set: get rid of git certs leakage Created 5 years, 2 months 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/quic_headers_stream_test.cc ('k') | net/quic/quic_stream_sequencer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_stream_sequencer.h
diff --git a/net/quic/quic_stream_sequencer.h b/net/quic/quic_stream_sequencer.h
index a1bdd327c644b9f07450b6b034a73eb4abb3782b..c73ed47ec9e336ea6f7d8a352e0a4d03a6aab0fb 100644
--- a/net/quic/quic_stream_sequencer.h
+++ b/net/quic/quic_stream_sequencer.h
@@ -18,6 +18,7 @@ namespace test {
class QuicStreamSequencerPeer;
} // namespace test
+class QuicClock;
class QuicSession;
class ReliableQuicStream;
@@ -25,7 +26,7 @@ class ReliableQuicStream;
// up to the next layer.
class NET_EXPORT_PRIVATE QuicStreamSequencer {
public:
- explicit QuicStreamSequencer(ReliableQuicStream* quic_stream);
+ QuicStreamSequencer(ReliableQuicStream* quic_stream, const QuicClock* clock);
virtual ~QuicStreamSequencer();
// If the frame is the next one we need in order to process in-order data,
@@ -42,6 +43,12 @@ class NET_EXPORT_PRIVATE QuicStreamSequencer {
// number of iovs used. Non-destructive of the underlying data.
int GetReadableRegions(iovec* iov, size_t iov_len) const;
+ // Fills in one iovec with the next readable region. |timestamp| is
+ // data arrived at the sequencer, and is used for measuring head of
+ // line blocking (HOL). Returns false if there is no readable
+ // region available.
+ bool GetReadableRegion(iovec* iov, QuicTime* timestamp) const;
+
// 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
@@ -121,6 +128,9 @@ class NET_EXPORT_PRIVATE QuicStreamSequencer {
// received.
int num_early_frames_received_;
+ // Not owned.
+ const QuicClock* clock_;
+
DISALLOW_COPY_AND_ASSIGN(QuicStreamSequencer);
};
« no previous file with comments | « net/quic/quic_headers_stream_test.cc ('k') | net/quic/quic_stream_sequencer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698