| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/tools/flip_server/spdy_interface.h" | 5 #include "net/tools/flip_server/spdy_interface.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "net/spdy/spdy_framer.h" | 9 #include "net/spdy/spdy_framer.h" |
| 10 #include "net/spdy/spdy_protocol.h" | 10 #include "net/spdy/spdy_protocol.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 // static | 42 // static |
| 43 bool SpdySM::disable_data_compression_ = true; | 43 bool SpdySM::disable_data_compression_ = true; |
| 44 // static | 44 // static |
| 45 std::string SpdySM::forward_ip_header_; | 45 std::string SpdySM::forward_ip_header_; |
| 46 | 46 |
| 47 class SpdyFrameDataFrame : public DataFrame { | 47 class SpdyFrameDataFrame : public DataFrame { |
| 48 public: | 48 public: |
| 49 SpdyFrameDataFrame(SpdyFrame* spdy_frame) | 49 SpdyFrameDataFrame(SpdyFrame* spdy_frame) |
| 50 : frame(spdy_frame) { | 50 : frame(spdy_frame) { |
| 51 data = spdy_frame->data(); | 51 data = spdy_frame->data(); |
| 52 size = spdy_frame->length() + SpdyFrame::size(); | 52 size = spdy_frame->length() + SpdyFrame::kHeaderSize; |
| 53 } | 53 } |
| 54 | 54 |
| 55 virtual ~SpdyFrameDataFrame() { | 55 virtual ~SpdyFrameDataFrame() { |
| 56 delete frame; | 56 delete frame; |
| 57 } | 57 } |
| 58 | 58 |
| 59 const SpdyFrame* frame; | 59 const SpdyFrame* frame; |
| 60 }; | 60 }; |
| 61 | 61 |
| 62 SpdySM::SpdySM(SMConnection* connection, | 62 SpdySM::SpdySM(SMConnection* connection, |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 472 std::string original_url = headers.GetHeader("X-Original-Url").as_string(); | 472 std::string original_url = headers.GetHeader("X-Original-Url").as_string(); |
| 473 block["path"] = UrlUtilities::GetUrlPath(original_url); | 473 block["path"] = UrlUtilities::GetUrlPath(original_url); |
| 474 } else { | 474 } else { |
| 475 block["path"] = headers.request_uri().as_string(); | 475 block["path"] = headers.request_uri().as_string(); |
| 476 } | 476 } |
| 477 CopyHeaders(block, headers); | 477 CopyHeaders(block, headers); |
| 478 | 478 |
| 479 SpdySynStreamControlFrame* fsrcf = | 479 SpdySynStreamControlFrame* fsrcf = |
| 480 spdy_framer_->CreateSynStream(stream_id, 0, 0, CONTROL_FLAG_NONE, true, | 480 spdy_framer_->CreateSynStream(stream_id, 0, 0, CONTROL_FLAG_NONE, true, |
| 481 &block); | 481 &block); |
| 482 size_t df_size = fsrcf->length() + SpdyFrame::size(); | 482 size_t df_size = fsrcf->length() + SpdyFrame::kHeaderSize; |
| 483 EnqueueDataFrame(new SpdyFrameDataFrame(fsrcf)); | 483 EnqueueDataFrame(new SpdyFrameDataFrame(fsrcf)); |
| 484 | 484 |
| 485 VLOG(2) << ACCEPTOR_CLIENT_IDENT << "SpdySM: Sending SynStreamheader " | 485 VLOG(2) << ACCEPTOR_CLIENT_IDENT << "SpdySM: Sending SynStreamheader " |
| 486 << stream_id; | 486 << stream_id; |
| 487 return df_size; | 487 return df_size; |
| 488 } | 488 } |
| 489 | 489 |
| 490 size_t SpdySM::SendSynReplyImpl(uint32 stream_id, const BalsaHeaders& headers) { | 490 size_t SpdySM::SendSynReplyImpl(uint32 stream_id, const BalsaHeaders& headers) { |
| 491 SpdyHeaderBlock block; | 491 SpdyHeaderBlock block; |
| 492 CopyHeaders(block, headers); | 492 CopyHeaders(block, headers); |
| 493 block["status"] = headers.response_code().as_string() + " " + | 493 block["status"] = headers.response_code().as_string() + " " + |
| 494 headers.response_reason_phrase().as_string(); | 494 headers.response_reason_phrase().as_string(); |
| 495 block["version"] = headers.response_version().as_string(); | 495 block["version"] = headers.response_version().as_string(); |
| 496 | 496 |
| 497 SpdySynReplyControlFrame* fsrcf = | 497 SpdySynReplyControlFrame* fsrcf = |
| 498 spdy_framer_->CreateSynReply(stream_id, CONTROL_FLAG_NONE, true, &block); | 498 spdy_framer_->CreateSynReply(stream_id, CONTROL_FLAG_NONE, true, &block); |
| 499 size_t df_size = fsrcf->length() + SpdyFrame::size(); | 499 size_t df_size = fsrcf->length() + SpdyFrame::kHeaderSize; |
| 500 EnqueueDataFrame(new SpdyFrameDataFrame(fsrcf)); | 500 EnqueueDataFrame(new SpdyFrameDataFrame(fsrcf)); |
| 501 | 501 |
| 502 VLOG(2) << ACCEPTOR_CLIENT_IDENT << "SpdySM: Sending SynReplyheader " | 502 VLOG(2) << ACCEPTOR_CLIENT_IDENT << "SpdySM: Sending SynReplyheader " |
| 503 << stream_id; | 503 << stream_id; |
| 504 return df_size; | 504 return df_size; |
| 505 } | 505 } |
| 506 | 506 |
| 507 void SpdySM::SendDataFrameImpl(uint32 stream_id, const char* data, int64 len, | 507 void SpdySM::SendDataFrameImpl(uint32 stream_id, const char* data, int64 len, |
| 508 SpdyDataFlags flags, bool compress) { | 508 SpdyDataFlags flags, bool compress) { |
| 509 // Force compression off if disabled via command line. | 509 // Force compression off if disabled via command line. |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 604 num_to_write, 0, should_compress); | 604 num_to_write, 0, should_compress); |
| 605 VLOG(2) << ACCEPTOR_CLIENT_IDENT << "SpdySM: GetOutput SendDataFrame[" | 605 VLOG(2) << ACCEPTOR_CLIENT_IDENT << "SpdySM: GetOutput SendDataFrame[" |
| 606 << mci->stream_id << "]: " << num_to_write; | 606 << mci->stream_id << "]: " << num_to_write; |
| 607 mci->body_bytes_consumed += num_to_write; | 607 mci->body_bytes_consumed += num_to_write; |
| 608 mci->bytes_sent += num_to_write; | 608 mci->bytes_sent += num_to_write; |
| 609 } | 609 } |
| 610 } | 610 } |
| 611 | 611 |
| 612 } // namespace net | 612 } // namespace net |
| 613 | 613 |
| OLD | NEW |