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