| 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 #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 net { | 9 namespace net { |
| 10 | 10 |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 234 const char* data, | 234 const char* data, |
| 235 uint32 len, | 235 uint32 len, |
| 236 SpdyDataFlags flags) { | 236 SpdyDataFlags flags) { |
| 237 return spdy_framer_.CreateDataFrame(stream_id, data, len, flags); | 237 return spdy_framer_.CreateDataFrame(stream_id, data, len, flags); |
| 238 } | 238 } |
| 239 | 239 |
| 240 SpdyPriority BufferedSpdyFramer::GetHighestPriority() const { | 240 SpdyPriority BufferedSpdyFramer::GetHighestPriority() const { |
| 241 return spdy_framer_.GetHighestPriority(); | 241 return spdy_framer_.GetHighestPriority(); |
| 242 } | 242 } |
| 243 | 243 |
| 244 SpdyFrame* BufferedSpdyFramer::CompressFrame(const SpdyFrame& frame) { | |
| 245 return spdy_framer_.CompressFrame(frame); | |
| 246 } | |
| 247 | |
| 248 bool BufferedSpdyFramer::IsCompressible(const SpdyFrame& frame) const { | 244 bool BufferedSpdyFramer::IsCompressible(const SpdyFrame& frame) const { |
| 249 return spdy_framer_.IsCompressible(frame); | 245 return spdy_framer_.IsCompressible(frame); |
| 250 } | 246 } |
| 251 | 247 |
| 248 SpdyControlFrame* BufferedSpdyFramer::CompressControlFrame( |
| 249 const SpdyControlFrame& frame) { |
| 250 return spdy_framer_.CompressControlFrame(frame); |
| 251 } |
| 252 |
| 252 void BufferedSpdyFramer::InitHeaderStreaming(const SpdyControlFrame* frame) { | 253 void BufferedSpdyFramer::InitHeaderStreaming(const SpdyControlFrame* frame) { |
| 253 memset(header_buffer_, 0, kHeaderBufferSize); | 254 memset(header_buffer_, 0, kHeaderBufferSize); |
| 254 header_buffer_used_ = 0; | 255 header_buffer_used_ = 0; |
| 255 header_buffer_valid_ = true; | 256 header_buffer_valid_ = true; |
| 256 header_stream_id_ = SpdyFramer::GetControlFrameStreamId(frame); | 257 header_stream_id_ = SpdyFramer::GetControlFrameStreamId(frame); |
| 257 DCHECK_NE(header_stream_id_, SpdyFramer::kInvalidStream); | 258 DCHECK_NE(header_stream_id_, SpdyFramer::kInvalidStream); |
| 258 | 259 |
| 259 int32 frame_size_without_header_block = SpdyFrame::kHeaderSize; | 260 int32 frame_size_without_header_block = SpdyFrame::kHeaderSize; |
| 260 switch (frame->type()) { | 261 switch (frame->type()) { |
| 261 case SYN_STREAM: | 262 case SYN_STREAM: |
| 262 frame_size_without_header_block = SpdySynStreamControlFrame::size(); | 263 frame_size_without_header_block = SpdySynStreamControlFrame::size(); |
| 263 break; | 264 break; |
| 264 case SYN_REPLY: | 265 case SYN_REPLY: |
| 265 frame_size_without_header_block = SpdySynReplyControlFrame::size(); | 266 frame_size_without_header_block = SpdySynReplyControlFrame::size(); |
| 266 break; | 267 break; |
| 267 case HEADERS: | 268 case HEADERS: |
| 268 frame_size_without_header_block = SpdyHeadersControlFrame::size(); | 269 frame_size_without_header_block = SpdyHeadersControlFrame::size(); |
| 269 break; | 270 break; |
| 270 default: | 271 default: |
| 271 DCHECK(false); // Error! | 272 DCHECK(false); // Error! |
| 272 break; | 273 break; |
| 273 } | 274 } |
| 274 control_frame_.reset(new SpdyFrame(frame_size_without_header_block)); | 275 control_frame_.reset(new SpdyFrame(frame_size_without_header_block)); |
| 275 memcpy(control_frame_.get()->data(), frame->data(), | 276 memcpy(control_frame_.get()->data(), frame->data(), |
| 276 frame_size_without_header_block); | 277 frame_size_without_header_block); |
| 277 } | 278 } |
| 278 | 279 |
| 279 } // namespace net | 280 } // namespace net |
| OLD | NEW |