OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_QUIC_QUIC_HEADERS_STREAM_H_ | 5 #ifndef NET_QUIC_QUIC_HEADERS_STREAM_H_ |
6 #define NET_QUIC_QUIC_HEADERS_STREAM_H_ | 6 #define NET_QUIC_QUIC_HEADERS_STREAM_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 // Called when SETTINGS_ENABLE_PUSH is received, only supported on | 94 // Called when SETTINGS_ENABLE_PUSH is received, only supported on |
95 // server side. | 95 // server side. |
96 void UpdateEnableServerPush(bool value); | 96 void UpdateEnableServerPush(bool value); |
97 | 97 |
98 // Sets how much encoded data the hpack decoder of spdy_framer_ is willing to | 98 // Sets how much encoded data the hpack decoder of spdy_framer_ is willing to |
99 // buffer. | 99 // buffer. |
100 void set_max_decode_buffer_size_bytes(size_t max_decode_buffer_size_bytes) { | 100 void set_max_decode_buffer_size_bytes(size_t max_decode_buffer_size_bytes) { |
101 spdy_framer_.set_max_decode_buffer_size_bytes(max_decode_buffer_size_bytes); | 101 spdy_framer_.set_max_decode_buffer_size_bytes(max_decode_buffer_size_bytes); |
102 } | 102 } |
103 | 103 |
| 104 void set_max_uncompressed_header_bytes( |
| 105 size_t set_max_uncompressed_header_bytes); |
| 106 |
104 private: | 107 private: |
105 friend class test::QuicHeadersStreamPeer; | 108 friend class test::QuicHeadersStreamPeer; |
106 | 109 |
107 class SpdyFramerVisitor; | 110 class SpdyFramerVisitor; |
108 | 111 |
109 // The following methods are called by the SimpleVisitor. | 112 // The following methods are called by the SimpleVisitor. |
110 | 113 |
111 // Called when a HEADERS frame has been received. | 114 // Called when a HEADERS frame has been received. |
112 void OnHeaders(SpdyStreamId stream_id, | 115 void OnHeaders(SpdyStreamId stream_id, |
113 bool has_priority, | 116 bool has_priority, |
(...skipping 15 matching lines...) Expand all Loading... |
129 const char* header_data, | 132 const char* header_data, |
130 size_t len); | 133 size_t len); |
131 | 134 |
132 // Called when the complete list of headers is available. | 135 // Called when the complete list of headers is available. |
133 void OnHeaderList(const QuicHeaderList& header_list); | 136 void OnHeaderList(const QuicHeaderList& header_list); |
134 | 137 |
135 // Called when the size of the compressed frame payload is available. | 138 // Called when the size of the compressed frame payload is available. |
136 void OnCompressedFrameSize(size_t frame_len); | 139 void OnCompressedFrameSize(size_t frame_len); |
137 | 140 |
138 // For force HOL blocking, where stream frames from all streams are | 141 // For force HOL blocking, where stream frames from all streams are |
139 // plumbed through headers stream as HTTP/2 data frames. | 142 // plumbed through headers stream as HTTP/2 data frames. Return false |
140 // The following two return false if force_hol_blocking_ is false. | 143 // if force_hol_blocking_ is false; |
141 bool OnDataFrameHeader(QuicStreamId stream_id, size_t length, bool fin); | 144 bool OnDataFrameHeader(QuicStreamId stream_id, size_t length, bool fin); |
142 bool OnStreamFrameData(QuicStreamId stream_id, const char* data, size_t len); | 145 bool OnStreamFrameData(QuicStreamId stream_id, const char* data, size_t len); |
143 // Helper for |WritevStreamData()|. | |
144 void WriteDataFrame(QuicStreamId stream_id, | |
145 base::StringPiece data, | |
146 bool fin, | |
147 QuicAckListenerInterface* ack_notifier_delegate); | |
148 | 146 |
149 // Returns true if the session is still connected. | 147 // Returns true if the session is still connected. |
150 bool IsConnected(); | 148 bool IsConnected(); |
151 | 149 |
152 QuicSpdySession* spdy_session_; | 150 QuicSpdySession* spdy_session_; |
153 | 151 |
154 // Data about the stream whose headers are being processed. | 152 // Data about the stream whose headers are being processed. |
155 QuicStreamId stream_id_; | 153 QuicStreamId stream_id_; |
156 QuicStreamId promised_stream_id_; | 154 QuicStreamId promised_stream_id_; |
157 bool fin_; | 155 bool fin_; |
(...skipping 13 matching lines...) Expand all Loading... |
171 | 169 |
172 SpdyFramer spdy_framer_; | 170 SpdyFramer spdy_framer_; |
173 std::unique_ptr<SpdyFramerVisitor> spdy_framer_visitor_; | 171 std::unique_ptr<SpdyFramerVisitor> spdy_framer_visitor_; |
174 | 172 |
175 DISALLOW_COPY_AND_ASSIGN(QuicHeadersStream); | 173 DISALLOW_COPY_AND_ASSIGN(QuicHeadersStream); |
176 }; | 174 }; |
177 | 175 |
178 } // namespace net | 176 } // namespace net |
179 | 177 |
180 #endif // NET_QUIC_QUIC_HEADERS_STREAM_H_ | 178 #endif // NET_QUIC_QUIC_HEADERS_STREAM_H_ |
OLD | NEW |