blob: e146d1359a86b6276500a96bba9e2c059bc422d4 [file] [log] [blame]
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "net/disk_cache/simple/simple_net_log_parameters.h"
#include <utility>
#include "base/bind.h"
#include "base/check.h"
#include "base/compiler_specific.h"
#include "base/format_macros.h"
#include "base/strings/stringprintf.h"
#include "base/values.h"
#include "net/base/net_errors.h"
#include "net/disk_cache/simple/simple_entry_impl.h"
#include "net/log/net_log_capture_mode.h"
namespace {
base::Value NetLogSimpleEntryConstructionParams(
const disk_cache::SimpleEntryImpl* entry) {
base::Value::Dict dict;
dict.Set("entry_hash",
base::StringPrintf("%#016" PRIx64, entry->entry_hash()));
return base::Value(std::move(dict));
}
base::Value NetLogSimpleEntryCreationParams(
const disk_cache::SimpleEntryImpl* entry,
int net_error) {
base::Value::Dict dict;
dict.Set("net_error", net_error);
if (net_error == net::OK)
dict.Set("key", entry->key());
return base::Value(std::move(dict));
}
} // namespace
namespace disk_cache {
void NetLogSimpleEntryConstruction(const net::NetLogWithSource& net_log,
net::NetLogEventType type,
net::NetLogEventPhase phase,
const SimpleEntryImpl* entry) {
DCHECK(entry);
net_log.AddEntry(type, phase,
[&] { return NetLogSimpleEntryConstructionParams(entry); });
}
void NetLogSimpleEntryCreation(const net::NetLogWithSource& net_log,
net::NetLogEventType type,
net::NetLogEventPhase phase,
const SimpleEntryImpl* entry,
int net_error) {
DCHECK(entry);
net_log.AddEntry(type, phase, [&] {
return NetLogSimpleEntryCreationParams(entry, net_error);
});
}
} // namespace disk_cache