Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Side by Side Diff: net/tools/flip_server/mem_cache.cc

Issue 1548293002: Use scoped_ptr in Files-map and remove unused functions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/tools/flip_server/mem_cache.h" 5 #include "net/tools/flip_server/mem_cache.h"
6 6
7 #include <dirent.h> 7 #include <dirent.h>
8 #include <errno.h> 8 #include <errno.h>
9 #include <fcntl.h> 9 #include <fcntl.h>
10 #include <stdio.h> 10 #include <stdio.h>
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 headers_.reset(new BalsaHeaders); 58 headers_.reset(new BalsaHeaders);
59 headers_->CopyFrom(*headers); 59 headers_->CopyFrom(*headers);
60 } 60 }
61 } 61 }
62 62
63 FileData::FileData() {} 63 FileData::FileData() {}
64 64
65 FileData::~FileData() {} 65 FileData::~FileData() {}
66 66
67 MemoryCache::MemoryCache() : cwd_(FLAGS_cache_base_dir) {} 67 MemoryCache::MemoryCache() : cwd_(FLAGS_cache_base_dir) {}
68 68 MemoryCache::~MemoryCache() {}
69 MemoryCache::~MemoryCache() { ClearFiles(); }
70
71 void MemoryCache::CloneFrom(const MemoryCache& mc) {
72 DCHECK_NE(this, &mc);
73 ClearFiles();
74 files_ = mc.files_;
75 cwd_ = mc.cwd_;
76 }
77 69
78 void MemoryCache::AddFiles() { 70 void MemoryCache::AddFiles() {
79 std::deque<std::string> paths; 71 std::deque<std::string> paths;
80 paths.push_back(cwd_ + "/GET_"); 72 paths.push_back(cwd_ + "/GET_");
81 DIR* current_dir = NULL; 73 DIR* current_dir = NULL;
82 while (!paths.empty()) { 74 while (!paths.empty()) {
83 while (current_dir == NULL && !paths.empty()) { 75 while (current_dir == NULL && !paths.empty()) {
84 std::string current_dir_name = paths.front(); 76 std::string current_dir_name = paths.front();
85 VLOG(1) << "Attempting to open dir: \"" << current_dir_name << "\""; 77 VLOG(1) << "Attempting to open dir: \"" << current_dir_name << "\"";
86 current_dir = opendir(current_dir_name.c_str()); 78 current_dir = opendir(current_dir_name.c_str());
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 Files::iterator fi = files_.end(); 198 Files::iterator fi = files_.end();
207 if (base::EndsWith(filename, ".html", base::CompareCase::SENSITIVE)) { 199 if (base::EndsWith(filename, ".html", base::CompareCase::SENSITIVE)) {
208 fi = files_.find(filename.substr(0, filename.size() - 5) + ".http"); 200 fi = files_.find(filename.substr(0, filename.size() - 5) + ".http");
209 } 201 }
210 if (fi == files_.end()) 202 if (fi == files_.end())
211 fi = files_.find(filename); 203 fi = files_.find(filename);
212 204
213 if (fi == files_.end()) { 205 if (fi == files_.end()) {
214 return NULL; 206 return NULL;
215 } 207 }
216 return fi->second; 208 return fi->second.get();
209 ;
217 } 210 }
218 211
219 bool MemoryCache::AssignFileData(const std::string& filename, 212 bool MemoryCache::AssignFileData(const std::string& filename,
220 MemCacheIter* mci) { 213 MemCacheIter* mci) {
221 mci->file_data = GetFileData(filename); 214 mci->file_data = GetFileData(filename);
222 if (mci->file_data == NULL) { 215 if (mci->file_data == NULL) {
223 LOG(ERROR) << "Could not find file data for " << filename; 216 LOG(ERROR) << "Could not find file data for " << filename;
224 return false; 217 return false;
225 } 218 }
226 return true; 219 return true;
227 } 220 }
228 221
229 void MemoryCache::InsertFile(const BalsaHeaders* headers, 222 void MemoryCache::InsertFile(const BalsaHeaders* headers,
230 const std::string& filename, 223 const std::string& filename,
231 const std::string& body) { 224 const std::string& body) {
232 InsertFile(new FileData(headers, filename, body)); 225 InsertFile(new FileData(headers, filename, body));
233 } 226 }
234 227
235 void MemoryCache::InsertFile(FileData* file_data) { 228 void MemoryCache::InsertFile(FileData* file_data) {
236 Files::iterator it = files_.find(file_data->filename()); 229 Files::iterator it = files_.find(file_data->filename());
237 if (it != files_.end()) { 230 if (it != files_.end()) {
238 delete it->second; 231 it->second.reset(file_data);
239 it->second = file_data;
240 } else { 232 } else {
241 files_.insert(std::make_pair(file_data->filename(), file_data)); 233 files_.insert(
234 std::make_pair(file_data->filename(), make_scoped_ptr(file_data)));
242 } 235 }
243 } 236 }
244 237
245 void MemoryCache::ClearFiles() {
246 for (Files::const_iterator i = files_.begin(); i != files_.end(); ++i) {
247 delete i->second;
248 }
249 files_.clear();
250 }
251
252 } // namespace net 238 } // namespace net
OLDNEW
« net/tools/flip_server/mem_cache.h ('K') | « net/tools/flip_server/mem_cache.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698