C++程序  |  33行  |  1.14 KB

// 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_FLASH_FORMAT_H_
#define NET_DISK_CACHE_FLASH_FORMAT_H_

namespace disk_cache {

// Storage constants.
const int32 kFlashPageSize = 8 * 1024;
const int32 kFlashBlockSize = 512 * kFlashPageSize;

// Segment constants.
const int32 kFlashSegmentSize = 4 * 1024 * 1024;
const int32 kFlashSmallEntrySize = 4 * 1024;
const size_t kFlashMaxEntryCount = kFlashSegmentSize / kFlashSmallEntrySize - 1;

// Segment summary consists of a fixed region at the end of the segment
// containing a counter specifying the number of saved offsets followed by the
// offsets.
const int32 kFlashSummarySize = (1 + kFlashMaxEntryCount) * sizeof(int32);
const int32 kFlashSegmentFreeSpace = kFlashSegmentSize - kFlashSummarySize;

// An entry consists of a fixed number of streams.
const int32 kFlashLogStoreEntryNumStreams = 4;
const int32 kFlashLogStoreEntryHeaderSize =
    kFlashLogStoreEntryNumStreams * sizeof(int32);

}  // namespace disk_cache

#endif  // NET_DISK_CACHE_FLASH_FORMAT_H_