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