OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_CHROMIUM_PROPERTIES_BASED_QUIC_SERVER_INFO_H_ | 5 #ifndef NET_QUIC_CHROMIUM_PROPERTIES_BASED_QUIC_SERVER_INFO_H_ |
6 #define NET_QUIC_CHROMIUM_PROPERTIES_BASED_QUIC_SERVER_INFO_H_ | 6 #define NET_QUIC_CHROMIUM_PROPERTIES_BASED_QUIC_SERVER_INFO_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 12 matching lines...) Expand all Loading... |
23 // HttpServerProperties. Since the information is defined to be non-sensitive, | 23 // HttpServerProperties. Since the information is defined to be non-sensitive, |
24 // it's ok for us to keep it on disk. | 24 // it's ok for us to keep it on disk. |
25 class QUIC_EXPORT_PRIVATE PropertiesBasedQuicServerInfo | 25 class QUIC_EXPORT_PRIVATE PropertiesBasedQuicServerInfo |
26 : public QuicServerInfo { | 26 : public QuicServerInfo { |
27 public: | 27 public: |
28 PropertiesBasedQuicServerInfo(const QuicServerId& server_id, | 28 PropertiesBasedQuicServerInfo(const QuicServerId& server_id, |
29 HttpServerProperties* http_server_properties); | 29 HttpServerProperties* http_server_properties); |
30 ~PropertiesBasedQuicServerInfo() override; | 30 ~PropertiesBasedQuicServerInfo() override; |
31 | 31 |
32 // QuicServerInfo implementation. | 32 // QuicServerInfo implementation. |
33 bool Load() override; | 33 void Start() override; |
| 34 int WaitForDataReady(const CompletionCallback& callback) override; |
| 35 void ResetWaitForDataReadyCallback() override; |
| 36 void CancelWaitForDataReadyCallback() override; |
| 37 bool IsDataReady() override; |
| 38 bool IsReadyToPersist() override; |
34 void Persist() override; | 39 void Persist() override; |
| 40 void OnExternalCacheHit() override; |
35 size_t EstimateMemoryUsage() const override; | 41 size_t EstimateMemoryUsage() const override; |
36 | 42 |
37 private: | 43 private: |
38 HttpServerProperties* http_server_properties_; | 44 HttpServerProperties* http_server_properties_; |
39 | 45 |
40 DISALLOW_COPY_AND_ASSIGN(PropertiesBasedQuicServerInfo); | 46 DISALLOW_COPY_AND_ASSIGN(PropertiesBasedQuicServerInfo); |
41 }; | 47 }; |
42 | 48 |
| 49 class QUIC_EXPORT_PRIVATE PropertiesBasedQuicServerInfoFactory |
| 50 : public QuicServerInfoFactory { |
| 51 public: |
| 52 explicit PropertiesBasedQuicServerInfoFactory( |
| 53 HttpServerProperties* http_server_properties); |
| 54 ~PropertiesBasedQuicServerInfoFactory() override; |
| 55 |
| 56 std::unique_ptr<QuicServerInfo> GetForServer( |
| 57 const QuicServerId& server_id) override; |
| 58 |
| 59 private: |
| 60 HttpServerProperties* http_server_properties_; |
| 61 |
| 62 DISALLOW_COPY_AND_ASSIGN(PropertiesBasedQuicServerInfoFactory); |
| 63 }; |
| 64 |
43 } // namespace net | 65 } // namespace net |
44 | 66 |
45 #endif // NET_QUIC_CHROMIUM_PROPERTIES_BASED_QUIC_SERVER_INFO_H_ | 67 #endif // NET_QUIC_CHROMIUM_PROPERTIES_BASED_QUIC_SERVER_INFO_H_ |
OLD | NEW |