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

Unified Diff: net/spdy/hpack/hpack_decoder_interface.h

Issue 2644683002: Add HpackDecoder3, an adapter using HpackDecoder (in net/http2/hpack/decoder). (Closed)
Patch Set: Nits. Created 3 years, 11 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/spdy/hpack/hpack_decoder3_test.cc ('k') | net/spdy/hpack/hpack_decoder_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/hpack/hpack_decoder_interface.h
diff --git a/net/spdy/hpack/hpack_decoder_interface.h b/net/spdy/hpack/hpack_decoder_interface.h
index 8adb62ffd97a330f89a55c6cb1d8151499633bb0..1103e3198fb0b1d2b0205eb3fbfb131c298122ad 100644
--- a/net/spdy/hpack/hpack_decoder_interface.h
+++ b/net/spdy/hpack/hpack_decoder_interface.h
@@ -28,11 +28,13 @@ class NET_EXPORT_PRIVATE HpackDecoderInterface {
// If a SpdyHeadersHandlerInterface is provided, the decoder will emit
// headers to it rather than accumulating them in a SpdyHeaderBlock.
+ // Does not take ownership of the handler, but does use the pointer until
+ // the current HPACK block is completely decoded.
virtual void HandleControlFrameHeadersStart(
SpdyHeadersHandlerInterface* handler) = 0;
// Called as HPACK block fragments arrive. Returns false if an error occurred
- // while decoding the block.
+ // while decoding the block. Does not take ownership of headers_data.
virtual bool HandleControlFrameHeadersData(const char* headers_data,
size_t headers_data_length) = 0;
@@ -57,6 +59,11 @@ class NET_EXPORT_PRIVATE HpackDecoderInterface {
std::unique_ptr<HpackHeaderTable::DebugVisitorInterface> visitor) = 0;
// Set how much encoded data this decoder is willing to buffer.
+ // TODO(jamessynge): Resolve definition of this value, as it is currently
+ // too tied to a single implementation. We probably want to limit one or more
+ // of these: individual name or value strings, header entries, the entire
+ // header list, or the HPACK block; we probably shouldn't care about the size
+ // of individual transport buffers.
virtual void set_max_decode_buffer_size_bytes(
size_t max_decode_buffer_size_bytes) = 0;
};
« no previous file with comments | « net/spdy/hpack/hpack_decoder3_test.cc ('k') | net/spdy/hpack/hpack_decoder_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698