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

Side by Side Diff: net/disk_cache/in_flight_backend_io.cc

Issue 8794003: base::Bind: Convert disk_cache_based_ssl_host_info. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove an OldCompletionCallback. Created 9 years 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
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/in_flight_backend_io.h" 5 #include "net/disk_cache/in_flight_backend_io.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "net/base/net_errors.h" 10 #include "net/base/net_errors.h"
11 #include "net/disk_cache/backend_impl.h" 11 #include "net/disk_cache/backend_impl.h"
12 #include "net/disk_cache/entry_impl.h" 12 #include "net/disk_cache/entry_impl.h"
13 #include "net/disk_cache/histogram_macros.h" 13 #include "net/disk_cache/histogram_macros.h"
14 14
15 namespace disk_cache { 15 namespace disk_cache {
16 16
17 BackendIO::BackendIO(InFlightIO* controller, BackendImpl* backend, 17 BackendIO::BackendIO(InFlightIO* controller, BackendImpl* backend,
18 net::OldCompletionCallback* callback) 18 net::OldCompletionCallback* callback)
19 : BackgroundIO(controller), backend_(backend), callback_(callback), 19 : BackgroundIO(controller),
20 backend_(backend),
21 old_callback_(callback),
20 operation_(OP_NONE), 22 operation_(OP_NONE),
21 ALLOW_THIS_IN_INITIALIZER_LIST( 23 ALLOW_THIS_IN_INITIALIZER_LIST(
22 my_callback_(this, &BackendIO::OnIOComplete)) { 24 my_callback_(this, &BackendIO::OnIOComplete)) {
25 start_time_ = base::TimeTicks::Now();
26 }
27
28 BackendIO::BackendIO(InFlightIO* controller, BackendImpl* backend,
29 const net::CompletionCallback& callback)
30 : BackgroundIO(controller),
31 backend_(backend),
32 old_callback_(NULL),
33 callback_(callback),
34 operation_(OP_NONE),
35 ALLOW_THIS_IN_INITIALIZER_LIST(
36 my_callback_(this, &BackendIO::OnIOComplete)) {
23 start_time_ = base::TimeTicks::Now(); 37 start_time_ = base::TimeTicks::Now();
24 } 38 }
25 39
26 // Runs on the background thread. 40 // Runs on the background thread.
27 void BackendIO::ExecuteOperation() { 41 void BackendIO::ExecuteOperation() {
28 if (IsEntryOperation()) 42 if (IsEntryOperation())
29 return ExecuteEntryOperation(); 43 return ExecuteEntryOperation();
30 44
31 ExecuteBackendOperation(); 45 ExecuteBackendOperation();
32 } 46 }
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 PostOperation(operation); 320 PostOperation(operation);
307 } 321 }
308 322
309 void InFlightBackendIO::OpenEntry(const std::string& key, Entry** entry, 323 void InFlightBackendIO::OpenEntry(const std::string& key, Entry** entry,
310 OldCompletionCallback* callback) { 324 OldCompletionCallback* callback) {
311 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback)); 325 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
312 operation->OpenEntry(key, entry); 326 operation->OpenEntry(key, entry);
313 PostOperation(operation); 327 PostOperation(operation);
314 } 328 }
315 329
330 void InFlightBackendIO::OpenEntry(const std::string& key, Entry** entry,
331 const net::CompletionCallback& callback) {
332 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
333 operation->OpenEntry(key, entry);
334 PostOperation(operation);
335 }
336
316 void InFlightBackendIO::CreateEntry(const std::string& key, Entry** entry, 337 void InFlightBackendIO::CreateEntry(const std::string& key, Entry** entry,
317 OldCompletionCallback* callback) { 338 OldCompletionCallback* callback) {
318 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback)); 339 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
319 operation->CreateEntry(key, entry); 340 operation->CreateEntry(key, entry);
320 PostOperation(operation); 341 PostOperation(operation);
321 } 342 }
322 343
344 void InFlightBackendIO::CreateEntry(const std::string& key, Entry** entry,
345 const net::CompletionCallback& callback) {
346 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
347 operation->CreateEntry(key, entry);
348 PostOperation(operation);
349 }
350
323 void InFlightBackendIO::DoomEntry(const std::string& key, 351 void InFlightBackendIO::DoomEntry(const std::string& key,
324 OldCompletionCallback* callback) { 352 OldCompletionCallback* callback) {
325 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback)); 353 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
326 operation->DoomEntry(key); 354 operation->DoomEntry(key);
327 PostOperation(operation); 355 PostOperation(operation);
328 } 356 }
329 357
330 void InFlightBackendIO::DoomAllEntries(OldCompletionCallback* callback) { 358 void InFlightBackendIO::DoomAllEntries(OldCompletionCallback* callback) {
331 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback)); 359 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
332 operation->DoomAllEntries(); 360 operation->DoomAllEntries();
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 } 427 }
400 428
401 void InFlightBackendIO::ReadData(EntryImpl* entry, int index, int offset, 429 void InFlightBackendIO::ReadData(EntryImpl* entry, int index, int offset,
402 net::IOBuffer* buf, int buf_len, 430 net::IOBuffer* buf, int buf_len,
403 OldCompletionCallback* callback) { 431 OldCompletionCallback* callback) {
404 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback)); 432 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
405 operation->ReadData(entry, index, offset, buf, buf_len); 433 operation->ReadData(entry, index, offset, buf, buf_len);
406 PostOperation(operation); 434 PostOperation(operation);
407 } 435 }
408 436
437 void InFlightBackendIO::ReadData(EntryImpl* entry, int index, int offset,
438 net::IOBuffer* buf, int buf_len,
439 const net::CompletionCallback& callback) {
440 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
441 operation->ReadData(entry, index, offset, buf, buf_len);
442 PostOperation(operation);
443 }
444
409 void InFlightBackendIO::WriteData(EntryImpl* entry, int index, int offset, 445 void InFlightBackendIO::WriteData(EntryImpl* entry, int index, int offset,
410 net::IOBuffer* buf, int buf_len, 446 net::IOBuffer* buf, int buf_len,
411 bool truncate, 447 bool truncate,
412 OldCompletionCallback* callback) { 448 OldCompletionCallback* callback) {
413 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback)); 449 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
414 operation->WriteData(entry, index, offset, buf, buf_len, truncate); 450 operation->WriteData(entry, index, offset, buf, buf_len, truncate);
415 PostOperation(operation); 451 PostOperation(operation);
416 } 452 }
417 453
454 void InFlightBackendIO::WriteData(EntryImpl* entry, int index, int offset,
455 net::IOBuffer* buf, int buf_len,
456 bool truncate,
457 const net::CompletionCallback& callback) {
458 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
459 operation->WriteData(entry, index, offset, buf, buf_len, truncate);
460 PostOperation(operation);
461 }
462
418 void InFlightBackendIO::ReadSparseData(EntryImpl* entry, int64 offset, 463 void InFlightBackendIO::ReadSparseData(EntryImpl* entry, int64 offset,
419 net::IOBuffer* buf, int buf_len, 464 net::IOBuffer* buf, int buf_len,
420 OldCompletionCallback* callback) { 465 OldCompletionCallback* callback) {
421 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback)); 466 scoped_refptr<BackendIO> operation(new BackendIO(this, backend_, callback));
422 operation->ReadSparseData(entry, offset, buf, buf_len); 467 operation->ReadSparseData(entry, offset, buf, buf_len);
423 PostOperation(operation); 468 PostOperation(operation);
424 } 469 }
425 470
426 void InFlightBackendIO::WriteSparseData(EntryImpl* entry, int64 offset, 471 void InFlightBackendIO::WriteSparseData(EntryImpl* entry, int64 offset,
427 net::IOBuffer* buf, int buf_len, 472 net::IOBuffer* buf, int buf_len,
(...skipping 29 matching lines...) Expand all
457 } 502 }
458 503
459 void InFlightBackendIO::OnOperationComplete(BackgroundIO* operation, 504 void InFlightBackendIO::OnOperationComplete(BackgroundIO* operation,
460 bool cancel) { 505 bool cancel) {
461 BackendIO* op = static_cast<BackendIO*>(operation); 506 BackendIO* op = static_cast<BackendIO*>(operation);
462 507
463 if (op->IsEntryOperation()) { 508 if (op->IsEntryOperation()) {
464 CACHE_UMA(TIMES, "TotalIOTime", 0, op->ElapsedTime()); 509 CACHE_UMA(TIMES, "TotalIOTime", 0, op->ElapsedTime());
465 } 510 }
466 511
467 if (op->callback() && (!cancel || op->IsEntryOperation())) 512 if (op->old_callback() && (!cancel || op->IsEntryOperation()))
468 op->callback()->Run(op->result()); 513 op->old_callback()->Run(op->result());
514 else if (!op->callback().is_null() && (!cancel || op->IsEntryOperation()))
515 op->callback().Run(op->result());
469 } 516 }
470 517
471 void InFlightBackendIO::PostOperation(BackendIO* operation) { 518 void InFlightBackendIO::PostOperation(BackendIO* operation) {
472 background_thread_->PostTask(FROM_HERE, 519 background_thread_->PostTask(FROM_HERE,
473 base::Bind(&BackendIO::ExecuteOperation, operation)); 520 base::Bind(&BackendIO::ExecuteOperation, operation));
474 OnOperationPosted(operation); 521 OnOperationPosted(operation);
475 } 522 }
476 523
477 } // namespace 524 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698