| Index: net/quic/quic_headers_stream.h
|
| diff --git a/net/quic/quic_headers_stream.h b/net/quic/quic_headers_stream.h
|
| index ffa5ecdd7c563d74f27cde650d9e8184f5dd9cb4..ac78b5daf2862b3662f1a0a9885ca6c5c6ed6050 100644
|
| --- a/net/quic/quic_headers_stream.h
|
| +++ b/net/quic/quic_headers_stream.h
|
| @@ -26,6 +26,21 @@ class QuicSpdySession;
|
| // to send and receive headers.
|
| class NET_EXPORT_PRIVATE QuicHeadersStream : public ReliableQuicStream {
|
| public:
|
| + class NET_EXPORT_PRIVATE HpackDebugVisitor {
|
| + public:
|
| + HpackDebugVisitor();
|
| +
|
| + virtual ~HpackDebugVisitor();
|
| +
|
| + // For each HPACK indexed representation processed, |elapsed| is
|
| + // the time since the corresponding entry was added to the dynamic
|
| + // table.
|
| + virtual void OnUseEntry(QuicTime::Delta elapsed) = 0;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(HpackDebugVisitor);
|
| + };
|
| +
|
| explicit QuicHeadersStream(QuicSpdySession* session);
|
| ~QuicHeadersStream() override;
|
|
|
| @@ -56,6 +71,10 @@ class NET_EXPORT_PRIVATE QuicHeadersStream : public ReliableQuicStream {
|
| // induced HOL blocking in QUIC.
|
| void DisableHpackDynamicTable();
|
|
|
| + // Optional, enables instrumentation related to go/quic-hpack.
|
| + void SetHpackEncoderDebugVisitor(std::unique_ptr<HpackDebugVisitor> visitor);
|
| + void SetHpackDecoderDebugVisitor(std::unique_ptr<HpackDebugVisitor> visitor);
|
| +
|
| private:
|
| class SpdyFramerVisitor;
|
|
|
|
|