OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_QUIC_CRYPTO_QUIC_SERVER_INFO_H_ | 5 #ifndef NET_QUIC_CRYPTO_QUIC_SERVER_INFO_H_ |
6 #define NET_QUIC_CRYPTO_QUIC_SERVER_INFO_H_ | 6 #define NET_QUIC_CRYPTO_QUIC_SERVER_INFO_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 // data is loaded from disk cache and ready and there are no pending writes. | 57 // data is loaded from disk cache and ready and there are no pending writes. |
58 virtual bool IsReadyToPersist() = 0; | 58 virtual bool IsReadyToPersist() = 0; |
59 | 59 |
60 // Persist allows for the server information to be updated for future users. | 60 // Persist allows for the server information to be updated for future users. |
61 // This is a fire and forget operation: the caller may drop its reference | 61 // This is a fire and forget operation: the caller may drop its reference |
62 // from this object and the store operation will still complete. This can | 62 // from this object and the store operation will still complete. This can |
63 // only be called once WaitForDataReady has returned OK or called its | 63 // only be called once WaitForDataReady has returned OK or called its |
64 // callback. | 64 // callback. |
65 virtual void Persist() = 0; | 65 virtual void Persist() = 0; |
66 | 66 |
| 67 // Called whenever an external cache reuses quic server config. |
| 68 virtual void OnExternalCacheHit() = 0; |
| 69 |
67 struct State { | 70 struct State { |
68 State(); | 71 State(); |
69 ~State(); | 72 ~State(); |
70 | 73 |
71 void Clear(); | 74 void Clear(); |
72 | 75 |
73 // This class matches QuicClientCryptoConfig::CachedState. | 76 // This class matches QuicClientCryptoConfig::CachedState. |
74 std::string server_config; // A serialized handshake message. | 77 std::string server_config; // A serialized handshake message. |
75 std::string source_address_token; // An opaque proof of IP ownership. | 78 std::string source_address_token; // An opaque proof of IP ownership. |
76 std::vector<std::string> certs; // A list of certificates in leaf-first | 79 std::vector<std::string> certs; // A list of certificates in leaf-first |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 // GetForServer returns a fresh, allocated QuicServerInfo for the given | 119 // GetForServer returns a fresh, allocated QuicServerInfo for the given |
117 // |server_id| or NULL on failure. | 120 // |server_id| or NULL on failure. |
118 virtual QuicServerInfo* GetForServer(const QuicServerId& server_id) = 0; | 121 virtual QuicServerInfo* GetForServer(const QuicServerId& server_id) = 0; |
119 | 122 |
120 DISALLOW_COPY_AND_ASSIGN(QuicServerInfoFactory); | 123 DISALLOW_COPY_AND_ASSIGN(QuicServerInfoFactory); |
121 }; | 124 }; |
122 | 125 |
123 } // namespace net | 126 } // namespace net |
124 | 127 |
125 #endif // NET_QUIC_CRYPTO_QUIC_SERVER_INFO_H_ | 128 #endif // NET_QUIC_CRYPTO_QUIC_SERVER_INFO_H_ |
OLD | NEW |