OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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_DISK_CACHE_SIMPLE_SIMPLE_SYNCHRONOUS_ENTRY_H_ | 5 #ifndef NET_DISK_CACHE_SIMPLE_SIMPLE_SYNCHRONOUS_ENTRY_H_ |
6 #define NET_DISK_CACHE_SIMPLE_SIMPLE_SYNCHRONOUS_ENTRY_H_ | 6 #define NET_DISK_CACHE_SIMPLE_SIMPLE_SYNCHRONOUS_ENTRY_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 }; | 74 }; |
75 | 75 |
76 struct SimpleEntryCreationResults { | 76 struct SimpleEntryCreationResults { |
77 explicit SimpleEntryCreationResults(SimpleEntryStat entry_stat); | 77 explicit SimpleEntryCreationResults(SimpleEntryStat entry_stat); |
78 ~SimpleEntryCreationResults(); | 78 ~SimpleEntryCreationResults(); |
79 | 79 |
80 SimpleSynchronousEntry* sync_entry; | 80 SimpleSynchronousEntry* sync_entry; |
81 scoped_refptr<net::GrowableIOBuffer> stream_0_data; | 81 scoped_refptr<net::GrowableIOBuffer> stream_0_data; |
82 SimpleEntryStat entry_stat; | 82 SimpleEntryStat entry_stat; |
83 uint32_t stream_0_crc32; | 83 uint32_t stream_0_crc32; |
| 84 uint32_t stream_1_crc32; |
84 int result; | 85 int result; |
85 }; | 86 }; |
86 | 87 |
87 // Worker thread interface to the very simple cache. This interface is not | 88 // Worker thread interface to the very simple cache. This interface is not |
88 // thread safe, and callers must ensure that it is only ever accessed from | 89 // thread safe, and callers must ensure that it is only ever accessed from |
89 // a single thread between synchronization points. | 90 // a single thread between synchronization points. |
90 class SimpleSynchronousEntry { | 91 class SimpleSynchronousEntry { |
91 public: | 92 public: |
92 struct CRCRecord { | 93 struct CRCRecord { |
93 CRCRecord(); | 94 CRCRecord(); |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 bool CreateFiles(SimpleEntryStat* out_entry_stat); | 273 bool CreateFiles(SimpleEntryStat* out_entry_stat); |
273 void CloseFile(int index); | 274 void CloseFile(int index); |
274 void CloseFiles(); | 275 void CloseFiles(); |
275 | 276 |
276 // Read the header and key at the beginning of the file, and validate that | 277 // Read the header and key at the beginning of the file, and validate that |
277 // they are correct. If this entry was opened with a key, the key is checked | 278 // they are correct. If this entry was opened with a key, the key is checked |
278 // for a match. If not, then the |key_| member is set based on the value in | 279 // for a match. If not, then the |key_| member is set based on the value in |
279 // this header. Records histograms if any check is failed. | 280 // this header. Records histograms if any check is failed. |
280 bool CheckHeaderAndKey(int file_index); | 281 bool CheckHeaderAndKey(int file_index); |
281 | 282 |
| 283 // Read the |
| 284 bool ReadStream0Data(SimpleEntryStat* out_entry_stat, |
| 285 scoped_refptr<net::GrowableIOBuffer>* stream_0_data, |
| 286 uint32_t* out_stream_0_crc32); |
| 287 |
282 // Returns a net error, i.e. net::OK on success. | 288 // Returns a net error, i.e. net::OK on success. |
283 int InitializeForOpen(SimpleEntryStat* out_entry_stat, | 289 int InitializeForOpen(SimpleEntryStat* out_entry_stat, |
284 scoped_refptr<net::GrowableIOBuffer>* stream_0_data, | 290 scoped_refptr<net::GrowableIOBuffer>* stream_0_data, |
285 uint32_t* out_stream_0_crc32); | 291 uint32_t* out_stream_0_crc32); |
286 | 292 |
287 // Writes the header and key to a newly-created stream file. |index| is the | 293 // Writes the header and key to a newly-created stream file. |index| is the |
288 // index of the stream. Returns true on success; returns false and sets | 294 // index of the stream. Returns true on success; returns false and sets |
289 // |*out_result| on failure. | 295 // |*out_result| on failure. |
290 bool InitializeCreatedFile(int index, CreateEntryResult* out_result); | 296 bool InitializeCreatedFile(int index, CreateEntryResult* out_result); |
291 | 297 |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 int64_t sparse_tail_offset_; | 395 int64_t sparse_tail_offset_; |
390 | 396 |
391 // True if the entry was created, or false if it was opened. Used to log | 397 // True if the entry was created, or false if it was opened. Used to log |
392 // SimpleCache.*.EntryCreatedWithStream2Omitted only for created entries. | 398 // SimpleCache.*.EntryCreatedWithStream2Omitted only for created entries. |
393 bool files_created_; | 399 bool files_created_; |
394 }; | 400 }; |
395 | 401 |
396 } // namespace disk_cache | 402 } // namespace disk_cache |
397 | 403 |
398 #endif // NET_DISK_CACHE_SIMPLE_SIMPLE_SYNCHRONOUS_ENTRY_H_ | 404 #endif // NET_DISK_CACHE_SIMPLE_SIMPLE_SYNCHRONOUS_ENTRY_H_ |
OLD | NEW |