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

Unified Diff: net/http/http_cache.cc

Issue 4067002: First pass at adding http/backend cache to NetLog (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Add back mysteriously missing files Created 10 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 side-by-side diff with in-line comments
Download patch
Index: net/http/http_cache.cc
===================================================================
--- net/http/http_cache.cc (revision 68857)
+++ net/http/http_cache.cc (working copy)
@@ -21,6 +21,7 @@
#include "base/string_number_conversions.h"
#include "base/string_util.h"
#include "base/stringprintf.h"
+#include "base/values.h"
#include "net/base/io_buffer.h"
#include "net/base/load_flags.h"
#include "net/base/net_errors.h"
@@ -55,17 +56,18 @@
return new DefaultBackend(MEMORY_CACHE, FilePath(), max_bytes, NULL);
}
-int HttpCache::DefaultBackend::CreateBackend(disk_cache::Backend** backend,
+int HttpCache::DefaultBackend::CreateBackend(NetLog* net_log,
+ disk_cache::Backend** backend,
CompletionCallback* callback) {
DCHECK_GE(max_bytes_, 0);
return disk_cache::CreateCacheBackend(type_, path_, max_bytes_, true,
- thread_, backend, callback);
+ thread_, net_log, backend, callback);
}
//-----------------------------------------------------------------------------
-HttpCache::ActiveEntry::ActiveEntry(disk_cache::Entry* e)
- : disk_entry(e),
+HttpCache::ActiveEntry::ActiveEntry(disk_cache::Entry* entry)
+ : disk_entry(entry),
writer(NULL),
will_process_pending_queue(false),
doomed(false) {
@@ -287,7 +289,8 @@
HttpNetworkDelegate* network_delegate,
NetLog* net_log,
BackendFactory* backend_factory)
- : backend_factory_(backend_factory),
+ : net_log_(net_log),
+ backend_factory_(backend_factory),
building_backend_(false),
mode_(NORMAL),
ssl_host_info_factory_(new SSLHostInfoFactoryAdaptor(
@@ -302,7 +305,8 @@
HttpCache::HttpCache(HttpNetworkSession* session,
BackendFactory* backend_factory)
- : backend_factory_(backend_factory),
+ : net_log_(session->net_log()),
+ backend_factory_(backend_factory),
building_backend_(false),
mode_(NORMAL),
network_layer_(HttpNetworkLayer::CreateFactory(session)),
@@ -310,8 +314,10 @@
}
HttpCache::HttpCache(HttpTransactionFactory* network_layer,
- BackendFactory* backend_factory)
- : backend_factory_(backend_factory),
+ BackendFactory* backend_factory,
+ NetLog* net_log)
+ : net_log_(net_log),
+ backend_factory_(backend_factory),
building_backend_(false),
mode_(NORMAL),
network_layer_(network_layer),
@@ -463,7 +469,8 @@
BackendCallback* my_callback = new BackendCallback(this, pending_op);
pending_op->callback = my_callback;
- int rv = backend_factory_->CreateBackend(&pending_op->backend, my_callback);
+ int rv = backend_factory_->CreateBackend(net_log_, &pending_op->backend,
+ my_callback);
if (rv != ERR_IO_PENDING) {
pending_op->writer->ClearCallback();
my_callback->Run(rv);
@@ -732,6 +739,17 @@
}
int HttpCache::AddTransactionToEntry(ActiveEntry* entry, Transaction* trans) {
+ int result = AddTransactionToEntryInternal(entry, trans);
+ if (result == ERR_IO_PENDING) {
+ trans->net_log().BeginEvent(
+ NetLog::TYPE_ACTIVE_ENTRY_QUEUE,
rvargas (doing something else) 2010/12/13 23:34:39 This seems to do the same as TYPE_HTTP_CACHE_ADD_T
mmenke 2010/12/14 17:53:43 Removed. If we decide we really want queue length
+ new NetLogIntegerParameter("queue_size", entry->pending_queue.size()));
+ }
+ return result;
+}
+
+int HttpCache::AddTransactionToEntryInternal(ActiveEntry* entry,
+ Transaction* trans) {
DCHECK(entry);
DCHECK(entry->disk_entry);
@@ -956,8 +974,9 @@
entry->pending_queue.erase(entry->pending_queue.begin());
- int rv = AddTransactionToEntry(entry, next);
+ int rv = AddTransactionToEntryInternal(entry, next);
if (rv != ERR_IO_PENDING) {
+ next->net_log().EndEvent(NetLog::TYPE_ACTIVE_ENTRY_QUEUE, NULL);
next->io_callback()->Run(rv);
}
}

Powered by Google App Engine
This is Rietveld 408576698