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 #include "net/disk_cache/simple/simple_backend_impl.h" | 5 #include "net/disk_cache/simple/simple_backend_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cstdlib> | 8 #include <cstdlib> |
9 #include <functional> | 9 #include <functional> |
10 | 10 |
(...skipping 26 matching lines...) Expand all Loading... |
37 #include "net/disk_cache/simple/simple_version_upgrade.h" | 37 #include "net/disk_cache/simple/simple_version_upgrade.h" |
38 | 38 |
39 using base::Callback; | 39 using base::Callback; |
40 using base::Closure; | 40 using base::Closure; |
41 using base::FilePath; | 41 using base::FilePath; |
42 using base::MessageLoopProxy; | 42 using base::MessageLoopProxy; |
43 using base::SequencedWorkerPool; | 43 using base::SequencedWorkerPool; |
44 using base::SingleThreadTaskRunner; | 44 using base::SingleThreadTaskRunner; |
45 using base::Time; | 45 using base::Time; |
46 using base::DirectoryExists; | 46 using base::DirectoryExists; |
47 using file_util::CreateDirectory; | 47 using base::CreateDirectory; |
48 | 48 |
49 namespace disk_cache { | 49 namespace disk_cache { |
50 | 50 |
51 namespace { | 51 namespace { |
52 | 52 |
53 // Maximum number of concurrent worker pool threads, which also is the limit | 53 // Maximum number of concurrent worker pool threads, which also is the limit |
54 // on concurrent IO (as we use one thread per IO request). | 54 // on concurrent IO (as we use one thread per IO request). |
55 const int kDefaultMaxWorkerThreads = 50; | 55 const int kDefaultMaxWorkerThreads = 50; |
56 | 56 |
57 const char kThreadNamePrefix[] = "SimpleCache"; | 57 const char kThreadNamePrefix[] = "SimpleCache"; |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 "FileDescriptorLimitHard", cache_type, hard_fd_limit); | 117 "FileDescriptorLimitHard", cache_type, hard_fd_limit); |
118 } | 118 } |
119 | 119 |
120 g_fd_limit_histogram_has_been_populated = true; | 120 g_fd_limit_histogram_has_been_populated = true; |
121 } | 121 } |
122 | 122 |
123 // Detects if the files in the cache directory match the current disk cache | 123 // Detects if the files in the cache directory match the current disk cache |
124 // backend type and version. If the directory contains no cache, occupies it | 124 // backend type and version. If the directory contains no cache, occupies it |
125 // with the fresh structure. | 125 // with the fresh structure. |
126 bool FileStructureConsistent(const base::FilePath& path) { | 126 bool FileStructureConsistent(const base::FilePath& path) { |
127 if (!base::PathExists(path) && !file_util::CreateDirectory(path)) { | 127 if (!base::PathExists(path) && !base::CreateDirectory(path)) { |
128 LOG(ERROR) << "Failed to create directory: " << path.LossyDisplayName(); | 128 LOG(ERROR) << "Failed to create directory: " << path.LossyDisplayName(); |
129 return false; | 129 return false; |
130 } | 130 } |
131 return disk_cache::UpgradeSimpleCacheOnDisk(path); | 131 return disk_cache::UpgradeSimpleCacheOnDisk(path); |
132 } | 132 } |
133 | 133 |
134 // A context used by a BarrierCompletionCallback to track state. | 134 // A context used by a BarrierCompletionCallback to track state. |
135 struct BarrierContext { | 135 struct BarrierContext { |
136 BarrierContext(int expected) | 136 BarrierContext(int expected) |
137 : expected(expected), | 137 : expected(expected), |
(...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
702 this)); | 702 this)); |
703 callback.Run(result); | 703 callback.Run(result); |
704 } | 704 } |
705 | 705 |
706 void SimpleBackendImpl::FlushWorkerPoolForTesting() { | 706 void SimpleBackendImpl::FlushWorkerPoolForTesting() { |
707 if (g_sequenced_worker_pool) | 707 if (g_sequenced_worker_pool) |
708 g_sequenced_worker_pool->FlushForTesting(); | 708 g_sequenced_worker_pool->FlushForTesting(); |
709 } | 709 } |
710 | 710 |
711 } // namespace disk_cache | 711 } // namespace disk_cache |
OLD | NEW |