Index: net/quic/crypto/quic_crypto_client_config.h |
diff --git a/net/quic/crypto/quic_crypto_client_config.h b/net/quic/crypto/quic_crypto_client_config.h |
index a7c58804c128e2f70a465446e469465770b91d69..735cbece3421ea108e8ae4a6ba143c40969609ef 100644 |
--- a/net/quic/crypto/quic_crypto_client_config.h |
+++ b/net/quic/crypto/quic_crypto_client_config.h |
@@ -31,6 +31,7 @@ class NET_EXPORT_PRIVATE QuicCryptoClientConfig : public QuicCryptoConfig { |
class NET_EXPORT_PRIVATE CachedState { |
public: |
CachedState(); |
+ explicit CachedState(scoped_ptr<QuicServerInfo> quic_server_info); |
~CachedState(); |
// IsComplete returns true if this object contains enough information to |
@@ -89,11 +90,6 @@ class NET_EXPORT_PRIVATE QuicCryptoClientConfig : public QuicCryptoConfig { |
// unchanged. |
void InitializeFrom(const CachedState& other); |
- // TODO(rtenneti): Need to flesh out the details of this method. A temporary |
- // place holder to load CachedState from disk cache. |
- void LoadFromDiskCache(QuicServerInfoFactory* quic_server_info_factory, |
- const std::string& server_hostname); |
- |
private: |
std::string server_config_id_; // An opaque id from the server. |
std::string server_config_; // A serialized handshake message. |
@@ -114,21 +110,29 @@ class NET_EXPORT_PRIVATE QuicCryptoClientConfig : public QuicCryptoConfig { |
// scfg contains the cached, parsed value of |server_config|. |
mutable scoped_ptr<CryptoHandshakeMessage> scfg_; |
+ // |quic_server_info_| is used to fetch crypto config information from disk. |
scoped_ptr<QuicServerInfo> quic_server_info_; |
DISALLOW_COPY_AND_ASSIGN(CachedState); |
}; |
QuicCryptoClientConfig(); |
- explicit QuicCryptoClientConfig( |
- QuicServerInfoFactory* quic_server_info_factory); |
~QuicCryptoClientConfig(); |
// Sets the members to reasonable, default values. |
void SetDefaults(); |
+ // Create returns a CachedState for the given hostname. It creates a |
+ // CachedState and caches it. If |quic_server_info_factory| is not NULL, then |
+ // it is used to create QuicServerInfo which is used to fetch crypto config |
+ // information from disk for the given hostname. |
+ CachedState* Create(const std::string& server_hostname, |
+ QuicServerInfoFactory* quic_server_info_factory); |
+ |
// LookupOrCreate returns a CachedState for the given hostname. If no such |
// CachedState currently exists, it will be created and cached. |
+ // TODO(rtenneti): fix the server code and pass QuicServerInfoFactory as |
+ // argument. |
CachedState* LookupOrCreate(const std::string& server_hostname); |
// FillInchoateClientHello sets |out| to be a CHLO message that elicits a |
@@ -219,7 +223,6 @@ class NET_EXPORT_PRIVATE QuicCryptoClientConfig : public QuicCryptoConfig { |
// about that server. |
std::map<std::string, CachedState*> cached_states_; |
- QuicServerInfoFactory* quic_server_info_factory_; |
scoped_ptr<ProofVerifier> proof_verifier_; |
scoped_ptr<ChannelIDSigner> channel_id_signer_; |