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

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

Issue 9618002: SPDY - integration of spdy/3 code. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 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 | Annotate | Revision Log
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 #include "net/spdy/buffered_spdy_framer.h" 5 #include "net/spdy/buffered_spdy_framer.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 8
9 namespace spdy { 9 namespace spdy {
10 10
11 BufferedSpdyFramer::BufferedSpdyFramer(int version) 11 BufferedSpdyFramer::BufferedSpdyFramer(int version)
12 : spdy_framer_(), 12 : spdy_framer_(version),
13 visitor_(NULL), 13 visitor_(NULL),
14 header_buffer_used_(0), 14 header_buffer_used_(0),
15 header_buffer_valid_(false), 15 header_buffer_valid_(false),
16 header_stream_id_(SpdyFramer::kInvalidStream), 16 header_stream_id_(SpdyFramer::kInvalidStream),
17 frames_received_(0) { 17 frames_received_(0) {
18 memset(header_buffer_, 0, sizeof(header_buffer_)); 18 memset(header_buffer_, 0, sizeof(header_buffer_));
19 } 19 }
20 20
21 BufferedSpdyFramer::~BufferedSpdyFramer() { 21 BufferedSpdyFramer::~BufferedSpdyFramer() {
22 } 22 }
(...skipping 19 matching lines...) Expand all
42 break; 42 break;
43 case GOAWAY: 43 case GOAWAY:
44 visitor_->OnGoAway( 44 visitor_->OnGoAway(
45 *reinterpret_cast<const spdy::SpdyGoAwayControlFrame*>(frame)); 45 *reinterpret_cast<const spdy::SpdyGoAwayControlFrame*>(frame));
46 break; 46 break;
47 case PING: 47 case PING:
48 visitor_->OnPing( 48 visitor_->OnPing(
49 *reinterpret_cast<const spdy::SpdyPingControlFrame*>(frame)); 49 *reinterpret_cast<const spdy::SpdyPingControlFrame*>(frame));
50 break; 50 break;
51 case SETTINGS: 51 case SETTINGS:
52 visitor_->OnSettings(
53 *reinterpret_cast<const spdy::SpdySettingsControlFrame*>(frame));
54 break; 52 break;
55 case RST_STREAM: 53 case RST_STREAM:
56 visitor_->OnRstStream( 54 visitor_->OnRstStream(
57 *reinterpret_cast<const spdy::SpdyRstStreamControlFrame*>(frame)); 55 *reinterpret_cast<const spdy::SpdyRstStreamControlFrame*>(frame));
58 break; 56 break;
59 case spdy::WINDOW_UPDATE: 57 case spdy::WINDOW_UPDATE:
60 visitor_->OnWindowUpdate( 58 visitor_->OnWindowUpdate(
61 *reinterpret_cast<const spdy::SpdyWindowUpdateControlFrame*>(frame)); 59 *reinterpret_cast<const spdy::SpdyWindowUpdateControlFrame*>(frame));
62 break; 60 break;
63 default: 61 default:
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 frames_received_++; 127 frames_received_++;
130 header_stream_id_ = frame->stream_id(); 128 header_stream_id_ = frame->stream_id();
131 } 129 }
132 130
133 void BufferedSpdyFramer::OnStreamFrameData(SpdyStreamId stream_id, 131 void BufferedSpdyFramer::OnStreamFrameData(SpdyStreamId stream_id,
134 const char* data, 132 const char* data,
135 size_t len) { 133 size_t len) {
136 visitor_->OnStreamFrameData(stream_id, data, len); 134 visitor_->OnStreamFrameData(stream_id, data, len);
137 } 135 }
138 136
137 void BufferedSpdyFramer::OnSetting(SpdySettingsIds id,
138 uint8 flags,
139 uint32 value) {
140 visitor_->OnSetting(id, flags, value);
141 }
142
139 int BufferedSpdyFramer::protocol_version() { 143 int BufferedSpdyFramer::protocol_version() {
140 return spdy_framer_.protocol_version(); 144 return spdy_framer_.protocol_version();
141 } 145 }
142 146
143 size_t BufferedSpdyFramer::ProcessInput(const char* data, size_t len) { 147 size_t BufferedSpdyFramer::ProcessInput(const char* data, size_t len) {
144 return spdy_framer_.ProcessInput(data, len); 148 return spdy_framer_.ProcessInput(data, len);
145 } 149 }
146 150
147 void BufferedSpdyFramer::Reset() { 151 void BufferedSpdyFramer::Reset() {
148 spdy_framer_.Reset(); 152 spdy_framer_.Reset();
149 } 153 }
150 154
151 SpdyFramer::SpdyError BufferedSpdyFramer::error_code() const { 155 SpdyFramer::SpdyError BufferedSpdyFramer::error_code() const {
152 return spdy_framer_.error_code(); 156 return spdy_framer_.error_code();
153 } 157 }
154 158
155 SpdyFramer::SpdyState BufferedSpdyFramer::state() const { 159 SpdyFramer::SpdyState BufferedSpdyFramer::state() const {
156 return spdy_framer_.state(); 160 return spdy_framer_.state();
157 } 161 }
158 162
159 bool BufferedSpdyFramer::MessageFullyRead() { 163 bool BufferedSpdyFramer::MessageFullyRead() {
160 return spdy_framer_.MessageFullyRead(); 164 return spdy_framer_.MessageFullyRead();
161 } 165 }
162 166
163 bool BufferedSpdyFramer::HasError() { 167 bool BufferedSpdyFramer::HasError() {
164 return spdy_framer_.HasError(); 168 return spdy_framer_.HasError();
165 } 169 }
166 170
167 bool BufferedSpdyFramer::ParseHeaderBlock(const SpdyFrame* frame,
168 SpdyHeaderBlock* block) {
169 return spdy_framer_.ParseHeaderBlock(frame, block);
170 }
171
172 SpdySynStreamControlFrame* BufferedSpdyFramer::CreateSynStream( 171 SpdySynStreamControlFrame* BufferedSpdyFramer::CreateSynStream(
173 SpdyStreamId stream_id, 172 SpdyStreamId stream_id,
174 SpdyStreamId associated_stream_id, 173 SpdyStreamId associated_stream_id,
175 int priority, 174 int priority,
176 SpdyControlFlags flags, 175 SpdyControlFlags flags,
177 bool compressed, 176 bool compressed,
178 const SpdyHeaderBlock* headers) { 177 const SpdyHeaderBlock* headers) {
179 return spdy_framer_.CreateSynStream( 178 return spdy_framer_.CreateSynStream(
180 stream_id, associated_stream_id, priority, flags, compressed, headers); 179 stream_id, associated_stream_id, priority, flags, compressed, headers);
181 } 180 }
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 return spdy_framer_.CreateCredentialFrame(credential); 227 return spdy_framer_.CreateCredentialFrame(credential);
229 } 228 }
230 229
231 SpdyDataFrame* BufferedSpdyFramer::CreateDataFrame(SpdyStreamId stream_id, 230 SpdyDataFrame* BufferedSpdyFramer::CreateDataFrame(SpdyStreamId stream_id,
232 const char* data, 231 const char* data,
233 uint32 len, 232 uint32 len,
234 SpdyDataFlags flags) { 233 SpdyDataFlags flags) {
235 return spdy_framer_.CreateDataFrame(stream_id, data, len, flags); 234 return spdy_framer_.CreateDataFrame(stream_id, data, len, flags);
236 } 235 }
237 236
237 SpdyPriority BufferedSpdyFramer::GetHighestPriority() const {
238 return spdy_framer_.GetHighestPriority();
239 }
240
238 SpdyFrame* BufferedSpdyFramer::CompressFrame(const SpdyFrame& frame) { 241 SpdyFrame* BufferedSpdyFramer::CompressFrame(const SpdyFrame& frame) {
239 return spdy_framer_.CompressFrame(frame); 242 return spdy_framer_.CompressFrame(frame);
240 } 243 }
241 244
242 bool BufferedSpdyFramer::IsCompressible(const SpdyFrame& frame) const { 245 bool BufferedSpdyFramer::IsCompressible(const SpdyFrame& frame) const {
243 return spdy_framer_.IsCompressible(frame); 246 return spdy_framer_.IsCompressible(frame);
244 } 247 }
245 248
246 void BufferedSpdyFramer::InitHeaderStreaming(const SpdyControlFrame* frame) { 249 void BufferedSpdyFramer::InitHeaderStreaming(const SpdyControlFrame* frame) {
247 memset(header_buffer_, 0, kHeaderBufferSize); 250 memset(header_buffer_, 0, kHeaderBufferSize);
(...skipping 16 matching lines...) Expand all
264 default: 267 default:
265 DCHECK(false); // Error! 268 DCHECK(false); // Error!
266 break; 269 break;
267 } 270 }
268 control_frame_.reset(new SpdyFrame(frame_size_without_header_block)); 271 control_frame_.reset(new SpdyFrame(frame_size_without_header_block));
269 memcpy(control_frame_.get()->data(), frame->data(), 272 memcpy(control_frame_.get()->data(), frame->data(),
270 frame_size_without_header_block); 273 frame_size_without_header_block);
271 } 274 }
272 275
273 } // namespace spdy 276 } // namespace spdy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698