Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: net/disk_cache/entry_impl.h

Issue 12880: Disk cache: Add support for an extra data stream for each cache entry.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NET_DISK_CACHE_ENTRY_IMPL_H__ 5 #ifndef NET_DISK_CACHE_ENTRY_IMPL_H__
6 #define NET_DISK_CACHE_ENTRY_IMPL_H__ 6 #define NET_DISK_CACHE_ENTRY_IMPL_H__
7 7
8 #include "net/disk_cache/disk_cache.h" 8 #include "net/disk_cache/disk_cache.h"
9 #include "net/disk_cache/storage_block.h" 9 #include "net/disk_cache/storage_block.h"
10 #include "net/disk_cache/storage_block-inl.h" 10 #include "net/disk_cache/storage_block-inl.h"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 82
83 // Handle the pending asynchronous IO count. 83 // Handle the pending asynchronous IO count.
84 void IncrementIoCount(); 84 void IncrementIoCount();
85 void DecrementIoCount(); 85 void DecrementIoCount();
86 86
87 // Set the access times for this entry. This method provides support for 87 // Set the access times for this entry. This method provides support for
88 // the upgrade tool. 88 // the upgrade tool.
89 void SetTimes(base::Time last_used, base::Time last_modified); 89 void SetTimes(base::Time last_used, base::Time last_modified);
90 90
91 private: 91 private:
92 enum {
93 NUM_STREAMS = 3
94 };
95
92 ~EntryImpl(); 96 ~EntryImpl();
93 97
94 // Index for the file used to store the key, if any (files_[kKeyFileIndex]).
95 static const int kKeyFileIndex = 2;
96
97 // Initializes the storage for an internal or external data block. 98 // Initializes the storage for an internal or external data block.
98 bool CreateDataBlock(int index, int size); 99 bool CreateDataBlock(int index, int size);
99 100
100 // Initializes the storage for an internal or external generic block. 101 // Initializes the storage for an internal or external generic block.
101 bool CreateBlock(int size, Addr* address); 102 bool CreateBlock(int size, Addr* address);
102 103
103 // Deletes the data pointed by address, maybe backed by files_[index]. 104 // Deletes the data pointed by address, maybe backed by files_[index].
104 void DeleteData(Addr address, int index); 105 void DeleteData(Addr address, int index);
105 106
106 // Updates ranking information. 107 // Updates ranking information.
(...skipping 20 matching lines...) Expand all
127 128
128 // Flush the in-memory data to the backing storage. 129 // Flush the in-memory data to the backing storage.
129 bool Flush(int index, int size, bool async); 130 bool Flush(int index, int size, bool async);
130 131
131 // Logs this entry to the internal trace buffer. 132 // Logs this entry to the internal trace buffer.
132 void Log(const char* msg); 133 void Log(const char* msg);
133 134
134 CacheEntryBlock entry_; // Key related information for this entry. 135 CacheEntryBlock entry_; // Key related information for this entry.
135 CacheRankingsBlock node_; // Rankings related information for this entry. 136 CacheRankingsBlock node_; // Rankings related information for this entry.
136 BackendImpl* backend_; // Back pointer to the cache. 137 BackendImpl* backend_; // Back pointer to the cache.
137 scoped_array<char> user_buffers_[2]; // Store user data. 138 scoped_array<char> user_buffers_[NUM_STREAMS]; // Store user data.
138 scoped_refptr<File> files_[3]; // Files to store external user data and key. 139 scoped_refptr<File> files_[NUM_STREAMS + 1]; // Files to store external user
139 int unreported_size_[2]; // Bytes not reported yet to the backend. 140 // data and key.
141 int unreported_size_[NUM_STREAMS]; // Bytes not reported yet to the backend.
140 bool doomed_; // True if this entry was removed from the cache. 142 bool doomed_; // True if this entry was removed from the cache.
141 143
142 DISALLOW_EVIL_CONSTRUCTORS(EntryImpl); 144 DISALLOW_EVIL_CONSTRUCTORS(EntryImpl);
143 }; 145 };
144 146
145 } // namespace disk_cache 147 } // namespace disk_cache
146 148
147 #endif // NET_DISK_CACHE_ENTRY_IMPL_H__ 149 #endif // NET_DISK_CACHE_ENTRY_IMPL_H__
148 150
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698