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#ifndef NET_DISK_CACHE_NET_LOG_PARAMETERS_H_ 6#define NET_DISK_CACHE_NET_LOG_PARAMETERS_H_ 7#pragma once 8 9#include <string> 10 11#include "net/base/net_log.h" 12 13// This file contains a set of NetLog::EventParameters shared by EntryImpls and 14// MemEntryImpls. 15namespace disk_cache { 16 17// NetLog parameters for the creation of an Entry. Contains the Entry's name 18// and whether it was created or opened. 19class EntryCreationParameters : public net::NetLog::EventParameters { 20 public: 21 EntryCreationParameters(const std::string& key, bool created); 22 virtual Value* ToValue() const; 23 24 private: 25 const std::string key_; 26 const bool created_; 27 28 DISALLOW_COPY_AND_ASSIGN(EntryCreationParameters); 29}; 30 31// NetLog parameters for non-sparse reading and writing to an Entry. 32class ReadWriteDataParameters : public net::NetLog::EventParameters { 33 public: 34 // For reads, |truncate| must be false. 35 ReadWriteDataParameters(int index, int offset, int buf_len, bool truncate); 36 virtual Value* ToValue() const; 37 38 private: 39 const int index_; 40 const int offset_; 41 const int buf_len_; 42 const bool truncate_; 43 44 DISALLOW_COPY_AND_ASSIGN(ReadWriteDataParameters); 45}; 46 47// NetLog parameters for when a non-sparse read or write completes. 48class ReadWriteCompleteParameters : public net::NetLog::EventParameters { 49 public: 50 // |bytes_copied| is either the number of bytes copied or a network error 51 // code. |bytes_copied| must not be ERR_IO_PENDING, as it's not a valid 52 // result for an operation. 53 explicit ReadWriteCompleteParameters(int bytes_copied); 54 virtual Value* ToValue() const; 55 56 private: 57 const int bytes_copied_; 58 59 DISALLOW_COPY_AND_ASSIGN(ReadWriteCompleteParameters); 60}; 61 62// NetLog parameters for when a sparse operation is started. 63class SparseOperationParameters : public net::NetLog::EventParameters { 64 public: 65 SparseOperationParameters(int64 offset, int buff_len); 66 virtual Value* ToValue() const; 67 68 private: 69 const int64 offset_; 70 const int buff_len_; 71}; 72 73// NetLog parameters for when a read or write for a sparse entry's child is 74// started. 75class SparseReadWriteParameters : public net::NetLog::EventParameters { 76 public: 77 SparseReadWriteParameters(const net::NetLog::Source& source, int child_len); 78 virtual Value* ToValue() const; 79 80 private: 81 const net::NetLog::Source source_; 82 const int child_len_; 83}; 84 85// NetLog parameters for when a call to GetAvailableRange returns. 86class GetAvailableRangeResultParameters : public net::NetLog::EventParameters { 87 public: 88 // |start| is ignored when |result| < 0. 89 GetAvailableRangeResultParameters(int64 start, int result); 90 virtual Value* ToValue() const; 91 92 private: 93 const int64 start_; 94 const int result_; 95}; 96 97} // namespace disk_cache 98 99#endif // NET_DISK_CACHE_NET_LOG_CACHE_PARAMETERS_H_ 100