Index: net/disk_cache/addr.cc |
=================================================================== |
--- net/disk_cache/addr.cc (revision 232523) |
+++ net/disk_cache/addr.cc (working copy) |
@@ -26,6 +26,20 @@ |
return true; |
} |
+Addr Addr::AsExternal() const { |
+ DCHECK(file_type() == BLOCK_FILES); |
+ Addr new_addr(value_); |
+ new_addr.SetFileType(EXTERNAL); |
+ return new_addr; |
+} |
+ |
+Addr Addr::AsBlockFile() const { |
+ DCHECK(is_separate_file()); |
+ Addr new_addr(value_); |
+ new_addr.SetFileType(BLOCK_FILES); |
+ return new_addr; |
+} |
+ |
bool Addr::SanityCheckV2() const { |
if (!is_initialized()) |
return !value_; |
@@ -89,4 +103,9 @@ |
return true; |
} |
+void Addr::SetFileType(FileType type) { |
+ value_ &= ~kFileTypeMask; |
+ value_ += type << kFileTypeOffset; |
+} |
+ |
} // namespace disk_cache |