summaryrefslogtreecommitdiffstats
path: root/net/tools
diff options
context:
space:
mode:
authorcsharp@chromium.org <csharp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-07 17:56:28 +0000
committercsharp@chromium.org <csharp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-07 17:56:28 +0000
commit0439abf7532921a18e63939842a54256b1f08d55 (patch)
treecb0fa3e179c3f1ba6f17fdd02da2cce0cd14ed41 /net/tools
parent9686bb3f939a4413aaf54e12af28f929be4857bb (diff)
downloadchromium_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.cc15
-rw-r--r--net/tools/quic/quic_spdy_client_stream.cc6
-rw-r--r--net/tools/quic/quic_spdy_server_stream.cc6
-rw-r--r--net/tools/quic/spdy_utils.cc37
-rw-r--r--net/tools/quic/spdy_utils.h10
-rw-r--r--net/tools/quic/test_tools/quic_test_utils.cc6
-rw-r--r--net/tools/quic/test_tools/quic_test_utils.h24
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