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