Chromium Code Reviews| Index: net/quic/quic_stream_factory.cc |
| diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc |
| index 06e7825fb096835070df21a36e1464a07f62dea6..7f91e059af676334c1626dfc0403a008d964d208 100644 |
| --- a/net/quic/quic_stream_factory.cc |
| +++ b/net/quic/quic_stream_factory.cc |
| @@ -327,6 +327,10 @@ int QuicStreamFactory::Create(const HostPortProxyPair& host_port_proxy_pair, |
| return ERR_IO_PENDING; |
| } |
| + QuicCryptoClientConfig* crypto_config = |
| + GetOrCreateCryptoConfig(host_port_proxy_pair); |
| + DCHECK(crypto_config); |
|
wtc
2014/02/04 01:37:02
Please add a comment to explain why we are doing t
ramant (doing other things)
2014/02/04 19:23:53
Added a comment about why we are starting this pro
|
| + |
| scoped_ptr<Job> job(new Job(this, host_resolver_, host_port_proxy_pair, |
| is_https, cert_verifier, net_log)); |
| int rv = job->Run(base::Bind(&QuicStreamFactory::OnJobComplete, |
| @@ -564,8 +568,9 @@ int QuicStreamFactory::CreateSession( |
| writer->SetConnection(connection); |
| connection->options()->max_packet_length = max_packet_length_; |
| + DCHECK(ContainsKey(all_crypto_configs_, host_port_proxy_pair)); |
| QuicCryptoClientConfig* crypto_config = |
| - GetOrCreateCryptoConfig(host_port_proxy_pair); |
| + all_crypto_configs_[host_port_proxy_pair]; |
|
ramant (doing other things)
2014/02/04 19:23:53
Undid this change. GetOrCreateCryptoConfig is call
|
| DCHECK(crypto_config); |
| *session = new QuicClientSession( |
| @@ -606,7 +611,13 @@ QuicCryptoClientConfig* QuicStreamFactory::GetOrCreateCryptoConfig( |
| } else { |
| // TODO(rtenneti): if two quic_sessions for the same host_port_proxy_pair |
| // share the same crypto_config, will it cause issues? |
| - crypto_config = new QuicCryptoClientConfig(quic_server_info_factory_); |
| + crypto_config = new QuicCryptoClientConfig(); |
| + if (quic_server_info_factory_) { |
| + QuicCryptoClientConfig::CachedState* cached = |
| + crypto_config->CreateCachedState(host_port_proxy_pair.first.host(), |
| + quic_server_info_factory_); |
| + DCHECK(cached); |
| + } |
| crypto_config->SetDefaults(); |
| all_crypto_configs_[host_port_proxy_pair] = crypto_config; |
| PopulateFromCanonicalConfig(host_port_proxy_pair, crypto_config); |