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

Unified Diff: net/quic/quic_frame_list.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_flags.cc ('k') | net/quic/quic_frame_list.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_frame_list.h
diff --git a/net/quic/quic_frame_list.h b/net/quic/quic_frame_list.h
index 55ee80433d7cc103d4051f27c175d0b78d46e6f6..7491cb74d7ae5df38db755430ee78291c41d5077 100644
--- a/net/quic/quic_frame_list.h
+++ b/net/quic/quic_frame_list.h
@@ -22,10 +22,13 @@ class NET_EXPORT_PRIVATE QuicFrameList {
public:
// A contiguous segment received by a QUIC stream.
struct FrameData {
- FrameData(QuicStreamOffset offset, string segment);
+ FrameData(QuicStreamOffset offset,
+ string segment,
+ const QuicTime timestamp);
const QuicStreamOffset offset;
string segment;
+ const QuicTime timestamp;
};
explicit QuicFrameList();
@@ -38,14 +41,16 @@ class NET_EXPORT_PRIVATE QuicFrameList {
// Returns true if there is nothing to read in this buffer.
bool Empty() const { return frame_list_.empty(); }
- // Write the supplied data to this buffer. If the write was successful,
- // return the number of bytes written in |bytes_written|.
- // Return QUIC_INVALID_STREAM_DATA if |data| overlaps with existing data.
- // No data will be written.
- // Return QUIC_NO_ERROR, if |data| is duplicated with data written previously,
- // and |bytes_written| = 0
+ // Write the supplied data to this buffer. |timestamp| is used for
+ // measuring head of line (HOL) blocking. If the write was
+ // successful, return the number of bytes written in
+ // |bytes_written|. Return QUIC_INVALID_STREAM_DATA if |data|
+ // overlaps with existing data. No data will be written. Return
+ // QUIC_NO_ERROR, if |data| is duplicated with data written
+ // previously, and |bytes_written| = 0
QuicErrorCode WriteAtOffset(QuicStreamOffset offset,
StringPiece data,
+ QuicTime timestamp,
size_t* bytes_written);
// Read from this buffer into given iovec array, upto number of iov_len iovec
@@ -63,6 +68,12 @@ class NET_EXPORT_PRIVATE QuicFrameList {
// iov_size of them.
int GetReadableRegions(struct iovec* iov, int 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;
+
// Called after GetReadableRegions() to accumulate total_bytes_read_ and free
// up block when all data in it have been read out.
// Pre-requisite: bytes_used <= ReadableBytes()
« no previous file with comments | « net/quic/quic_flags.cc ('k') | net/quic/quic_frame_list.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698