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_CORE_QUIC_HEADERS_STREAM_H_ | 5 #ifndef NET_QUIC_CORE_QUIC_HEADERS_STREAM_H_ |
6 #define NET_QUIC_CORE_QUIC_HEADERS_STREAM_H_ | 6 #define NET_QUIC_CORE_QUIC_HEADERS_STREAM_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 #include "base/macros.h" | 12 #include "base/macros.h" |
13 #include "net/base/net_export.h" | 13 #include "net/base/net_export.h" |
14 #include "net/quic/core/quic_header_list.h" | 14 #include "net/quic/core/quic_header_list.h" |
15 #include "net/quic/core/quic_protocol.h" | 15 #include "net/quic/core/quic_packets.h" |
16 #include "net/quic/core/quic_stream.h" | 16 #include "net/quic/core/quic_stream.h" |
17 #include "net/spdy/spdy_framer.h" | 17 #include "net/spdy/spdy_framer.h" |
18 | 18 |
19 namespace net { | 19 namespace net { |
20 | 20 |
21 class QuicSpdySession; | 21 class QuicSpdySession; |
22 | 22 |
23 namespace test { | 23 namespace test { |
24 class QuicHeadersStreamPeer; | 24 class QuicHeadersStreamPeer; |
25 } // namespace test | 25 } // namespace test |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 SpdyStreamId promised_stream_id, | 125 SpdyStreamId promised_stream_id, |
126 bool end); | 126 bool end); |
127 | 127 |
128 // Called when the complete list of headers is available. | 128 // Called when the complete list of headers is available. |
129 void OnHeaderList(const QuicHeaderList& header_list); | 129 void OnHeaderList(const QuicHeaderList& header_list); |
130 | 130 |
131 // Called when the size of the compressed frame payload is available. | 131 // Called when the size of the compressed frame payload is available. |
132 void OnCompressedFrameSize(size_t frame_len); | 132 void OnCompressedFrameSize(size_t frame_len); |
133 | 133 |
134 // For force HOL blocking, where stream frames from all streams are | 134 // For force HOL blocking, where stream frames from all streams are |
135 // plumbed through headers stream as HTTP/2 data frames. Return false | 135 // plumbed through headers stream as HTTP/2 data frames. |
136 // if force_hol_blocking_ is false; | 136 // The following two return false if force_hol_blocking_ is false. |
137 bool OnDataFrameHeader(QuicStreamId stream_id, size_t length, bool fin); | 137 bool OnDataFrameHeader(QuicStreamId stream_id, size_t length, bool fin); |
138 bool OnStreamFrameData(QuicStreamId stream_id, const char* data, size_t len); | 138 bool OnStreamFrameData(QuicStreamId stream_id, const char* data, size_t len); |
| 139 // Helper for |WritevStreamData()|. |
| 140 void WriteDataFrame(QuicStreamId stream_id, |
| 141 base::StringPiece data, |
| 142 bool fin, |
| 143 QuicAckListenerInterface* ack_notifier_delegate); |
139 | 144 |
140 // Returns true if the session is still connected. | 145 // Returns true if the session is still connected. |
141 bool IsConnected(); | 146 bool IsConnected(); |
142 | 147 |
143 QuicSpdySession* spdy_session_; | 148 QuicSpdySession* spdy_session_; |
144 | 149 |
145 // Data about the stream whose headers are being processed. | 150 // Data about the stream whose headers are being processed. |
146 QuicStreamId stream_id_; | 151 QuicStreamId stream_id_; |
147 QuicStreamId promised_stream_id_; | 152 QuicStreamId promised_stream_id_; |
148 bool fin_; | 153 bool fin_; |
(...skipping 13 matching lines...) Expand all Loading... |
162 | 167 |
163 SpdyFramer spdy_framer_; | 168 SpdyFramer spdy_framer_; |
164 std::unique_ptr<SpdyFramerVisitor> spdy_framer_visitor_; | 169 std::unique_ptr<SpdyFramerVisitor> spdy_framer_visitor_; |
165 | 170 |
166 DISALLOW_COPY_AND_ASSIGN(QuicHeadersStream); | 171 DISALLOW_COPY_AND_ASSIGN(QuicHeadersStream); |
167 }; | 172 }; |
168 | 173 |
169 } // namespace net | 174 } // namespace net |
170 | 175 |
171 #endif // NET_QUIC_CORE_QUIC_HEADERS_STREAM_H_ | 176 #endif // NET_QUIC_CORE_QUIC_HEADERS_STREAM_H_ |
OLD | NEW |