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 | |
94 // Called when a SETTINGS frame is received. | 80 // Called when a SETTINGS frame is received. |
95 // |clear_persisted| True if the respective flag is set on the SETTINGS frame. | 81 // |clear_persisted| True if the respective flag is set on the SETTINGS frame. |
96 virtual void OnSettings(bool clear_persisted) = 0; | 82 virtual void OnSettings(bool clear_persisted) = 0; |
97 | 83 |
98 // Called when an individual setting within a SETTINGS frame has been parsed | 84 // Called when an individual setting within a SETTINGS frame has been parsed |
99 // and validated. | 85 // and validated. |
100 virtual void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) = 0; | 86 virtual void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) = 0; |
101 | 87 |
102 // Called when a SETTINGS frame is received with the ACK flag set. | 88 // Called when a SETTINGS frame is received with the ACK flag set. |
103 virtual void OnSettingsAck() {} | 89 virtual void OnSettingsAck() {} |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 bool fin, | 159 bool fin, |
174 bool end) override; | 160 bool end) override; |
175 bool OnControlFrameHeaderData(SpdyStreamId stream_id, | 161 bool OnControlFrameHeaderData(SpdyStreamId stream_id, |
176 const char* header_data, | 162 const char* header_data, |
177 size_t len) override; | 163 size_t len) override; |
178 void OnStreamFrameData(SpdyStreamId stream_id, | 164 void OnStreamFrameData(SpdyStreamId stream_id, |
179 const char* data, | 165 const char* data, |
180 size_t len, | 166 size_t len, |
181 bool fin) override; | 167 bool fin) override; |
182 void OnStreamPadding(SpdyStreamId stream_id, size_t len) override; | 168 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; | |
186 void OnSettings(bool clear_persisted) override; | 169 void OnSettings(bool clear_persisted) override; |
187 void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override; | 170 void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override; |
188 void OnSettingsAck() override; | 171 void OnSettingsAck() override; |
189 void OnSettingsEnd() override; | 172 void OnSettingsEnd() override; |
190 void OnPing(SpdyPingId unique_id, bool is_ack) override; | 173 void OnPing(SpdyPingId unique_id, bool is_ack) override; |
191 void OnRstStream(SpdyStreamId stream_id, SpdyRstStreamStatus status) override; | 174 void OnRstStream(SpdyStreamId stream_id, SpdyRstStreamStatus status) override; |
192 void OnGoAway(SpdyStreamId last_accepted_stream_id, | 175 void OnGoAway(SpdyStreamId last_accepted_stream_id, |
193 SpdyGoAwayStatus status) override; | 176 SpdyGoAwayStatus status) override; |
194 bool OnGoAwayFrameData(const char* goaway_data, size_t len) override; | 177 bool OnGoAwayFrameData(const char* goaway_data, size_t len) override; |
195 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override; | 178 void OnWindowUpdate(SpdyStreamId stream_id, int delta_window_size) override; |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 std::string debug_data; | 296 std::string debug_data; |
314 }; | 297 }; |
315 scoped_ptr<GoAwayFields> goaway_fields_; | 298 scoped_ptr<GoAwayFields> goaway_fields_; |
316 | 299 |
317 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); | 300 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); |
318 }; | 301 }; |
319 | 302 |
320 } // namespace net | 303 } // namespace net |
321 | 304 |
322 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ | 305 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ |
OLD | NEW |