OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_SPDY_CORE_HPACK_HPACK_DECODER_INTERFACE_H_ | 5 #ifndef NET_SPDY_CORE_HPACK_HPACK_DECODER_INTERFACE_H_ |
6 #define NET_SPDY_CORE_HPACK_HPACK_DECODER_INTERFACE_H_ | 6 #define NET_SPDY_CORE_HPACK_HPACK_DECODER_INTERFACE_H_ |
7 | 7 |
8 // HpackDecoderInterface is the base class for HPACK block decoders. | 8 // HpackDecoderInterface is the base class for HPACK block decoders. |
9 // HPACK is defined in http://tools.ietf.org/html/rfc7541 | 9 // HPACK is defined in http://tools.ietf.org/html/rfc7541 |
10 | 10 |
11 #include <stddef.h> | 11 #include <stddef.h> |
12 | 12 |
13 #include <memory> | 13 #include <memory> |
14 | 14 |
15 #include "net/base/net_export.h" | |
16 #include "net/spdy/core/hpack/hpack_header_table.h" | 15 #include "net/spdy/core/hpack/hpack_header_table.h" |
17 #include "net/spdy/core/spdy_header_block.h" | 16 #include "net/spdy/core/spdy_header_block.h" |
18 #include "net/spdy/core/spdy_headers_handler_interface.h" | 17 #include "net/spdy/core/spdy_headers_handler_interface.h" |
| 18 #include "net/spdy/platform/api/spdy_export.h" |
19 | 19 |
20 namespace net { | 20 namespace net { |
21 | 21 |
22 class NET_EXPORT_PRIVATE HpackDecoderInterface { | 22 class SPDY_EXPORT_PRIVATE HpackDecoderInterface { |
23 public: | 23 public: |
24 virtual ~HpackDecoderInterface() {} | 24 virtual ~HpackDecoderInterface() {} |
25 | 25 |
26 // Called upon acknowledgement of SETTINGS_HEADER_TABLE_SIZE. | 26 // Called upon acknowledgement of SETTINGS_HEADER_TABLE_SIZE. |
27 virtual void ApplyHeaderTableSizeSetting(size_t size_setting) = 0; | 27 virtual void ApplyHeaderTableSizeSetting(size_t size_setting) = 0; |
28 | 28 |
29 // If a SpdyHeadersHandlerInterface is provided, the decoder will emit | 29 // If a SpdyHeadersHandlerInterface is provided, the decoder will emit |
30 // headers to it rather than accumulating them in a SpdyHeaderBlock. | 30 // headers to it rather than accumulating them in a SpdyHeaderBlock. |
31 // Does not take ownership of the handler, but does use the pointer until | 31 // Does not take ownership of the handler, but does use the pointer until |
32 // the current HPACK block is completely decoded. | 32 // the current HPACK block is completely decoded. |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 virtual void set_max_decode_buffer_size_bytes( | 67 virtual void set_max_decode_buffer_size_bytes( |
68 size_t max_decode_buffer_size_bytes) = 0; | 68 size_t max_decode_buffer_size_bytes) = 0; |
69 | 69 |
70 // Returns the estimate of dynamically allocated memory in bytes. | 70 // Returns the estimate of dynamically allocated memory in bytes. |
71 virtual size_t EstimateMemoryUsage() const = 0; | 71 virtual size_t EstimateMemoryUsage() const = 0; |
72 }; | 72 }; |
73 | 73 |
74 } // namespace net | 74 } // namespace net |
75 | 75 |
76 #endif // NET_SPDY_CORE_HPACK_HPACK_DECODER_INTERFACE_H_ | 76 #endif // NET_SPDY_CORE_HPACK_HPACK_DECODER_INTERFACE_H_ |
OLD | NEW |