diff options
author | csharp@chromium.org <csharp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-07 17:56:28 +0000 |
---|---|---|
committer | csharp@chromium.org <csharp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-07 17:56:28 +0000 |
commit | 0439abf7532921a18e63939842a54256b1f08d55 (patch) | |
tree | cb0fa3e179c3f1ba6f17fdd02da2cce0cd14ed41 /net/tools | |
parent | 9686bb3f939a4413aaf54e12af28f929be4857bb (diff) | |
download | chromium_src-0439abf7532921a18e63939842a54256b1f08d55.zip chromium_src-0439abf7532921a18e63939842a54256b1f08d55.tar.gz chromium_src-0439abf7532921a18e63939842a54256b1f08d55.tar.bz2 |
Revert 198736 "Land Recent QUIC changes"
Caused compile failures on the "Google Chrome ChromeOS" builder:
cc1plus: warnings being treated as errors
net/quic/quic_utils.cc:14:error: integer constant is too large for 'unsigned long' type
net/quic/quic_utils.cc:15:error: integer constant is too large for 'unsigned long' type
make: *** [out/Release/obj.target/net/net/quic/quic_utils.o] Error 1
> Land Recent QUIC changes
>
> Implement header compression/decompression in ReliableQuicStream.
>
> Merge internal change: 44867738
>
>
> QUIC: deflake proof_test.
>
> The current proof_test removes a byte from the start of the signature in order
> to make it invalid. However, the signature is a big-endian number and, ~1% of
> the time, the first byte will be zero - thus removing it doesn't change the
> number.
>
> This change adds a non-zero byte to the start of the signature instead.
>
> Merge internal change: 44803399
>
> Replace calls to scoped_ptr(NULL) with calls to scoped_ptr().
>
> Merge internal change: 44799980
>
> Add a blank line in order to get the dependencies correct for rebuild.
>
> Merge internal change: 44796024
>
> Fix "large integer implicitly truncated to unsigned type"
>
> Merge internal change: 44793986
>
> QUIC: compress certificates.
>
> This change causes server certificates to be compressed using three tricks:
> 1) The client can advertise sets of common certificates that the server can
> then simply reference. This change contains "common certificate set 0",
> which is the set of the intermediates used twice or more in the Alexa top
> 5000. It's temporary because it's missing GIAG2 which we'll want to
> include soon.
> 2) The client can send 64-bit, FNV-1a hashes of certificates that it already
> has and the server can reference them by hash.
> 3) Otherwise, certifciates are gzip compressed with a dictionary that
> includes any certificates compressed using the previous two methods and a
> 1500 byte lump of common substrings. (Again, taken from the Alexa top 5000)
>
> POKE=1
>
> Merge internal change: 44792710
>
> R=rch@chromium.org
>
> Review URL: https://chromiumcodereview.appspot.com/14651009
TBR=rtenneti@chromium.org
Review URL: https://codereview.chromium.org/15018013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198764 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/tools')
-rw-r--r-- | net/tools/quic/quic_reliable_server_stream_test.cc | 15 | ||||
-rw-r--r-- | net/tools/quic/quic_spdy_client_stream.cc | 6 | ||||
-rw-r--r-- | net/tools/quic/quic_spdy_server_stream.cc | 6 | ||||
-rw-r--r-- | net/tools/quic/spdy_utils.cc | 37 | ||||
-rw-r--r-- | net/tools/quic/spdy_utils.h | 10 | ||||
-rw-r--r-- | net/tools/quic/test_tools/quic_test_utils.cc | 6 | ||||
-rw-r--r-- | net/tools/quic/test_tools/quic_test_utils.h | 24 |
7 files changed, 18 insertions, 86 deletions
diff --git a/net/tools/quic/quic_reliable_server_stream_test.cc b/net/tools/quic/quic_reliable_server_stream_test.cc index b946d94..b1cf032 100644 --- a/net/tools/quic/quic_reliable_server_stream_test.cc +++ b/net/tools/quic/quic_reliable_server_stream_test.cc @@ -5,7 +5,6 @@ #include "net/tools/quic/quic_reliable_server_stream.h" #include "base/strings/string_number_conversions.h" -#include "net/quic/quic_spdy_compressor.h" #include "net/quic/quic_utils.h" #include "net/quic/test_tools/quic_test_utils.h" #include "net/tools/flip_server/epoll_server.h" @@ -61,18 +60,8 @@ class QuicReliableServerStreamTest : public ::testing::Test { QuicConsumedData ValidateHeaders(StringPiece headers) { headers_string_ = SpdyUtils::SerializeResponseHeaders( response_headers_); - QuicSpdyDecompressor decompressor; - TestDecompressorVisitor visitor; - - // First the header id, then the compressed data. - EXPECT_EQ(1, headers[0]); - EXPECT_EQ(0, headers[1]); - EXPECT_EQ(0, headers[2]); - EXPECT_EQ(0, headers[3]); - EXPECT_EQ(static_cast<size_t>(headers.length() - 4), - decompressor.DecompressData(headers.substr(4), &visitor)); - - EXPECT_EQ(headers_string_, visitor.data()); + + EXPECT_EQ(headers, headers_string_); return QuicConsumedData(headers.size(), false); } diff --git a/net/tools/quic/quic_spdy_client_stream.cc b/net/tools/quic/quic_spdy_client_stream.cc index 11d42a0..e401ce2 100644 --- a/net/tools/quic/quic_spdy_client_stream.cc +++ b/net/tools/quic/quic_spdy_client_stream.cc @@ -59,11 +59,7 @@ void QuicSpdyClientStream::TerminateFromPeer(bool half_close) { ssize_t QuicSpdyClientStream::SendRequest(const BalsaHeaders& headers, StringPiece body, bool fin) { - SpdyHeaderBlock header_block = - SpdyUtils::RequestHeadersToSpdyHeaders(headers); - - string headers_string = - session()->compressor()->CompressHeaders(header_block); + string headers_string = SpdyUtils::SerializeRequestHeaders(headers); bool has_body = !body.empty(); diff --git a/net/tools/quic/quic_spdy_server_stream.cc b/net/tools/quic/quic_spdy_server_stream.cc index 94afaa0..57c520e 100644 --- a/net/tools/quic/quic_spdy_server_stream.cc +++ b/net/tools/quic/quic_spdy_server_stream.cc @@ -4,7 +4,6 @@ #include "net/tools/quic/quic_spdy_server_stream.h" -#include "net/quic/quic_session.h" #include "net/spdy/spdy_framer.h" #include "net/tools/quic/spdy_utils.h" @@ -63,11 +62,8 @@ void QuicSpdyServerStream::TerminateFromPeer(bool half_close) { void QuicSpdyServerStream::SendHeaders( const BalsaHeaders& response_headers) { - SpdyHeaderBlock header_block = - SpdyUtils::ResponseHeadersToSpdyHeaders(response_headers); string headers = - session()->compressor()->CompressHeaders(header_block); - + SpdyUtils::SerializeResponseHeaders(response_headers); WriteData(headers, false); } diff --git a/net/tools/quic/spdy_utils.cc b/net/tools/quic/spdy_utils.cc index 6321f6d..0c3273b 100644 --- a/net/tools/quic/spdy_utils.cc +++ b/net/tools/quic/spdy_utils.cc @@ -96,8 +96,7 @@ void PopulateSpdyResponseHeaderBlock(const BalsaHeaders& headers, PopulateSpdyHeaderBlock(headers, block, true); } -// static -SpdyHeaderBlock SpdyUtils::RequestHeadersToSpdyHeaders( +string SpdyUtils::SerializeRequestHeaders( const BalsaHeaders& request_headers) { string scheme; string host_and_port; @@ -130,38 +129,24 @@ SpdyHeaderBlock SpdyUtils::RequestHeadersToSpdyHeaders( if (block.find("host") != block.end()) { block.erase(block.find("host")); } - return block; -} -// static -string SpdyUtils::SerializeRequestHeaders(const BalsaHeaders& request_headers) { - SpdyHeaderBlock block = RequestHeadersToSpdyHeaders(request_headers); - return SerializeUncompressedHeaders(block); + int length = SpdyFramer::GetSerializedLength(kSpdyVersion3, &block); + SpdyFrameBuilder builder(length); + SpdyFramer::WriteHeaderBlock(&builder, kSpdyVersion3, &block); + scoped_ptr<SpdyFrame> headers(builder.take()); + return string(headers->data(), length); } -// static -SpdyHeaderBlock SpdyUtils::ResponseHeadersToSpdyHeaders( +string SpdyUtils::SerializeResponseHeaders( const BalsaHeaders& response_headers) { SpdyHeaderBlock block; PopulateSpdyResponseHeaderBlock(response_headers, &block); - return block; -} - -// static -string SpdyUtils::SerializeResponseHeaders( - const BalsaHeaders& response_headers) { - SpdyHeaderBlock block = ResponseHeadersToSpdyHeaders(response_headers); - - return SerializeUncompressedHeaders(block); -} -// static -string SpdyUtils::SerializeUncompressedHeaders(const SpdyHeaderBlock& headers) { - int length = SpdyFramer::GetSerializedLength(kSpdyVersion3, &headers); + int length = SpdyFramer::GetSerializedLength(kSpdyVersion3, &block); SpdyFrameBuilder builder(length); - SpdyFramer::WriteHeaderBlock(&builder, kSpdyVersion3, &headers); - scoped_ptr<SpdyFrame> block(builder.take()); - return string(block->data(), length); + SpdyFramer::WriteHeaderBlock(&builder, kSpdyVersion3, &block); + scoped_ptr<SpdyFrame> headers(builder.take()); + return string(headers->data(), length); } bool IsSpecialSpdyHeader(SpdyHeaderBlock::const_iterator header, diff --git a/net/tools/quic/spdy_utils.h b/net/tools/quic/spdy_utils.h index 4478274..0c9653f 100644 --- a/net/tools/quic/spdy_utils.h +++ b/net/tools/quic/spdy_utils.h @@ -7,7 +7,6 @@ #include <string> -#include "net/spdy/spdy_framer.h" #include "net/spdy/spdy_header_block.h" #include "net/spdy/spdy_protocol.h" #include "net/tools/flip_server/balsa_headers.h" @@ -28,15 +27,6 @@ class SpdyUtils { static bool FillBalsaResponseHeaders(const SpdyHeaderBlock& header_block, BalsaHeaders* response_headers); - - static SpdyHeaderBlock RequestHeadersToSpdyHeaders( - const BalsaHeaders& request_headers); - - static SpdyHeaderBlock ResponseHeadersToSpdyHeaders( - const BalsaHeaders& response_headers); - - static std::string SerializeUncompressedHeaders( - const SpdyHeaderBlock& headers); }; } // namespace tools diff --git a/net/tools/quic/test_tools/quic_test_utils.cc b/net/tools/quic/test_tools/quic_test_utils.cc index 9aed3af..980d6bf 100644 --- a/net/tools/quic/test_tools/quic_test_utils.cc +++ b/net/tools/quic/test_tools/quic_test_utils.cc @@ -7,7 +7,6 @@ #include "net/quic/test_tools/quic_test_utils.h" #include "net/tools/quic/quic_epoll_connection_helper.h" -using base::StringPiece; using net::test::MockHelper; namespace net { @@ -48,11 +47,6 @@ void MockConnection::AdvanceTime(QuicTime::Delta delta) { static_cast<MockHelper*>(helper())->AdvanceTime(delta); } -bool TestDecompressorVisitor::OnDecompressedData(StringPiece data) { - data.AppendToString(&data_); - return true; -} - } // namespace test } // namespace tools } // namespace net diff --git a/net/tools/quic/test_tools/quic_test_utils.h b/net/tools/quic/test_tools/quic_test_utils.h index e4069c5..8af1f45 100644 --- a/net/tools/quic/test_tools/quic_test_utils.h +++ b/net/tools/quic/test_tools/quic_test_utils.h @@ -2,17 +2,12 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ -#define NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ - -#include <string> - -#include "base/strings/string_piece.h" #include "net/quic/quic_connection.h" -#include "net/quic/quic_spdy_decompressor.h" -#include "net/spdy/spdy_framer.h" #include "testing/gmock/include/gmock/gmock.h" +#ifndef NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ +#define NET_TOOLS_QUIC_TEST_TOOLS_QUIC_TEST_UTILS_H_ + namespace net { class EpollServer; @@ -21,8 +16,6 @@ class IPEndPoint; namespace tools { namespace test { -std::string SerializeUncompressedHeaders(const SpdyHeaderBlock& headers); - class MockConnection : public QuicConnection { public: // Uses a QuicConnectionHelper created with fd and eps. @@ -72,17 +65,6 @@ class MockConnection : public QuicConnection { DISALLOW_COPY_AND_ASSIGN(MockConnection); }; -class TestDecompressorVisitor : public QuicSpdyDecompressor::Visitor { - public: - virtual ~TestDecompressorVisitor() {} - virtual bool OnDecompressedData(base::StringPiece data) OVERRIDE; - - std::string data() { return data_; } - - private: - std::string data_; -}; - } // namespace test } // namespace tools } // namespace net |