Chromium Code Reviews| Index: net/quic/crypto/quic_crypto_client_config.cc |
| diff --git a/net/quic/crypto/quic_crypto_client_config.cc b/net/quic/crypto/quic_crypto_client_config.cc |
| index 84dfee02b5e9b7875df6e4b7a8a0c1d222626377..7c96066afa88b09a37e9c505ed2320fc871bc214 100644 |
| --- a/net/quic/crypto/quic_crypto_client_config.cc |
| +++ b/net/quic/crypto/quic_crypto_client_config.cc |
| @@ -29,13 +29,7 @@ using std::vector; |
| namespace net { |
| -QuicCryptoClientConfig::QuicCryptoClientConfig() |
| - : quic_server_info_factory_(NULL) { |
| -} |
| - |
| -QuicCryptoClientConfig::QuicCryptoClientConfig( |
| - QuicServerInfoFactory* quic_server_info_factory) |
| - : quic_server_info_factory_(quic_server_info_factory) { |
| +QuicCryptoClientConfig::QuicCryptoClientConfig() { |
| } |
| QuicCryptoClientConfig::~QuicCryptoClientConfig() { |
| @@ -46,17 +40,13 @@ QuicCryptoClientConfig::CachedState::CachedState() |
| : server_config_valid_(false), |
| generation_counter_(0) {} |
| -QuicCryptoClientConfig::CachedState::~CachedState() {} |
| - |
| -void QuicCryptoClientConfig::CachedState::LoadFromDiskCache( |
| - QuicServerInfoFactory* quic_server_info_factory, |
| - const string& server_hostname) { |
| - DCHECK(quic_server_info_factory); |
| - quic_server_info_.reset( |
| - quic_server_info_factory->GetForHost(server_hostname)); |
| +QuicCryptoClientConfig::CachedState::CachedState( |
| + scoped_ptr<QuicServerInfo> quic_server_info) |
| + : server_config_valid_(false), |
| + generation_counter_(0), |
| + quic_server_info_(quic_server_info.Pass()) {} |
| - // TODO(rtenneti): Need to flesh out reading data from disk cache. |
| -} |
| +QuicCryptoClientConfig::CachedState::~CachedState() {} |
| bool QuicCryptoClientConfig::CachedState::IsComplete(QuicWallTime now) const { |
| if (server_config_.empty() || !server_config_valid_) { |
| @@ -239,6 +229,24 @@ void QuicCryptoClientConfig::SetDefaults() { |
| aead[0] = kAESG; |
| } |
| +QuicCryptoClientConfig::CachedState* QuicCryptoClientConfig::CreateCachedState( |
| + const string& server_hostname, |
| + QuicServerInfoFactory* quic_server_info_factory) { |
| + DCHECK(quic_server_info_factory); |
| + |
| + map<string, CachedState*>::const_iterator it = |
| + cached_states_.find(server_hostname); |
| + DCHECK(it == cached_states_.end()); |
|
wtc
2014/02/04 01:37:02
Nit: this should be
DCHECK_EQ(cached_states_.fi
ramant (doing other things)
2014/02/04 19:23:53
Done.
|
| + |
| + scoped_ptr<QuicServerInfo> quic_server_info( |
| + quic_server_info_factory->GetForHost(server_hostname)); |
| + quic_server_info->Start(); |
| + |
| + CachedState* cached = new CachedState(quic_server_info.Pass()); |
| + cached_states_.insert(make_pair(server_hostname, cached)); |
| + return cached; |
| +} |
| + |
| QuicCryptoClientConfig::CachedState* QuicCryptoClientConfig::LookupOrCreate( |
| const string& server_hostname) { |
| map<string, CachedState*>::const_iterator it = |
| @@ -248,9 +256,6 @@ QuicCryptoClientConfig::CachedState* QuicCryptoClientConfig::LookupOrCreate( |
| } |
| CachedState* cached = new CachedState; |
| - if (quic_server_info_factory_) { |
| - cached->LoadFromDiskCache(quic_server_info_factory_, server_hostname); |
| - } |
| cached_states_.insert(make_pair(server_hostname, cached)); |
|
wtc
2014/02/04 01:37:02
It seems that you should use the new CreateCachedS
ramant (doing other things)
2014/02/04 19:23:53
In chrome, we call LookupOrCreate() after we call
|
| return cached; |
| } |