// 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_