// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef NET_DISK_CACHE_NET_LOG_PARAMETERS_H_
#define NET_DISK_CACHE_NET_LOG_PARAMETERS_H_
#pragma once
#include <string>
#include "net/base/net_log.h"
// This file contains a set of NetLog::EventParameters shared by EntryImpls and
// MemEntryImpls.
namespace disk_cache {
// NetLog parameters for the creation of an Entry. Contains the Entry's name
// and whether it was created or opened.
class EntryCreationParameters : public net::NetLog::EventParameters {
public:
EntryCreationParameters(const std::string& key, bool created);
virtual Value* ToValue() const;
private:
const std::string key_;
const bool created_;
DISALLOW_COPY_AND_ASSIGN(EntryCreationParameters);
};
// NetLog parameters for non-sparse reading and writing to an Entry.
class ReadWriteDataParameters : public net::NetLog::EventParameters {
public:
// For reads, |truncate| must be false.
ReadWriteDataParameters(int index, int offset, int buf_len, bool truncate);
virtual Value* ToValue() const;
private:
const int index_;
const int offset_;
const int buf_len_;
const bool truncate_;
DISALLOW_COPY_AND_ASSIGN(ReadWriteDataParameters);
};
// NetLog parameters for when a non-sparse read or write completes.
class ReadWriteCompleteParameters : public net::NetLog::EventParameters {
public:
// |bytes_copied| is either the number of bytes copied or a network error
// code. |bytes_copied| must not be ERR_IO_PENDING, as it's not a valid
// result for an operation.
explicit ReadWriteCompleteParameters(int bytes_copied);
virtual Value* ToValue() const;
private:
const int bytes_copied_;
DISALLOW_COPY_AND_ASSIGN(ReadWriteCompleteParameters);
};
// NetLog parameters for when a sparse operation is started.
class SparseOperationParameters : public net::NetLog::EventParameters {
public:
SparseOperationParameters(int64 offset, int buff_len);
virtual Value* ToValue() const;
private:
const int64 offset_;
const int buff_len_;
};
// NetLog parameters for when a read or write for a sparse entry's child is
// started.
class SparseReadWriteParameters : public net::NetLog::EventParameters {
public:
SparseReadWriteParameters(const net::NetLog::Source& source, int child_len);
virtual Value* ToValue() const;
private:
const net::NetLog::Source source_;
const int child_len_;
};
// NetLog parameters for when a call to GetAvailableRange returns.
class GetAvailableRangeResultParameters : public net::NetLog::EventParameters {
public:
// |start| is ignored when |result| < 0.
GetAvailableRangeResultParameters(int64 start, int result);
virtual Value* ToValue() const;
private:
const int64 start_;
const int result_;
};
} // namespace disk_cache
#endif // NET_DISK_CACHE_NET_LOG_CACHE_PARAMETERS_H_