| 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 |