Index: net/disk_cache/block_files.h |
=================================================================== |
--- net/disk_cache/block_files.h (revision 222596) |
+++ net/disk_cache/block_files.h (working copy) |
@@ -24,7 +24,11 @@ |
namespace disk_cache { |
// An instance of this class represents the header of a block file in memory. |
-// Note that this class doesn't perform any file operation. |
+// Note that this class doesn't perform any file operation (as in it only deals |
+// with entities in memory). |
+// The header of a block file (and hence, this object) is all that is needed to |
+// perform common operations like allocating or releasing space for storage; |
+// actual access to that storage, however, is not performed through this class. |
class NET_EXPORT_PRIVATE BlockHeader { |
public: |
BlockHeader(); |
@@ -33,10 +37,9 @@ |
BlockHeader(const BlockHeader& other); |
~BlockHeader(); |
- // Creates a new entry on the allocation map, updating the apropriate |
- // counters. |target| is the type of block to use (number of empty blocks), |
- // and |size| is the actual number of blocks to use. |
- bool CreateMapBlock(int target, int size, int* index); |
+ // Creates a new entry of |size| blocks on the allocation map, updating the |
+ // apropriate counters. |
+ bool CreateMapBlock(int size, int* index); |
// Deletes the block pointed by |index|. |
void DeleteMapBlock(int index, int block_size); |
@@ -49,20 +52,34 @@ |
// Returns true if the current block file should not be used as-is to store |
// more records. |block_count| is the number of blocks to allocate. |
- bool NeedToGrowBlockFile(int block_count); |
+ bool NeedToGrowBlockFile(int block_count) const; |
+ // Returns true if this block file can be used to store an extra record of |
+ // size |block_count|. |
+ bool CanAllocate(int block_count) const; |
+ |
// Returns the number of empty blocks for this file. |
int EmptyBlocks() const; |
+ // Returns the minumum number of allocations that can be satisfied. |
+ int MinimumAllocations() const; |
+ |
+ // Returns the number of blocks that this file can store. |
+ int Capacity() const; |
+ |
// Returns true if the counters look OK. |
bool ValidateCounters() const; |
+ // Returns the identifiers of this and the next file (0 if there is none). |
+ int FileId() const; |
+ int NextFileId() const; |
+ |
// Returns the size of the wrapped structure (BlockFileHeader). |
int Size() const; |
- BlockFileHeader* operator->() { return header_; } |
- void operator=(const BlockHeader& other) { header_ = other.header_; } |
- BlockFileHeader* Get() { return header_; } |
+ // Returns a pointer to the underlying BlockFileHeader. |
+ // TODO(rvargas): This may be removed with the support for V2. |
+ BlockFileHeader* Header(); |
private: |
BlockFileHeader* header_; |