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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 virtual void OnStreamFrameData(SpdyStreamId stream_id, | 70 virtual void OnStreamFrameData(SpdyStreamId stream_id, |
71 const char* data, | 71 const char* data, |
72 size_t len, | 72 size_t len, |
73 bool fin) = 0; | 73 bool fin) = 0; |
74 | 74 |
75 // Called when padding is received (padding length field or padding octets). | 75 // Called when padding is received (padding length field or padding octets). |
76 // |stream_id| The stream receiving data. | 76 // |stream_id| The stream receiving data. |
77 // |len| The number of padding octets. | 77 // |len| The number of padding octets. |
78 virtual void OnStreamPadding(SpdyStreamId stream_id, size_t len) = 0; | 78 virtual void OnStreamPadding(SpdyStreamId stream_id, size_t len) = 0; |
79 | 79 |
| 80 // Called just before processing the payload of a frame containing header |
| 81 // data. Should return an implementation of SpdyHeadersHandlerInterface that |
| 82 // will receive headers for stream |stream_id|. The caller will not take |
| 83 // ownership of the headers handler. The same instance should be returned |
| 84 // for all header frames comprising a logical header block (i.e. until |
| 85 // OnHeaderFrameEnd() is called with end_headers == true). |
| 86 virtual SpdyHeadersHandlerInterface* OnHeaderFrameStart( |
| 87 SpdyStreamId stream_id) = 0; |
| 88 |
| 89 // Called after processing the payload of a frame containing header data. |
| 90 // |end_headers| is true if there will not be any subsequent CONTINUATION |
| 91 // frames. |
| 92 virtual void OnHeaderFrameEnd(SpdyStreamId stream_id, bool end_headers) = 0; |
| 93 |
80 // Called when a SETTINGS frame is received. | 94 // Called when a SETTINGS frame is received. |
81 // |clear_persisted| True if the respective flag is set on the SETTINGS frame. | 95 // |clear_persisted| True if the respective flag is set on the SETTINGS frame. |
82 virtual void OnSettings(bool clear_persisted) = 0; | 96 virtual void OnSettings(bool clear_persisted) = 0; |
83 | 97 |
84 // Called when an individual setting within a SETTINGS frame has been parsed | 98 // Called when an individual setting within a SETTINGS frame has been parsed |
85 // and validated. | 99 // and validated. |
86 virtual void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) = 0; | 100 virtual void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) = 0; |
87 | 101 |
88 // Called when a SETTINGS frame is received with the ACK flag set. | 102 // Called when a SETTINGS frame is received with the ACK flag set. |
89 virtual void OnSettingsAck() {} | 103 virtual void OnSettingsAck() {} |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 bool fin, | 173 bool fin, |
160 bool end) override; | 174 bool end) override; |
161 bool OnControlFrameHeaderData(SpdyStreamId stream_id, | 175 bool OnControlFrameHeaderData(SpdyStreamId stream_id, |
162 const char* header_data, | 176 const char* header_data, |
163 size_t len) override; | 177 size_t len) override; |
164 void OnStreamFrameData(SpdyStreamId stream_id, | 178 void OnStreamFrameData(SpdyStreamId stream_id, |
165 const char* data, | 179 const char* data, |
166 size_t len, | 180 size_t len, |
167 bool fin) override; | 181 bool fin) override; |
168 void OnStreamPadding(SpdyStreamId stream_id, size_t len) override; | 182 void OnStreamPadding(SpdyStreamId stream_id, size_t len) override; |
| 183 SpdyHeadersHandlerInterface* OnHeaderFrameStart( |
| 184 SpdyStreamId stream_id) override; |
| 185 void OnHeaderFrameEnd(SpdyStreamId stream_id, bool end_headers) override; |
169 void OnSettings(bool clear_persisted) override; | 186 void OnSettings(bool clear_persisted) override; |
170 void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override; | 187 void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override; |
171 void OnSettingsAck() override; | 188 void OnSettingsAck() override; |
172 void OnSettingsEnd() override; | 189 void OnSettingsEnd() override; |
173 void OnPing(SpdyPingId unique_id, bool is_ack) override; | 190 void OnPing(SpdyPingId unique_id, bool is_ack) override; |
174 void OnRstStream(SpdyStreamId stream_id, SpdyRstStreamStatus status) override; | 191 void OnRstStream(SpdyStreamId stream_id, SpdyRstStreamStatus status) override; |
175 void OnGoAway(SpdyStreamId last_accepted_stream_id, | 192 void OnGoAway(SpdyStreamId last_accepted_stream_id, |
176 SpdyGoAwayStatus status) override; | 193 SpdyGoAwayStatus status) override; |
177 bool OnGoAwayFrameData(const char* goaway_data, size_t len) override; | 194 bool OnGoAwayFrameData(const char* goaway_data, size_t len) override; |
178 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override; | 195 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override; |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 std::string debug_data; | 313 std::string debug_data; |
297 }; | 314 }; |
298 scoped_ptr<GoAwayFields> goaway_fields_; | 315 scoped_ptr<GoAwayFields> goaway_fields_; |
299 | 316 |
300 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); | 317 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); |
301 }; | 318 }; |
302 | 319 |
303 } // namespace net | 320 } // namespace net |
304 | 321 |
305 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ | 322 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ |
OLD | NEW |