| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef NET_DISK_CACHE_SIMPLE_SIMPLE_UTIL_H_ | |
| 6 #define NET_DISK_CACHE_SIMPLE_SIMPLE_UTIL_H_ | |
| 7 | |
| 8 #include <string> | |
| 9 | |
| 10 #include "base/basictypes.h" | |
| 11 #include "base/strings/string_piece.h" | |
| 12 #include "net/base/net_export.h" | |
| 13 | |
| 14 namespace base { | |
| 15 class FilePath; | |
| 16 class Time; | |
| 17 } | |
| 18 | |
| 19 namespace disk_cache { | |
| 20 | |
| 21 namespace simple_util { | |
| 22 | |
| 23 NET_EXPORT_PRIVATE std::string ConvertEntryHashKeyToHexString(uint64 hash_key); | |
| 24 | |
| 25 // |key| is the regular cache key, such as an URL. | |
| 26 // Returns the Hex ascii representation of the uint64 hash_key. | |
| 27 NET_EXPORT_PRIVATE std::string GetEntryHashKeyAsHexString( | |
| 28 const std::string& key); | |
| 29 | |
| 30 // |key| is the regular HTTP Cache key, which is a URL. | |
| 31 // Returns the hash of the key as uint64. | |
| 32 NET_EXPORT_PRIVATE uint64 GetEntryHashKey(const std::string& key); | |
| 33 | |
| 34 // Parses the |hash_key| string into a uint64 buffer. | |
| 35 // |hash_key| string must be of the form: FFFFFFFFFFFFFFFF . | |
| 36 NET_EXPORT_PRIVATE bool GetEntryHashKeyFromHexString( | |
| 37 const base::StringPiece& hash_key, | |
| 38 uint64* hash_key_out); | |
| 39 | |
| 40 // Given a |key| for a (potential) entry in the simple backend and the |index| | |
| 41 // of a stream on that entry, returns the filename in which that stream would be | |
| 42 // stored. | |
| 43 NET_EXPORT_PRIVATE std::string GetFilenameFromKeyAndFileIndex( | |
| 44 const std::string& key, | |
| 45 int file_index); | |
| 46 | |
| 47 // Same as |GetFilenameFromKeyAndIndex| above, but using a hex string. | |
| 48 std::string GetFilenameFromEntryHashAndFileIndex(uint64 entry_hash, | |
| 49 int file_index); | |
| 50 | |
| 51 // Given a |key| for an entry, returns the name of the sparse data file. | |
| 52 std::string GetSparseFilenameFromEntryHash(uint64 entry_hash); | |
| 53 | |
| 54 // Given the size of a file holding a stream in the simple backend and the key | |
| 55 // to an entry, returns the number of bytes in the stream. | |
| 56 NET_EXPORT_PRIVATE int32 GetDataSizeFromKeyAndFileSize(const std::string& key, | |
| 57 int64 file_size); | |
| 58 | |
| 59 // Given the size of a stream in the simple backend and the key to an entry, | |
| 60 // returns the number of bytes in the file. | |
| 61 NET_EXPORT_PRIVATE int64 GetFileSizeFromKeyAndDataSize(const std::string& key, | |
| 62 int32 data_size); | |
| 63 | |
| 64 // Given the stream index, returns the number of the file the stream is stored | |
| 65 // in. | |
| 66 NET_EXPORT_PRIVATE int GetFileIndexFromStreamIndex(int stream_index); | |
| 67 | |
| 68 // Fills |out_time| with the time the file last modified time. Unlike the | |
| 69 // functions in file.h, the time resolution is milliseconds. | |
| 70 NET_EXPORT_PRIVATE bool GetMTime(const base::FilePath& path, | |
| 71 base::Time* out_mtime); | |
| 72 | |
| 73 // Deletes a file, insuring POSIX semantics. Provided that all open handles to | |
| 74 // this file were opened with File::FLAG_SHARE_DELETE, it is possible to delete | |
| 75 // an open file and continue to use that file. After deleting an open file, it | |
| 76 // is possible to immediately create a new file with the same name. | |
| 77 NET_EXPORT_PRIVATE bool SimpleCacheDeleteFile(const base::FilePath& path); | |
| 78 | |
| 79 } // namespace simple_util | |
| 80 | |
| 81 } // namespace disk_cache | |
| 82 | |
| 83 #endif // NET_DISK_CACHE_SIMPLE_SIMPLE_UTIL_H_ | |
| OLD | NEW |