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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
93 | 93 |
94 // Called when a PING frame has been parsed. | 94 // Called when a PING frame has been parsed. |
95 virtual void OnPing(SpdyPingId unique_id, bool is_ack) = 0; | 95 virtual void OnPing(SpdyPingId unique_id, bool is_ack) = 0; |
96 | 96 |
97 // Called when a RST_STREAM frame has been parsed. | 97 // Called when a RST_STREAM frame has been parsed. |
98 virtual void OnRstStream(SpdyStreamId stream_id, | 98 virtual void OnRstStream(SpdyStreamId stream_id, |
99 SpdyRstStreamStatus status) = 0; | 99 SpdyRstStreamStatus status) = 0; |
100 | 100 |
101 // Called when a GOAWAY frame has been parsed. | 101 // Called when a GOAWAY frame has been parsed. |
102 virtual void OnGoAway(SpdyStreamId last_accepted_stream_id, | 102 virtual void OnGoAway(SpdyStreamId last_accepted_stream_id, |
103 SpdyGoAwayStatus status) = 0; | 103 SpdyGoAwayStatus status, |
104 base::StringPiece debug_data) = 0; | |
104 | 105 |
105 // Called when a WINDOW_UPDATE frame has been parsed. | 106 // Called when a WINDOW_UPDATE frame has been parsed. |
106 virtual void OnWindowUpdate(SpdyStreamId stream_id, | 107 virtual void OnWindowUpdate(SpdyStreamId stream_id, |
107 int delta_window_size) = 0; | 108 int delta_window_size) = 0; |
108 | 109 |
109 // Called when a PUSH_PROMISE frame has been parsed. | 110 // Called when a PUSH_PROMISE frame has been parsed. |
110 virtual void OnPushPromise(SpdyStreamId stream_id, | 111 virtual void OnPushPromise(SpdyStreamId stream_id, |
111 SpdyStreamId promised_stream_id, | 112 SpdyStreamId promised_stream_id, |
112 const SpdyHeaderBlock& headers) = 0; | 113 const SpdyHeaderBlock& headers) = 0; |
113 | 114 |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
166 bool fin) override; | 167 bool fin) override; |
167 void OnStreamPadding(SpdyStreamId stream_id, size_t len) override; | 168 void OnStreamPadding(SpdyStreamId stream_id, size_t len) override; |
168 void OnSettings(bool clear_persisted) override; | 169 void OnSettings(bool clear_persisted) override; |
169 void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override; | 170 void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override; |
170 void OnSettingsAck() override; | 171 void OnSettingsAck() override; |
171 void OnSettingsEnd() override; | 172 void OnSettingsEnd() override; |
172 void OnPing(SpdyPingId unique_id, bool is_ack) override; | 173 void OnPing(SpdyPingId unique_id, bool is_ack) override; |
173 void OnRstStream(SpdyStreamId stream_id, SpdyRstStreamStatus status) override; | 174 void OnRstStream(SpdyStreamId stream_id, SpdyRstStreamStatus status) override; |
174 void OnGoAway(SpdyStreamId last_accepted_stream_id, | 175 void OnGoAway(SpdyStreamId last_accepted_stream_id, |
175 SpdyGoAwayStatus status) override; | 176 SpdyGoAwayStatus status) override; |
177 bool OnGoAwayFrameData(const char* goaway_data, size_t len) override; | |
176 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override; | 178 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override; |
177 void OnPushPromise(SpdyStreamId stream_id, | 179 void OnPushPromise(SpdyStreamId stream_id, |
178 SpdyStreamId promised_stream_id, | 180 SpdyStreamId promised_stream_id, |
179 bool end) override; | 181 bool end) override; |
180 void OnDataFrameHeader(SpdyStreamId stream_id, | 182 void OnDataFrameHeader(SpdyStreamId stream_id, |
181 size_t length, | 183 size_t length, |
182 bool fin) override; | 184 bool fin) override; |
183 void OnContinuation(SpdyStreamId stream_id, bool end) override; | 185 void OnContinuation(SpdyStreamId stream_id, bool end) override; |
184 bool OnUnknownFrame(SpdyStreamId stream_id, int frame_type) override; | 186 bool OnUnknownFrame(SpdyStreamId stream_id, int frame_type) override; |
185 | 187 |
(...skipping 10 matching lines...) Expand all Loading... | |
196 SpdyPriority priority, | 198 SpdyPriority priority, |
197 SpdyControlFlags flags, | 199 SpdyControlFlags flags, |
198 const SpdyHeaderBlock* headers); | 200 const SpdyHeaderBlock* headers); |
199 SpdyFrame* CreateSynReply(SpdyStreamId stream_id, | 201 SpdyFrame* CreateSynReply(SpdyStreamId stream_id, |
200 SpdyControlFlags flags, | 202 SpdyControlFlags flags, |
201 const SpdyHeaderBlock* headers); | 203 const SpdyHeaderBlock* headers); |
202 SpdyFrame* CreateRstStream(SpdyStreamId stream_id, | 204 SpdyFrame* CreateRstStream(SpdyStreamId stream_id, |
203 SpdyRstStreamStatus status) const; | 205 SpdyRstStreamStatus status) const; |
204 SpdyFrame* CreateSettings(const SettingsMap& values) const; | 206 SpdyFrame* CreateSettings(const SettingsMap& values) const; |
205 SpdyFrame* CreatePingFrame(SpdyPingId unique_id, bool is_ack) const; | 207 SpdyFrame* CreatePingFrame(SpdyPingId unique_id, bool is_ack) const; |
206 SpdyFrame* CreateGoAway( | 208 SpdyFrame* CreateGoAway(SpdyStreamId last_accepted_stream_id, |
207 SpdyStreamId last_accepted_stream_id, | 209 SpdyGoAwayStatus status, |
208 SpdyGoAwayStatus status) const; | 210 base::StringPiece debug_data) const; |
209 SpdyFrame* CreateHeaders(SpdyStreamId stream_id, | 211 SpdyFrame* CreateHeaders(SpdyStreamId stream_id, |
210 SpdyControlFlags flags, | 212 SpdyControlFlags flags, |
211 SpdyPriority priority, | 213 SpdyPriority priority, |
212 const SpdyHeaderBlock* headers); | 214 const SpdyHeaderBlock* headers); |
213 SpdyFrame* CreateWindowUpdate( | 215 SpdyFrame* CreateWindowUpdate( |
214 SpdyStreamId stream_id, | 216 SpdyStreamId stream_id, |
215 uint32 delta_window_size) const; | 217 uint32 delta_window_size) const; |
216 SpdyFrame* CreateDataFrame(SpdyStreamId stream_id, | 218 SpdyFrame* CreateDataFrame(SpdyStreamId stream_id, |
217 const char* data, | 219 const char* data, |
218 uint32 len, | 220 uint32 len, |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
280 bool has_priority; | 282 bool has_priority; |
281 SpdyPriority priority; | 283 SpdyPriority priority; |
282 SpdyStreamId parent_stream_id; | 284 SpdyStreamId parent_stream_id; |
283 bool exclusive; | 285 bool exclusive; |
284 uint8 credential_slot; | 286 uint8 credential_slot; |
285 bool fin; | 287 bool fin; |
286 bool unidirectional; | 288 bool unidirectional; |
287 }; | 289 }; |
288 scoped_ptr<ControlFrameFields> control_frame_fields_; | 290 scoped_ptr<ControlFrameFields> control_frame_fields_; |
289 | 291 |
292 // Collection of fields of a GOAWAY frame that we need to buffer. | |
eroman
2015/10/06 17:19:41
nit: I see other comments similarly use "we", howe
Bence
2015/10/07 15:18:27
Done.
| |
293 struct GoAwayFields { | |
294 SpdyStreamId last_accepted_stream_id; | |
295 SpdyGoAwayStatus status; | |
296 std::string debug_data; | |
297 }; | |
298 scoped_ptr<GoAwayFields> go_away_fields_; | |
299 | |
290 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); | 300 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); |
291 }; | 301 }; |
292 | 302 |
293 } // namespace net | 303 } // namespace net |
294 | 304 |
295 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ | 305 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ |
OLD | NEW |