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