OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_TOOLS_QUIC_QUIC_IN_MEMORY_CACHE_H_ | 5 #ifndef NET_TOOLS_QUIC_QUIC_IN_MEMORY_CACHE_H_ |
6 #define NET_TOOLS_QUIC_QUIC_IN_MEMORY_CACHE_H_ | 6 #define NET_TOOLS_QUIC_QUIC_IN_MEMORY_CACHE_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <map> | 9 #include <map> |
10 #include <memory> | 10 #include <memory> |
11 #include <string> | 11 #include <string> |
12 #include <unordered_map> | 12 #include <unordered_map> |
13 #include <vector> | 13 #include <vector> |
14 | 14 |
15 #include "base/files/file_path.h" | 15 #include "base/files/file_path.h" |
16 #include "base/macros.h" | 16 #include "base/macros.h" |
17 #include "base/strings/string_piece.h" | 17 #include "base/strings/string_piece.h" |
18 #include "net/http/http_response_headers.h" | 18 #include "net/http/http_response_headers.h" |
19 #include "net/quic/core/spdy_utils.h" | 19 #include "net/quic/core/spdy_utils.h" |
20 #include "net/spdy/spdy_framer.h" | 20 #include "net/spdy/spdy_framer.h" |
21 #include "url/gurl.h" | 21 #include "url/gurl.h" |
22 | 22 |
23 namespace net { | 23 namespace net { |
24 | 24 |
25 class QuicServer; | |
26 | |
27 // In-memory cache for HTTP responses. | 25 // In-memory cache for HTTP responses. |
28 // Reads from disk cache generated by: | 26 // Reads from disk cache generated by: |
29 // `wget -p --save_headers <url>` | 27 // `wget -p --save_headers <url>` |
30 class QuicInMemoryCache { | 28 class QuicInMemoryCache { |
31 public: | 29 public: |
32 // A ServerPushInfo contains path of the push request and everything needed in | 30 // A ServerPushInfo contains path of the push request and everything needed in |
33 // comprising a response for the push request. | 31 // comprising a response for the push request. |
34 struct ServerPushInfo { | 32 struct ServerPushInfo { |
35 ServerPushInfo(GURL request_url, | 33 ServerPushInfo(GURL request_url, |
36 SpdyHeaderBlock headers, | 34 SpdyHeaderBlock headers, |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 // Protects against concurrent access from test threads setting responses, and | 212 // Protects against concurrent access from test threads setting responses, and |
215 // server threads accessing those responses. | 213 // server threads accessing those responses. |
216 mutable base::Lock response_mutex_; | 214 mutable base::Lock response_mutex_; |
217 | 215 |
218 DISALLOW_COPY_AND_ASSIGN(QuicInMemoryCache); | 216 DISALLOW_COPY_AND_ASSIGN(QuicInMemoryCache); |
219 }; | 217 }; |
220 | 218 |
221 } // namespace net | 219 } // namespace net |
222 | 220 |
223 #endif // NET_TOOLS_QUIC_QUIC_IN_MEMORY_CACHE_H_ | 221 #endif // NET_TOOLS_QUIC_QUIC_IN_MEMORY_CACHE_H_ |
OLD | NEW |