Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(414)

Unified Diff: net/quic/crypto/quic_crypto_client_config.h

Issue 149413008: QUIC - Start the process for reading crypto config data from disk cache (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merging with TOT Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | net/quic/crypto/quic_crypto_client_config.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « no previous file | net/quic/crypto/quic_crypto_client_config.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698