| Index: net/spdy/spdy_framer.h
|
| diff --git a/net/spdy/spdy_framer.h b/net/spdy/spdy_framer.h
|
| index 3745275f3fc5a1e2b1c569ba6b7d2f4273ccbcc0..6c315647673da2f2d6f15fcce0e06201b937d027 100644
|
| --- a/net/spdy/spdy_framer.h
|
| +++ b/net/spdy/spdy_framer.h
|
| @@ -20,6 +20,7 @@
|
| #include "net/spdy/hpack/hpack_encoder.h"
|
| #include "net/spdy/spdy_alt_svc_wire_format.h"
|
| #include "net/spdy/spdy_header_block.h"
|
| +#include "net/spdy/spdy_headers_block_parser.h"
|
| #include "net/spdy/spdy_protocol.h"
|
|
|
| typedef struct z_stream_s z_stream; // Forward declaration for zlib.
|
| @@ -127,9 +128,9 @@ class NET_EXPORT_PRIVATE SpdyFramerVisitorInterface {
|
| // Called just before processing the payload of a frame containing header
|
| // data. Should return an implementation of SpdyHeadersHandlerInterface that
|
| // will receive headers for stream |stream_id|. The caller will not take
|
| - // ownership of the headers handler. The same instance should be returned
|
| - // for all header frames comprising a logical header block (i.e. until
|
| - // OnHeaderFrameEnd() is called with end_headers == true).
|
| + // ownership of the headers handler. The same instance should remain live
|
| + // and be returned for all header frames comprising a logical header block
|
| + // (i.e. until OnHeaderFrameEnd() is called with end_headers == true).
|
| virtual SpdyHeadersHandlerInterface* OnHeaderFrameStart(
|
| SpdyStreamId stream_id) = 0;
|
|
|
| @@ -338,6 +339,7 @@ class NET_EXPORT_PRIVATE SpdyFramer {
|
| SPDY_INVALID_DATA_FRAME_FLAGS, // Data frame has invalid flags.
|
| SPDY_INVALID_CONTROL_FRAME_FLAGS, // Control frame has invalid flags.
|
| SPDY_UNEXPECTED_FRAME, // Frame received out of order.
|
| + SPDY_INTERNAL_FRAMER_ERROR, // SpdyFramer was used incorrectly.
|
| SPDY_INVALID_CONTROL_FRAME_SIZE, // Control frame not sized to spec
|
|
|
| LAST_ERROR, // Must be the last entry in the enum.
|
| @@ -574,6 +576,7 @@ class NET_EXPORT_PRIVATE SpdyFramer {
|
| size_t header_encoder_table_size() const;
|
|
|
| protected:
|
| + friend class BufferedSpdyFramer;
|
| friend class HttpNetworkLayer; // This is temporary for the server.
|
| friend class HttpNetworkTransactionTest;
|
| friend class HttpProxyClientSocketPoolTest;
|
| @@ -773,6 +776,9 @@ class NET_EXPORT_PRIVATE SpdyFramer {
|
| SpdyFramerVisitorInterface* visitor_;
|
| SpdyFramerDebugVisitorInterface* debug_visitor_;
|
|
|
| + std::unique_ptr<SpdyHeadersBlockParser> header_parser_;
|
| + SpdyHeadersHandlerInterface* header_handler_;
|
| +
|
| std::string display_protocol_;
|
|
|
| // The protocol version to be spoken/understood by this framer.
|
|
|