| Index: net/spdy/hpack/hpack_encoder.h
|
| diff --git a/net/spdy/hpack/hpack_encoder.h b/net/spdy/hpack/hpack_encoder.h
|
| index ce5c9df51ca6653585b09f934f0d2fe01f7efc67..b66ae9248539390624edf6c991a49c7fe018fb31 100644
|
| --- a/net/spdy/hpack/hpack_encoder.h
|
| +++ b/net/spdy/hpack/hpack_encoder.h
|
| @@ -36,6 +36,11 @@ class NET_EXPORT_PRIVATE HpackEncoder {
|
| using Representation = std::pair<base::StringPiece, base::StringPiece>;
|
| using Representations = std::vector<Representation>;
|
|
|
| + // Callers may provide a HeaderListener to be informed of header name-value
|
| + // pairs processed by this encoder.
|
| + typedef std::function<void(base::StringPiece, base::StringPiece)>
|
| + HeaderListener;
|
| +
|
| // An indexing policy should return true if the provided header name-value
|
| // pair should be inserted into the HPACK dynamic table.
|
| using IndexingPolicy =
|
| @@ -73,6 +78,10 @@ class NET_EXPORT_PRIVATE HpackEncoder {
|
| // name-value pairs into the dynamic table.
|
| void SetIndexingPolicy(IndexingPolicy policy) { should_index_ = policy; }
|
|
|
| + // |listener| will be invoked for each header name-value pair processed by
|
| + // this encoder.
|
| + void SetHeaderListener(HeaderListener listener) { listener_ = listener; }
|
| +
|
| void SetHeaderTableDebugVisitor(
|
| std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor) {
|
| header_table_.set_debug_visitor(std::move(visitor));
|
| @@ -114,6 +123,7 @@ class NET_EXPORT_PRIVATE HpackEncoder {
|
|
|
| const HpackHuffmanTable& huffman_table_;
|
| size_t min_table_size_setting_received_;
|
| + HeaderListener listener_;
|
| IndexingPolicy should_index_;
|
| bool allow_huffman_compression_;
|
| bool should_emit_table_size_;
|
|
|