OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_BUFFERED_SPDY_FRAMER_H_ | 5 #ifndef NET_SPDY_BUFFERED_SPDY_FRAMER_H_ |
6 #define NET_SPDY_BUFFERED_SPDY_FRAMER_H_ | 6 #define NET_SPDY_BUFFERED_SPDY_FRAMER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 bool unidirectional, | 42 bool unidirectional, |
43 const SpdyHeaderBlock& headers) = 0; | 43 const SpdyHeaderBlock& headers) = 0; |
44 | 44 |
45 // Called after all the header data for SYN_REPLY control frame is received. | 45 // Called after all the header data for SYN_REPLY control frame is received. |
46 virtual void OnSynReply(SpdyStreamId stream_id, | 46 virtual void OnSynReply(SpdyStreamId stream_id, |
47 bool fin, | 47 bool fin, |
48 const SpdyHeaderBlock& headers) = 0; | 48 const SpdyHeaderBlock& headers) = 0; |
49 | 49 |
50 // Called after all the header data for HEADERS control frame is received. | 50 // Called after all the header data for HEADERS control frame is received. |
51 virtual void OnHeaders(SpdyStreamId stream_id, | 51 virtual void OnHeaders(SpdyStreamId stream_id, |
| 52 bool has_priority, |
| 53 SpdyPriority priority, |
52 bool fin, | 54 bool fin, |
53 const SpdyHeaderBlock& headers) = 0; | 55 const SpdyHeaderBlock& headers) = 0; |
54 | 56 |
55 // Called when a data frame header is received. | 57 // Called when a data frame header is received. |
56 virtual void OnDataFrameHeader(SpdyStreamId stream_id, | 58 virtual void OnDataFrameHeader(SpdyStreamId stream_id, |
57 size_t length, | 59 size_t length, |
58 bool fin) = 0; | 60 bool fin) = 0; |
59 | 61 |
60 // Called when data is received. | 62 // Called when data is received. |
61 // |stream_id| The stream receiving data. | 63 // |stream_id| The stream receiving data. |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 void set_debug_visitor(SpdyFramerDebugVisitorInterface* debug_visitor); | 137 void set_debug_visitor(SpdyFramerDebugVisitorInterface* debug_visitor); |
136 | 138 |
137 // SpdyFramerVisitorInterface | 139 // SpdyFramerVisitorInterface |
138 void OnError(SpdyFramer* spdy_framer) override; | 140 void OnError(SpdyFramer* spdy_framer) override; |
139 void OnSynStream(SpdyStreamId stream_id, | 141 void OnSynStream(SpdyStreamId stream_id, |
140 SpdyStreamId associated_stream_id, | 142 SpdyStreamId associated_stream_id, |
141 SpdyPriority priority, | 143 SpdyPriority priority, |
142 bool fin, | 144 bool fin, |
143 bool unidirectional) override; | 145 bool unidirectional) override; |
144 void OnSynReply(SpdyStreamId stream_id, bool fin) override; | 146 void OnSynReply(SpdyStreamId stream_id, bool fin) override; |
145 void OnHeaders(SpdyStreamId stream_id, bool fin, bool end) override; | 147 void OnHeaders(SpdyStreamId stream_id, |
| 148 bool has_priority, |
| 149 SpdyPriority priority, |
| 150 bool fin, |
| 151 bool end) override; |
146 bool OnControlFrameHeaderData(SpdyStreamId stream_id, | 152 bool OnControlFrameHeaderData(SpdyStreamId stream_id, |
147 const char* header_data, | 153 const char* header_data, |
148 size_t len) override; | 154 size_t len) override; |
149 void OnStreamFrameData(SpdyStreamId stream_id, | 155 void OnStreamFrameData(SpdyStreamId stream_id, |
150 const char* data, | 156 const char* data, |
151 size_t len, | 157 size_t len, |
152 bool fin) override; | 158 bool fin) override; |
153 void OnSettings(bool clear_persisted) override; | 159 void OnSettings(bool clear_persisted) override; |
154 void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override; | 160 void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override; |
155 void OnSettingsAck() override; | 161 void OnSettingsAck() override; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 const SpdyHeaderBlock* headers); | 193 const SpdyHeaderBlock* headers); |
188 SpdyFrame* CreateRstStream(SpdyStreamId stream_id, | 194 SpdyFrame* CreateRstStream(SpdyStreamId stream_id, |
189 SpdyRstStreamStatus status) const; | 195 SpdyRstStreamStatus status) const; |
190 SpdyFrame* CreateSettings(const SettingsMap& values) const; | 196 SpdyFrame* CreateSettings(const SettingsMap& values) const; |
191 SpdyFrame* CreatePingFrame(uint32 unique_id, bool is_ack) const; | 197 SpdyFrame* CreatePingFrame(uint32 unique_id, bool is_ack) const; |
192 SpdyFrame* CreateGoAway( | 198 SpdyFrame* CreateGoAway( |
193 SpdyStreamId last_accepted_stream_id, | 199 SpdyStreamId last_accepted_stream_id, |
194 SpdyGoAwayStatus status) const; | 200 SpdyGoAwayStatus status) const; |
195 SpdyFrame* CreateHeaders(SpdyStreamId stream_id, | 201 SpdyFrame* CreateHeaders(SpdyStreamId stream_id, |
196 SpdyControlFlags flags, | 202 SpdyControlFlags flags, |
| 203 SpdyPriority priority, |
197 const SpdyHeaderBlock* headers); | 204 const SpdyHeaderBlock* headers); |
198 SpdyFrame* CreateWindowUpdate( | 205 SpdyFrame* CreateWindowUpdate( |
199 SpdyStreamId stream_id, | 206 SpdyStreamId stream_id, |
200 uint32 delta_window_size) const; | 207 uint32 delta_window_size) const; |
201 SpdyFrame* CreateDataFrame(SpdyStreamId stream_id, | 208 SpdyFrame* CreateDataFrame(SpdyStreamId stream_id, |
202 const char* data, | 209 const char* data, |
203 uint32 len, | 210 uint32 len, |
204 SpdyDataFlags flags); | 211 SpdyDataFlags flags); |
205 SpdyFrame* CreatePushPromise(SpdyStreamId stream_id, | 212 SpdyFrame* CreatePushPromise(SpdyStreamId stream_id, |
206 SpdyStreamId promised_stream_id, | 213 SpdyStreamId promised_stream_id, |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 SpdyStreamId header_stream_id_; | 262 SpdyStreamId header_stream_id_; |
256 int frames_received_; | 263 int frames_received_; |
257 | 264 |
258 // Collection of fields from control frames that we need to | 265 // Collection of fields from control frames that we need to |
259 // buffer up from the spdy framer. | 266 // buffer up from the spdy framer. |
260 struct ControlFrameFields { | 267 struct ControlFrameFields { |
261 SpdyFrameType type; | 268 SpdyFrameType type; |
262 SpdyStreamId stream_id; | 269 SpdyStreamId stream_id; |
263 SpdyStreamId associated_stream_id; | 270 SpdyStreamId associated_stream_id; |
264 SpdyStreamId promised_stream_id; | 271 SpdyStreamId promised_stream_id; |
| 272 bool has_priority; |
265 SpdyPriority priority; | 273 SpdyPriority priority; |
266 uint8 credential_slot; | 274 uint8 credential_slot; |
267 bool fin; | 275 bool fin; |
268 bool unidirectional; | 276 bool unidirectional; |
269 }; | 277 }; |
270 scoped_ptr<ControlFrameFields> control_frame_fields_; | 278 scoped_ptr<ControlFrameFields> control_frame_fields_; |
271 | 279 |
272 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); | 280 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); |
273 }; | 281 }; |
274 | 282 |
275 } // namespace net | 283 } // namespace net |
276 | 284 |
277 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ | 285 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ |
OLD | NEW |