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 #include "net/disk_cache/backend_impl.h" | 5 #include "net/disk_cache/backend_impl.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
69 | 69 |
70 size_t GetIndexSize(int table_len) { | 70 size_t GetIndexSize(int table_len) { |
71 size_t table_size = sizeof(disk_cache::CacheAddr) * table_len; | 71 size_t table_size = sizeof(disk_cache::CacheAddr) * table_len; |
72 return sizeof(disk_cache::IndexHeader) + table_size; | 72 return sizeof(disk_cache::IndexHeader) + table_size; |
73 } | 73 } |
74 | 74 |
75 // ------------------------------------------------------------------------ | 75 // ------------------------------------------------------------------------ |
76 | 76 |
77 // Sets group for the current experiment. Returns false if the files should be | 77 // Sets group for the current experiment. Returns false if the files should be |
78 // discarded. | 78 // discarded. |
79 bool InitExperiment(disk_cache::IndexHeader* header) { | 79 bool InitExperiment(disk_cache::IndexHeader* header, |
80 bool cache_created) { | |
80 if (header->experiment == disk_cache::EXPERIMENT_OLD_FILE1 || | 81 if (header->experiment == disk_cache::EXPERIMENT_OLD_FILE1 || |
81 header->experiment == disk_cache::EXPERIMENT_OLD_FILE2) { | 82 header->experiment == disk_cache::EXPERIMENT_OLD_FILE2) { |
82 // Discard current cache. | 83 // Discard current cache. |
83 return false; | 84 return false; |
84 } | 85 } |
85 | 86 |
87 | |
88 LOG(INFO) << "hi?"; | |
rvargas (doing something else)
2013/04/19 17:40:55
remove
| |
89 if (base::FieldTrialList::FindFullName("SimpleCacheTrial") == "Control") { | |
90 if (cache_created) { | |
91 LOG(INFO) << "updating to control"; | |
rvargas (doing something else)
2013/04/19 17:40:55
remove
| |
92 header->experiment = disk_cache::EXPERIMENT_SIMPLE_CONTROL; | |
93 return true; | |
94 } else if (header->experiment != disk_cache::EXPERIMENT_SIMPLE_CONTROL) { | |
95 LOG(INFO) << "YR IN THE WRONG GROUP " << header->experiment; | |
rvargas (doing something else)
2013/04/19 17:40:55
remove
gavinp
2013/04/20 07:17:32
Guh. Sorry for leaving these in.
Now you know how
| |
96 return false; | |
97 } | |
98 } | |
99 | |
86 header->experiment = disk_cache::NO_EXPERIMENT; | 100 header->experiment = disk_cache::NO_EXPERIMENT; |
87 return true; | 101 return true; |
88 } | 102 } |
89 | 103 |
90 // A callback to perform final cleanup on the background thread. | 104 // A callback to perform final cleanup on the background thread. |
91 void FinalCleanupCallback(disk_cache::BackendImpl* backend) { | 105 void FinalCleanupCallback(disk_cache::BackendImpl* backend) { |
92 backend->CleanupCache(); | 106 backend->CleanupCache(); |
93 } | 107 } |
94 | 108 |
95 } // namespace | 109 } // namespace |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
251 } | 265 } |
252 | 266 |
253 if (!CheckIndex()) { | 267 if (!CheckIndex()) { |
254 ReportError(ERR_INIT_FAILED); | 268 ReportError(ERR_INIT_FAILED); |
255 return net::ERR_FAILED; | 269 return net::ERR_FAILED; |
256 } | 270 } |
257 | 271 |
258 if (!restarted_ && (create_files || !data_->header.num_entries)) | 272 if (!restarted_ && (create_files || !data_->header.num_entries)) |
259 ReportError(ERR_CACHE_CREATED); | 273 ReportError(ERR_CACHE_CREATED); |
260 | 274 |
261 if (!(user_flags_ & kNoRandom) && | 275 if (!(user_flags_ & kNoRandom) && cache_type_ == net::DISK_CACHE && |
262 cache_type_ == net::DISK_CACHE && !InitExperiment(&data_->header)) | 276 !InitExperiment(&data_->header, create_files)) { |
263 return net::ERR_FAILED; | 277 return net::ERR_FAILED; |
278 } | |
264 | 279 |
265 // We don't care if the value overflows. The only thing we care about is that | 280 // We don't care if the value overflows. The only thing we care about is that |
266 // the id cannot be zero, because that value is used as "not dirty". | 281 // the id cannot be zero, because that value is used as "not dirty". |
267 // Increasing the value once per second gives us many years before we start | 282 // Increasing the value once per second gives us many years before we start |
268 // having collisions. | 283 // having collisions. |
269 data_->header.this_id++; | 284 data_->header.this_id++; |
270 if (!data_->header.this_id) | 285 if (!data_->header.this_id) |
271 data_->header.this_id++; | 286 data_->header.this_id++; |
272 | 287 |
273 bool previous_crash = (data_->header.crash != 0); | 288 bool previous_crash = (data_->header.crash != 0); |
(...skipping 1769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2043 if (total_memory > kMaxBuffersSize || total_memory <= 0) | 2058 if (total_memory > kMaxBuffersSize || total_memory <= 0) |
2044 total_memory = kMaxBuffersSize; | 2059 total_memory = kMaxBuffersSize; |
2045 | 2060 |
2046 done = true; | 2061 done = true; |
2047 } | 2062 } |
2048 | 2063 |
2049 return static_cast<int>(total_memory); | 2064 return static_cast<int>(total_memory); |
2050 } | 2065 } |
2051 | 2066 |
2052 } // namespace disk_cache | 2067 } // namespace disk_cache |
OLD | NEW |