| 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_;
|
|
|
|
|