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

Side by Side Diff: net/tools/dump_cache/upgrade.cc

Issue 2869005: Disk Cache: Remove deprecated methods from the disk cache interface.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « net/tools/dump_cache/cache_dumper.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "base/file_path.h" 5 #include "base/file_path.h"
6 #include "base/logging.h" 6 #include "base/logging.h"
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/scoped_ptr.h" 8 #include "base/scoped_ptr.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/thread.h" 10 #include "base/thread.h"
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 return pending_count_ != 0; 203 return pending_count_ != 0;
204 } 204 }
205 205
206 // ----------------------------------------------------------------------- 206 // -----------------------------------------------------------------------
207 207
208 class MasterSM : public BaseSM { 208 class MasterSM : public BaseSM {
209 public: 209 public:
210 MasterSM(const std::wstring& path, HANDLE channel, bool dump_to_disk) 210 MasterSM(const std::wstring& path, HANDLE channel, bool dump_to_disk)
211 : BaseSM(channel), path_(path), dump_to_disk_(dump_to_disk), 211 : BaseSM(channel), path_(path), dump_to_disk_(dump_to_disk),
212 ALLOW_THIS_IN_INITIALIZER_LIST( 212 ALLOW_THIS_IN_INITIALIZER_LIST(
213 create_callback_(this, &MasterSM::DoCreateEntryComplete)),
214 ALLOW_THIS_IN_INITIALIZER_LIST(
213 write_callback_(this, &MasterSM::DoReadDataComplete)) { 215 write_callback_(this, &MasterSM::DoReadDataComplete)) {
214 } 216 }
215 virtual ~MasterSM() { 217 virtual ~MasterSM() {
216 delete writer_; 218 delete writer_;
217 } 219 }
218 220
219 bool DoInit(); 221 bool DoInit();
220 virtual void OnIOCompleted(MessageLoopForIO::IOContext* context, 222 virtual void OnIOCompleted(MessageLoopForIO::IOContext* context,
221 DWORD bytes_transfered, DWORD error); 223 DWORD bytes_transfered, DWORD error);
222 224
223 private: 225 private:
224 enum { 226 enum {
225 MASTER_INITIAL = 0, 227 MASTER_INITIAL = 0,
226 MASTER_CONNECT, 228 MASTER_CONNECT,
227 MASTER_GET_ENTRY, 229 MASTER_GET_ENTRY,
228 MASTER_GET_NEXT_ENTRY, 230 MASTER_GET_NEXT_ENTRY,
229 MASTER_GET_KEY, 231 MASTER_GET_KEY,
230 MASTER_GET_USE_TIMES, 232 MASTER_GET_USE_TIMES,
231 MASTER_GET_DATA_SIZE, 233 MASTER_GET_DATA_SIZE,
232 MASTER_READ_DATA, 234 MASTER_READ_DATA,
233 MASTER_END 235 MASTER_END
234 }; 236 };
235 237
236 void SendGetPrevEntry(); 238 void SendGetPrevEntry();
237 void DoGetEntry(); 239 void DoGetEntry();
238 void DoGetKey(int bytes_read); 240 void DoGetKey(int bytes_read);
241 void DoCreateEntryComplete(int result);
239 void DoGetUseTimes(); 242 void DoGetUseTimes();
240 void SendGetDataSize(); 243 void SendGetDataSize();
241 void DoGetDataSize(); 244 void DoGetDataSize();
242 void CloseEntry(); 245 void CloseEntry();
243 void SendReadData(); 246 void SendReadData();
244 void DoReadData(int bytes_read); 247 void DoReadData(int bytes_read);
245 void DoReadDataComplete(int ret); 248 void DoReadDataComplete(int ret);
246 void SendQuit(); 249 void SendQuit();
247 void DoEnd(); 250 void DoEnd();
248 void Fail(); 251 void Fail();
249 252
250 base::Time last_used_; 253 base::Time last_used_;
251 base::Time last_modified_; 254 base::Time last_modified_;
252 int64 remote_entry_; 255 int64 remote_entry_;
253 int stream_; 256 int stream_;
254 int bytes_remaining_; 257 int bytes_remaining_;
255 int offset_; 258 int offset_;
256 int copied_entries_; 259 int copied_entries_;
257 int read_size_; 260 int read_size_;
258 scoped_ptr<disk_cache::Backend> cache_; 261 scoped_ptr<disk_cache::Backend> cache_;
259 CacheDumpWriter* writer_; 262 CacheDumpWriter* writer_;
260 const std::wstring& path_; 263 const std::wstring& path_;
261 bool dump_to_disk_; 264 bool dump_to_disk_;
265 net::CompletionCallbackImpl<MasterSM> create_callback_;
262 net::CompletionCallbackImpl<MasterSM> write_callback_; 266 net::CompletionCallbackImpl<MasterSM> write_callback_;
263 }; 267 };
264 268
265 void MasterSM::OnIOCompleted(MessageLoopForIO::IOContext* context, 269 void MasterSM::OnIOCompleted(MessageLoopForIO::IOContext* context,
266 DWORD bytes_transfered, DWORD error) { 270 DWORD bytes_transfered, DWORD error) {
267 pending_count_--; 271 pending_count_--;
268 if (context == &out_context_) { 272 if (context == &out_context_) {
269 if (!error) 273 if (!error)
270 return; 274 return;
271 return Fail(); 275 return Fail();
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 printf("Skipping entry (name too long)\n"); 385 printf("Skipping entry (name too long)\n");
382 return SendGetPrevEntry(); 386 return SendGetPrevEntry();
383 } 387 }
384 388
385 if (input_->msg.result != RESULT_OK) 389 if (input_->msg.result != RESULT_OK)
386 return Fail(); 390 return Fail();
387 391
388 std::string key(input_->buffer); 392 std::string key(input_->buffer);
389 DCHECK(key.size() == static_cast<size_t>(input_->msg.buffer_bytes - 1)); 393 DCHECK(key.size() == static_cast<size_t>(input_->msg.buffer_bytes - 1));
390 394
391 if (!writer_->CreateEntry(key, 395 int rv = writer_->CreateEntry(key,
392 reinterpret_cast<disk_cache::Entry**>(&entry_))) { 396 reinterpret_cast<disk_cache::Entry**>(&entry_),
397 &create_callback_);
398
399 if (rv != net::ERR_IO_PENDING)
400 DoCreateEntryComplete(rv);
401 }
402
403 void MasterSM::DoCreateEntryComplete(int result) {
404 std::string key(input_->buffer);
405 if (result != net::OK) {
393 printf("Skipping entry \"%s\": %d\n", key.c_str(), GetLastError()); 406 printf("Skipping entry \"%s\": %d\n", key.c_str(), GetLastError());
394 return SendGetPrevEntry(); 407 return SendGetPrevEntry();
395 } 408 }
396 409
397 if (key.size() >= 64) { 410 if (key.size() >= 64) {
398 key[60] = '.'; 411 key[60] = '.';
399 key[61] = '.'; 412 key[61] = '.';
400 key[62] = '.'; 413 key[62] = '.';
401 key[63] = '\0'; 414 key[63] = '\0';
402 } 415 }
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
885 898
886 SlaveSM slave(input_path, pipe); 899 SlaveSM slave(input_path, pipe);
887 if (!slave.DoInit()) { 900 if (!slave.DoInit()) {
888 printf("Unable to talk with the main process\n"); 901 printf("Unable to talk with the main process\n");
889 return -1; 902 return -1;
890 } 903 }
891 904
892 loop.Run(); 905 loop.Run();
893 return 0; 906 return 0;
894 } 907 }
OLDNEW
« no previous file with comments | « net/tools/dump_cache/cache_dumper.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698