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
3 // found in the LICENSE file.
4
5 #include "net/disk_cache/net_log_parameters.h"
6
7 #include "base/logging.h"
8 #include "base/string_number_conversions.h"
9 #include "base/values.h"
10 #include "net/base/net_errors.h"
11
12 namespace disk_cache {
13
EntryCreationParameters(const std::string & key,bool created)14 EntryCreationParameters::EntryCreationParameters(
15 const std::string& key, bool created)
16 : key_(key), created_(created) {
17 }
18
ToValue() const19 Value* EntryCreationParameters::ToValue() const {
20 DictionaryValue* dict = new DictionaryValue();
21 dict->SetString("key", key_);
22 dict->SetBoolean("created", created_);
23 return dict;
24 }
25
ReadWriteDataParameters(int index,int offset,int buf_len,bool truncate)26 ReadWriteDataParameters::ReadWriteDataParameters(
27 int index, int offset, int buf_len, bool truncate)
28 : index_(index), offset_(offset), buf_len_(buf_len), truncate_(truncate) {
29 }
30
ToValue() const31 Value* ReadWriteDataParameters::ToValue() const {
32 DictionaryValue* dict = new DictionaryValue();
33 dict->SetInteger("index", index_);
34 dict->SetInteger("offset", offset_);
35 dict->SetInteger("buf_len", buf_len_);
36 if (truncate_)
37 dict->SetBoolean("truncate", truncate_);
38 return dict;
39 }
40
41
42 // NetLog parameters logged when non-sparse reads and writes complete.
ReadWriteCompleteParameters(int bytes_copied)43 ReadWriteCompleteParameters::ReadWriteCompleteParameters(int bytes_copied)
44 : bytes_copied_(bytes_copied) {
45 }
46
ToValue() const47 Value* ReadWriteCompleteParameters::ToValue() const {
48 DCHECK_NE(bytes_copied_, net::ERR_IO_PENDING);
49 DictionaryValue* dict = new DictionaryValue();
50 if (bytes_copied_ < 0) {
51 dict->SetInteger("net_error", bytes_copied_);
52 } else {
53 dict->SetInteger("bytes_copied", bytes_copied_);
54 }
55 return dict;
56 }
57
SparseOperationParameters(int64 offset,int buff_len)58 SparseOperationParameters::SparseOperationParameters(
59 int64 offset, int buff_len)
60 : offset_(offset), buff_len_(buff_len) {
61 }
62
ToValue() const63 Value* SparseOperationParameters::ToValue() const {
64 DictionaryValue* dict = new DictionaryValue();
65 // Values can only be created with at most 32-bit integers. Using a string
66 // instead circumvents that restriction.
67 dict->SetString("offset", base::Int64ToString(offset_));
68 dict->SetInteger("buff_len", buff_len_);
69 return dict;
70 }
71
SparseReadWriteParameters(const net::NetLog::Source & source,int child_len)72 SparseReadWriteParameters::SparseReadWriteParameters(
73 const net::NetLog::Source& source, int child_len)
74 : source_(source), child_len_(child_len) {
75 }
76
ToValue() const77 Value* SparseReadWriteParameters::ToValue() const {
78 DictionaryValue* dict = new DictionaryValue();
79 dict->Set("source_dependency", source_.ToValue());
80 dict->SetInteger("child_len", child_len_);
81 return dict;
82 }
83
GetAvailableRangeResultParameters(int64 start,int result)84 GetAvailableRangeResultParameters::GetAvailableRangeResultParameters(
85 int64 start, int result)
86 : start_(start), result_(result) {
87 }
88
ToValue() const89 Value* GetAvailableRangeResultParameters::ToValue() const {
90 DictionaryValue* dict = new DictionaryValue();
91 if (result_ > 0) {
92 dict->SetInteger("length", result_);
93 dict->SetString("start", base::Int64ToString(start_));
94 } else {
95 dict->SetInteger("net_error", result_);
96 }
97 return dict;
98 }
99
100 } // namespace disk_cache
101