summaryrefslogtreecommitdiffstats
path: root/net/quic
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-25 16:47:09 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-25 16:47:09 +0000
commitb1ecc00cb7b889d6509cff17670dea346f7b8518 (patch)
treea29beb7600b0d355ea2f45932ffc352a51e547f2 /net/quic
parentb1679ab9f7bf7e435e9feaa4e1ff9eeeb76ea851 (diff)
downloadchromium_src-b1ecc00cb7b889d6509cff17670dea346f7b8518.zip
chromium_src-b1ecc00cb7b889d6509cff17670dea346f7b8518.tar.gz
chromium_src-b1ecc00cb7b889d6509cff17670dea346f7b8518.tar.bz2
Add a command line option to enable SPDY request encoding for QUIC requests.
Update net-internals to display this value. Currently, requests on a QUIC stream are encoded with simple HTTP/1.1 headers (text based key: value pairs). However eventually, QUIC requests will use header framing. This command line flag switches to SPDY header framing which was recently implemented. Once we have the kinks sorted out we will remove support for HTTP framing and will remove this flag. Review URL: https://chromiumcodereview.appspot.com/12036090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178839 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic')
-rw-r--r--net/quic/quic_stream_factory.cc7
-rw-r--r--net/quic/quic_stream_factory.h6
-rw-r--r--net/quic/quic_stream_factory_test.cc2
3 files changed, 11 insertions, 4 deletions
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
index e9908be..db84d74 100644
--- a/net/quic/quic_stream_factory.cc
+++ b/net/quic/quic_stream_factory.cc
@@ -219,11 +219,13 @@ QuicStreamFactory::QuicStreamFactory(
HostResolver* host_resolver,
ClientSocketFactory* client_socket_factory,
QuicRandom* random_generator,
- QuicClock* clock)
+ QuicClock* clock,
+ bool use_spdy_over_quic)
: host_resolver_(host_resolver),
client_socket_factory_(client_socket_factory),
random_generator_(random_generator),
clock_(clock),
+ use_spdy_over_quic_(use_spdy_over_quic),
ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)) {
}
@@ -300,7 +302,8 @@ scoped_ptr<QuicHttpStream> QuicStreamFactory::CreateIfSessionExists(
QuicClientSession* session = active_sessions_[host_port_proxy_pair];
DCHECK(session);
return scoped_ptr<QuicHttpStream>(
- new QuicHttpStream(session->CreateOutgoingReliableStream(), true));
+ new QuicHttpStream(session->CreateOutgoingReliableStream(),
+ use_spdy_over_quic_));
}
void QuicStreamFactory::OnIdleSession(QuicClientSession* session) {
diff --git a/net/quic/quic_stream_factory.h b/net/quic/quic_stream_factory.h
index 077835d..073286c 100644
--- a/net/quic/quic_stream_factory.h
+++ b/net/quic/quic_stream_factory.h
@@ -64,7 +64,8 @@ class NET_EXPORT_PRIVATE QuicStreamFactory {
QuicStreamFactory(HostResolver* host_resolver,
ClientSocketFactory* client_socket_factory,
QuicRandom* random_generator,
- QuicClock* clock);
+ QuicClock* clock,
+ bool use_spdy_over_quic);
virtual ~QuicStreamFactory();
// Creates a new QuicHttpStream to |host_port_proxy_pair| which will be
@@ -131,6 +132,9 @@ class NET_EXPORT_PRIVATE QuicStreamFactory {
JobRequestsMap job_requests_map_;
RequestMap active_requests_;
+ // True of request should be encoded using SPDY header blocks.
+ bool use_spdy_over_quic_;
+
base::WeakPtrFactory<QuicStreamFactory> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(QuicStreamFactory);
diff --git a/net/quic/quic_stream_factory_test.cc b/net/quic/quic_stream_factory_test.cc
index fdae38d..3c88467 100644
--- a/net/quic/quic_stream_factory_test.cc
+++ b/net/quic/quic_stream_factory_test.cc
@@ -25,7 +25,7 @@ class QuicStreamFactoryTest : public ::testing::Test {
QuicStreamFactoryTest()
: clock_(new MockClock()),
factory_(&host_resolver_, &socket_factory_,
- &random_generator_, clock_),
+ &random_generator_, clock_, false),
host_port_proxy_pair_(HostPortPair("www.google.com", 443),
ProxyServer::Direct()) {
}