diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-25 16:47:09 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-25 16:47:09 +0000 |
commit | b1ecc00cb7b889d6509cff17670dea346f7b8518 (patch) | |
tree | a29beb7600b0d355ea2f45932ffc352a51e547f2 /net/quic | |
parent | b1679ab9f7bf7e435e9feaa4e1ff9eeeb76ea851 (diff) | |
download | chromium_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.cc | 7 | ||||
-rw-r--r-- | net/quic/quic_stream_factory.h | 6 | ||||
-rw-r--r-- | net/quic/quic_stream_factory_test.cc | 2 |
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()) { } |