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 <stddef.h> |
| 9 #include <stdint.h> |
| 10 |
8 #include <string> | 11 #include <string> |
9 | 12 |
10 #include "base/basictypes.h" | 13 #include "base/macros.h" |
11 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
12 #include "net/base/net_export.h" | 15 #include "net/base/net_export.h" |
13 #include "net/socket/next_proto.h" | 16 #include "net/socket/next_proto.h" |
14 #include "net/spdy/spdy_framer.h" | 17 #include "net/spdy/spdy_framer.h" |
15 #include "net/spdy/spdy_header_block.h" | 18 #include "net/spdy/spdy_header_block.h" |
16 #include "net/spdy/spdy_protocol.h" | 19 #include "net/spdy/spdy_protocol.h" |
17 | 20 |
18 namespace net { | 21 namespace net { |
19 | 22 |
20 // Returns the SPDY major version corresponding to the given NextProto | 23 // Returns the SPDY major version corresponding to the given NextProto |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 // |end_headers| is true if there will not be any subsequent CONTINUATION | 93 // |end_headers| is true if there will not be any subsequent CONTINUATION |
91 // frames. | 94 // frames. |
92 virtual void OnHeaderFrameEnd(SpdyStreamId stream_id, bool end_headers) = 0; | 95 virtual void OnHeaderFrameEnd(SpdyStreamId stream_id, bool end_headers) = 0; |
93 | 96 |
94 // Called when a SETTINGS frame is received. | 97 // Called when a SETTINGS frame is received. |
95 // |clear_persisted| True if the respective flag is set on the SETTINGS frame. | 98 // |clear_persisted| True if the respective flag is set on the SETTINGS frame. |
96 virtual void OnSettings(bool clear_persisted) = 0; | 99 virtual void OnSettings(bool clear_persisted) = 0; |
97 | 100 |
98 // Called when an individual setting within a SETTINGS frame has been parsed | 101 // Called when an individual setting within a SETTINGS frame has been parsed |
99 // and validated. | 102 // and validated. |
100 virtual void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) = 0; | 103 virtual void OnSetting(SpdySettingsIds id, uint8_t flags, uint32_t value) = 0; |
101 | 104 |
102 // Called when a SETTINGS frame is received with the ACK flag set. | 105 // Called when a SETTINGS frame is received with the ACK flag set. |
103 virtual void OnSettingsAck() {} | 106 virtual void OnSettingsAck() {} |
104 | 107 |
105 // Called at the completion of parsing SETTINGS id and value tuples. | 108 // Called at the completion of parsing SETTINGS id and value tuples. |
106 virtual void OnSettingsEnd() {} | 109 virtual void OnSettingsEnd() {} |
107 | 110 |
108 // Called when a PING frame has been parsed. | 111 // Called when a PING frame has been parsed. |
109 virtual void OnPing(SpdyPingId unique_id, bool is_ack) = 0; | 112 virtual void OnPing(SpdyPingId unique_id, bool is_ack) = 0; |
110 | 113 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 size_t len) override; | 180 size_t len) override; |
178 void OnStreamFrameData(SpdyStreamId stream_id, | 181 void OnStreamFrameData(SpdyStreamId stream_id, |
179 const char* data, | 182 const char* data, |
180 size_t len, | 183 size_t len, |
181 bool fin) override; | 184 bool fin) override; |
182 void OnStreamPadding(SpdyStreamId stream_id, size_t len) override; | 185 void OnStreamPadding(SpdyStreamId stream_id, size_t len) override; |
183 SpdyHeadersHandlerInterface* OnHeaderFrameStart( | 186 SpdyHeadersHandlerInterface* OnHeaderFrameStart( |
184 SpdyStreamId stream_id) override; | 187 SpdyStreamId stream_id) override; |
185 void OnHeaderFrameEnd(SpdyStreamId stream_id, bool end_headers) override; | 188 void OnHeaderFrameEnd(SpdyStreamId stream_id, bool end_headers) override; |
186 void OnSettings(bool clear_persisted) override; | 189 void OnSettings(bool clear_persisted) override; |
187 void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override; | 190 void OnSetting(SpdySettingsIds id, uint8_t flags, uint32_t value) override; |
188 void OnSettingsAck() override; | 191 void OnSettingsAck() override; |
189 void OnSettingsEnd() override; | 192 void OnSettingsEnd() override; |
190 void OnPing(SpdyPingId unique_id, bool is_ack) override; | 193 void OnPing(SpdyPingId unique_id, bool is_ack) override; |
191 void OnRstStream(SpdyStreamId stream_id, SpdyRstStreamStatus status) override; | 194 void OnRstStream(SpdyStreamId stream_id, SpdyRstStreamStatus status) override; |
192 void OnGoAway(SpdyStreamId last_accepted_stream_id, | 195 void OnGoAway(SpdyStreamId last_accepted_stream_id, |
193 SpdyGoAwayStatus status) override; | 196 SpdyGoAwayStatus status) override; |
194 bool OnGoAwayFrameData(const char* goaway_data, size_t len) override; | 197 bool OnGoAwayFrameData(const char* goaway_data, size_t len) override; |
195 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override; | 198 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override; |
196 void OnPushPromise(SpdyStreamId stream_id, | 199 void OnPushPromise(SpdyStreamId stream_id, |
197 SpdyStreamId promised_stream_id, | 200 SpdyStreamId promised_stream_id, |
(...skipping 24 matching lines...) Expand all Loading... |
222 SpdyRstStreamStatus status) const; | 225 SpdyRstStreamStatus status) const; |
223 SpdyFrame* CreateSettings(const SettingsMap& values) const; | 226 SpdyFrame* CreateSettings(const SettingsMap& values) const; |
224 SpdyFrame* CreatePingFrame(SpdyPingId unique_id, bool is_ack) const; | 227 SpdyFrame* CreatePingFrame(SpdyPingId unique_id, bool is_ack) const; |
225 SpdyFrame* CreateGoAway(SpdyStreamId last_accepted_stream_id, | 228 SpdyFrame* CreateGoAway(SpdyStreamId last_accepted_stream_id, |
226 SpdyGoAwayStatus status, | 229 SpdyGoAwayStatus status, |
227 base::StringPiece debug_data) const; | 230 base::StringPiece debug_data) const; |
228 SpdyFrame* CreateHeaders(SpdyStreamId stream_id, | 231 SpdyFrame* CreateHeaders(SpdyStreamId stream_id, |
229 SpdyControlFlags flags, | 232 SpdyControlFlags flags, |
230 SpdyPriority priority, | 233 SpdyPriority priority, |
231 const SpdyHeaderBlock* headers); | 234 const SpdyHeaderBlock* headers); |
232 SpdyFrame* CreateWindowUpdate( | 235 SpdyFrame* CreateWindowUpdate(SpdyStreamId stream_id, |
233 SpdyStreamId stream_id, | 236 uint32_t delta_window_size) const; |
234 uint32 delta_window_size) const; | |
235 SpdyFrame* CreateDataFrame(SpdyStreamId stream_id, | 237 SpdyFrame* CreateDataFrame(SpdyStreamId stream_id, |
236 const char* data, | 238 const char* data, |
237 uint32 len, | 239 uint32_t len, |
238 SpdyDataFlags flags); | 240 SpdyDataFlags flags); |
239 SpdyFrame* CreatePushPromise(SpdyStreamId stream_id, | 241 SpdyFrame* CreatePushPromise(SpdyStreamId stream_id, |
240 SpdyStreamId promised_stream_id, | 242 SpdyStreamId promised_stream_id, |
241 const SpdyHeaderBlock* headers); | 243 const SpdyHeaderBlock* headers); |
242 | 244 |
243 // Serialize a frame of unknown type. | 245 // Serialize a frame of unknown type. |
244 SpdySerializedFrame* SerializeFrame(const SpdyFrameIR& frame) { | 246 SpdySerializedFrame* SerializeFrame(const SpdyFrameIR& frame) { |
245 return spdy_framer_.SerializeFrame(frame); | 247 return spdy_framer_.SerializeFrame(frame); |
246 } | 248 } |
247 | 249 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 std::string debug_data; | 314 std::string debug_data; |
313 }; | 315 }; |
314 scoped_ptr<GoAwayFields> goaway_fields_; | 316 scoped_ptr<GoAwayFields> goaway_fields_; |
315 | 317 |
316 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); | 318 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); |
317 }; | 319 }; |
318 | 320 |
319 } // namespace net | 321 } // namespace net |
320 | 322 |
321 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ | 323 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ |
OLD | NEW |