Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(761)

Side by Side Diff: net/spdy/buffered_spdy_framer.h

Issue 959743002: Account for HTTP/2 padding in receive windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: One more mock implementation. Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/quic_headers_stream_test.cc ('k') | net/spdy/buffered_spdy_framer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 // |data| A buffer containing the data received. 64 // |data| A buffer containing the data received.
65 // |len| The length of the data buffer (at most 2^24 - 1 for SPDY/3, 65 // |len| The length of the data buffer (at most 2^24 - 1 for SPDY/3,
66 // but 2^16 - 1 - 8 for SPDY/4). 66 // but 2^16 - 1 - 8 for SPDY/4).
67 // When the other side has finished sending data on this stream, 67 // When the other side has finished sending data on this stream,
68 // this method will be called with a zero-length buffer. 68 // this method will be called with a zero-length buffer.
69 virtual void OnStreamFrameData(SpdyStreamId stream_id, 69 virtual void OnStreamFrameData(SpdyStreamId stream_id,
70 const char* data, 70 const char* data,
71 size_t len, 71 size_t len,
72 bool fin) = 0; 72 bool fin) = 0;
73 73
74 // Called when padding is received (padding length field or padding octets).
75 // |stream_id| The stream receiving data.
76 // |len| The number of padding octets.
77 virtual void OnStreamPadding(SpdyStreamId stream_id, size_t len) = 0;
78
74 // Called when a SETTINGS frame is received. 79 // Called when a SETTINGS frame is received.
75 // |clear_persisted| True if the respective flag is set on the SETTINGS frame. 80 // |clear_persisted| True if the respective flag is set on the SETTINGS frame.
76 virtual void OnSettings(bool clear_persisted) = 0; 81 virtual void OnSettings(bool clear_persisted) = 0;
77 82
78 // Called when an individual setting within a SETTINGS frame has been parsed 83 // Called when an individual setting within a SETTINGS frame has been parsed
79 // and validated. 84 // and validated.
80 virtual void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) = 0; 85 virtual void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) = 0;
81 86
82 // Called when a SETTINGS frame is received with the ACK flag set. 87 // Called when a SETTINGS frame is received with the ACK flag set.
83 virtual void OnSettingsAck() {} 88 virtual void OnSettingsAck() {}
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 SpdyPriority priority, 154 SpdyPriority priority,
150 bool fin, 155 bool fin,
151 bool end) override; 156 bool end) override;
152 bool OnControlFrameHeaderData(SpdyStreamId stream_id, 157 bool OnControlFrameHeaderData(SpdyStreamId stream_id,
153 const char* header_data, 158 const char* header_data,
154 size_t len) override; 159 size_t len) override;
155 void OnStreamFrameData(SpdyStreamId stream_id, 160 void OnStreamFrameData(SpdyStreamId stream_id,
156 const char* data, 161 const char* data,
157 size_t len, 162 size_t len,
158 bool fin) override; 163 bool fin) override;
164 void OnStreamPadding(SpdyStreamId stream_id, size_t len) override;
159 void OnSettings(bool clear_persisted) override; 165 void OnSettings(bool clear_persisted) override;
160 void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override; 166 void OnSetting(SpdySettingsIds id, uint8 flags, uint32 value) override;
161 void OnSettingsAck() override; 167 void OnSettingsAck() override;
162 void OnSettingsEnd() override; 168 void OnSettingsEnd() override;
163 void OnPing(SpdyPingId unique_id, bool is_ack) override; 169 void OnPing(SpdyPingId unique_id, bool is_ack) override;
164 void OnRstStream(SpdyStreamId stream_id, SpdyRstStreamStatus status) override; 170 void OnRstStream(SpdyStreamId stream_id, SpdyRstStreamStatus status) override;
165 void OnGoAway(SpdyStreamId last_accepted_stream_id, 171 void OnGoAway(SpdyStreamId last_accepted_stream_id,
166 SpdyGoAwayStatus status) override; 172 SpdyGoAwayStatus status) override;
167 void OnWindowUpdate(SpdyStreamId stream_id, 173 void OnWindowUpdate(SpdyStreamId stream_id,
168 uint32 delta_window_size) override; 174 uint32 delta_window_size) override;
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 bool unidirectional; 282 bool unidirectional;
277 }; 283 };
278 scoped_ptr<ControlFrameFields> control_frame_fields_; 284 scoped_ptr<ControlFrameFields> control_frame_fields_;
279 285
280 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer); 286 DISALLOW_COPY_AND_ASSIGN(BufferedSpdyFramer);
281 }; 287 };
282 288
283 } // namespace net 289 } // namespace net
284 290
285 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_ 291 #endif // NET_SPDY_BUFFERED_SPDY_FRAMER_H_
OLDNEW
« no previous file with comments | « net/quic/quic_headers_stream_test.cc ('k') | net/spdy/buffered_spdy_framer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698