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

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

Issue 8832006: Reverts a commit that caused ASAN failures, and 2 dependent commits. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 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
« no previous file with comments | « net/disk_cache/backend_impl.cc ('k') | net/disk_cache/entry_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // Defines the public interface of the disk cache. For more details see 5 // Defines the public interface of the disk cache. For more details see
6 // http://dev.chromium.org/developers/design-documents/network-stack/disk-cache 6 // http://dev.chromium.org/developers/design-documents/network-stack/disk-cache
7 7
8 #ifndef NET_DISK_CACHE_DISK_CACHE_H_ 8 #ifndef NET_DISK_CACHE_DISK_CACHE_H_
9 #define NET_DISK_CACHE_DISK_CACHE_H_ 9 #define NET_DISK_CACHE_DISK_CACHE_H_
10 #pragma once 10 #pragma once
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 virtual int32 GetEntryCount() const = 0; 71 virtual int32 GetEntryCount() const = 0;
72 72
73 // Opens an existing entry. Upon success, |entry| holds a pointer to an Entry 73 // Opens an existing entry. Upon success, |entry| holds a pointer to an Entry
74 // object representing the specified disk cache entry. When the entry pointer 74 // object representing the specified disk cache entry. When the entry pointer
75 // is no longer needed, its Close method should be called. The return value is 75 // is no longer needed, its Close method should be called. The return value is
76 // a net error code. If this method returns ERR_IO_PENDING, the |callback| 76 // a net error code. If this method returns ERR_IO_PENDING, the |callback|
77 // will be invoked when the entry is available. The pointer to receive the 77 // will be invoked when the entry is available. The pointer to receive the
78 // |entry| must remain valid until the operation completes. 78 // |entry| must remain valid until the operation completes.
79 virtual int OpenEntry(const std::string& key, Entry** entry, 79 virtual int OpenEntry(const std::string& key, Entry** entry,
80 OldCompletionCallback* callback) = 0; 80 OldCompletionCallback* callback) = 0;
81 virtual int OpenEntry(const std::string& key, Entry** entry,
82 const net::CompletionCallback& callback) = 0;
83 81
84 // Creates a new entry. Upon success, the out param holds a pointer to an 82 // Creates a new entry. Upon success, the out param holds a pointer to an
85 // Entry object representing the newly created disk cache entry. When the 83 // Entry object representing the newly created disk cache entry. When the
86 // entry pointer is no longer needed, its Close method should be called. The 84 // entry pointer is no longer needed, its Close method should be called. The
87 // return value is a net error code. If this method returns ERR_IO_PENDING, 85 // return value is a net error code. If this method returns ERR_IO_PENDING,
88 // the |callback| will be invoked when the entry is available. The pointer to 86 // the |callback| will be invoked when the entry is available. The pointer to
89 // receive the |entry| must remain valid until the operation completes. 87 // receive the |entry| must remain valid until the operation completes.
90 virtual int CreateEntry(const std::string& key, Entry** entry, 88 virtual int CreateEntry(const std::string& key, Entry** entry,
91 OldCompletionCallback* callback) = 0; 89 OldCompletionCallback* callback) = 0;
92 virtual int CreateEntry(const std::string& key, Entry** entry,
93 const net::CompletionCallback& callback) = 0;
94 90
95 // Marks the entry, specified by the given key, for deletion. The return value 91 // Marks the entry, specified by the given key, for deletion. The return value
96 // is a net error code. If this method returns ERR_IO_PENDING, the |callback| 92 // is a net error code. If this method returns ERR_IO_PENDING, the |callback|
97 // will be invoked after the entry is doomed. 93 // will be invoked after the entry is doomed.
98 virtual int DoomEntry(const std::string& key, 94 virtual int DoomEntry(const std::string& key,
99 OldCompletionCallback* callback) = 0; 95 OldCompletionCallback* callback) = 0;
100 96
101 // Marks all entries for deletion. The return value is a net error code. If 97 // Marks all entries for deletion. The return value is a net error code. If
102 // this method returns ERR_IO_PENDING, the |callback| will be invoked when the 98 // this method returns ERR_IO_PENDING, the |callback| will be invoked when the
103 // operation completes. 99 // operation completes.
104 virtual int DoomAllEntries(OldCompletionCallback* callback) = 0; 100 virtual int DoomAllEntries(OldCompletionCallback* callback) = 0;
105 virtual int DoomAllEntries(const net::CompletionCallback& callback) = 0;
106 101
107 // Marks a range of entries for deletion. This supports unbounded deletes in 102 // Marks a range of entries for deletion. This supports unbounded deletes in
108 // either direction by using null Time values for either argument. The return 103 // either direction by using null Time values for either argument. The return
109 // value is a net error code. If this method returns ERR_IO_PENDING, the 104 // value is a net error code. If this method returns ERR_IO_PENDING, the
110 // |callback| will be invoked when the operation completes. 105 // |callback| will be invoked when the operation completes.
111 virtual int DoomEntriesBetween(const base::Time initial_time, 106 virtual int DoomEntriesBetween(const base::Time initial_time,
112 const base::Time end_time, 107 const base::Time end_time,
113 OldCompletionCallback* callback) = 0; 108 OldCompletionCallback* callback) = 0;
114 virtual int DoomEntriesBetween(const base::Time initial_time,
115 const base::Time end_time,
116 const net::CompletionCallback& callback) = 0;
117 109
118 // Marks all entries accessed since |initial_time| for deletion. The return 110 // Marks all entries accessed since |initial_time| for deletion. The return
119 // value is a net error code. If this method returns ERR_IO_PENDING, the 111 // value is a net error code. If this method returns ERR_IO_PENDING, the
120 // |callback| will be invoked when the operation completes. 112 // |callback| will be invoked when the operation completes.
121 virtual int DoomEntriesSince(const base::Time initial_time, 113 virtual int DoomEntriesSince(const base::Time initial_time,
122 OldCompletionCallback* callback) = 0; 114 OldCompletionCallback* callback) = 0;
123 115
124 // Enumerates the cache. Initialize |iter| to NULL before calling this method 116 // Enumerates the cache. Initialize |iter| to NULL before calling this method
125 // the first time. That will cause the enumeration to start at the head of 117 // the first time. That will cause the enumeration to start at the head of
126 // the cache. For subsequent calls, pass the same |iter| pointer again without 118 // the cache. For subsequent calls, pass the same |iter| pointer again without
127 // changing its value. This method returns ERR_FAILED when there are no more 119 // changing its value. This method returns ERR_FAILED when there are no more
128 // entries to enumerate. When the entry pointer is no longer needed, its 120 // entries to enumerate. When the entry pointer is no longer needed, its
129 // Close method should be called. The return value is a net error code. If 121 // Close method should be called. The return value is a net error code. If
130 // this method returns ERR_IO_PENDING, the |callback| will be invoked when the 122 // this method returns ERR_IO_PENDING, the |callback| will be invoked when the
131 // |next_entry| is available. The pointer to receive the |next_entry| must 123 // |next_entry| is available. The pointer to receive the |next_entry| must
132 // remain valid until the operation completes. 124 // remain valid until the operation completes.
133 // 125 //
134 // NOTE: This method does not modify the last_used field of the entry, and 126 // NOTE: This method does not modify the last_used field of the entry, and
135 // therefore it does not impact the eviction ranking of the entry. 127 // therefore it does not impact the eviction ranking of the entry.
136 virtual int OpenNextEntry(void** iter, Entry** next_entry, 128 virtual int OpenNextEntry(void** iter, Entry** next_entry,
137 OldCompletionCallback* callback) = 0; 129 OldCompletionCallback* callback) = 0;
138 virtual int OpenNextEntry(void** iter, Entry** next_entry,
139 const net::CompletionCallback& callback) = 0;
140 130
141 // Releases iter without returning the next entry. Whenever OpenNextEntry() 131 // Releases iter without returning the next entry. Whenever OpenNextEntry()
142 // returns true, but the caller is not interested in continuing the 132 // returns true, but the caller is not interested in continuing the
143 // enumeration by calling OpenNextEntry() again, the enumeration must be 133 // enumeration by calling OpenNextEntry() again, the enumeration must be
144 // ended by calling this method with iter returned by OpenNextEntry(). 134 // ended by calling this method with iter returned by OpenNextEntry().
145 virtual void EndEnumeration(void** iter) = 0; 135 virtual void EndEnumeration(void** iter) = 0;
146 136
147 // Return a list of cache statistics. 137 // Return a list of cache statistics.
148 virtual void GetStats( 138 virtual void GetStats(
149 std::vector<std::pair<std::string, std::string> >* stats) = 0; 139 std::vector<std::pair<std::string, std::string> >* stats) = 0;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 // called on the current thread once the read completes. Returns the 172 // called on the current thread once the read completes. Returns the
183 // number of bytes read or a network error code. If a completion callback is 173 // number of bytes read or a network error code. If a completion callback is
184 // provided then it will be called if this function returns ERR_IO_PENDING, 174 // provided then it will be called if this function returns ERR_IO_PENDING,
185 // and a reference to |buf| will be retained until the callback is called. 175 // and a reference to |buf| will be retained until the callback is called.
186 // Note that the callback will be invoked in any case, even after Close has 176 // Note that the callback will be invoked in any case, even after Close has
187 // been called; in other words, the caller may close this entry without 177 // been called; in other words, the caller may close this entry without
188 // having to wait for all the callbacks, and still rely on the cleanup 178 // having to wait for all the callbacks, and still rely on the cleanup
189 // performed from the callback code. 179 // performed from the callback code.
190 virtual int ReadData(int index, int offset, net::IOBuffer* buf, int buf_len, 180 virtual int ReadData(int index, int offset, net::IOBuffer* buf, int buf_len,
191 OldCompletionCallback* completion_callback) = 0; 181 OldCompletionCallback* completion_callback) = 0;
192 virtual int ReadData(int index, int offset, net::IOBuffer* buf, int buf_len,
193 const net::CompletionCallback& completion_callback) = 0;
194 182
195 // Copies cache data from the given buffer of length |buf_len|. If 183 // Copies cache data from the given buffer of length |buf_len|. If
196 // completion_callback is null, then this call blocks until the write 184 // completion_callback is null, then this call blocks until the write
197 // operation is complete. Otherwise, completion_callback will be 185 // operation is complete. Otherwise, completion_callback will be
198 // called on the current thread once the write completes. Returns the 186 // called on the current thread once the write completes. Returns the
199 // number of bytes written or a network error code. If a completion callback 187 // number of bytes written or a network error code. If a completion callback
200 // is provided then it will be called if this function returns ERR_IO_PENDING, 188 // is provided then it will be called if this function returns ERR_IO_PENDING,
201 // and a reference to |buf| will be retained until the callback is called. 189 // and a reference to |buf| will be retained until the callback is called.
202 // Note that the callback will be invoked in any case, even after Close has 190 // Note that the callback will be invoked in any case, even after Close has
203 // been called; in other words, the caller may close this entry without 191 // been called; in other words, the caller may close this entry without
204 // having to wait for all the callbacks, and still rely on the cleanup 192 // having to wait for all the callbacks, and still rely on the cleanup
205 // performed from the callback code. 193 // performed from the callback code.
206 // If truncate is true, this call will truncate the stored data at the end of 194 // If truncate is true, this call will truncate the stored data at the end of
207 // what we are writing here. 195 // what we are writing here.
208 virtual int WriteData(int index, int offset, net::IOBuffer* buf, int buf_len, 196 virtual int WriteData(int index, int offset, net::IOBuffer* buf, int buf_len,
209 OldCompletionCallback* completion_callback, 197 OldCompletionCallback* completion_callback,
210 bool truncate) = 0; 198 bool truncate) = 0;
211 virtual int WriteData(int index, int offset, net::IOBuffer* buf, int buf_len,
212 const net::CompletionCallback& completion_callback,
213 bool truncate) = 0;
214 199
215 // Sparse entries support: 200 // Sparse entries support:
216 // 201 //
217 // A Backend implementation can support sparse entries, so the cache keeps 202 // A Backend implementation can support sparse entries, so the cache keeps
218 // track of which parts of the entry have been written before. The backend 203 // track of which parts of the entry have been written before. The backend
219 // will never return data that was not written previously, so reading from 204 // will never return data that was not written previously, so reading from
220 // such region will return 0 bytes read (or actually the number of bytes read 205 // such region will return 0 bytes read (or actually the number of bytes read
221 // before reaching that region). 206 // before reaching that region).
222 // 207 //
223 // There are only two streams for sparse entries: a regular control stream 208 // There are only two streams for sparse entries: a regular control stream
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 // Note: This method is deprecated. 295 // Note: This method is deprecated.
311 virtual int ReadyForSparseIO(OldCompletionCallback* completion_callback) = 0; 296 virtual int ReadyForSparseIO(OldCompletionCallback* completion_callback) = 0;
312 297
313 protected: 298 protected:
314 virtual ~Entry() {} 299 virtual ~Entry() {}
315 }; 300 };
316 301
317 } // namespace disk_cache 302 } // namespace disk_cache
318 303
319 #endif // NET_DISK_CACHE_DISK_CACHE_H_ 304 #endif // NET_DISK_CACHE_DISK_CACHE_H_
OLDNEW
« no previous file with comments | « net/disk_cache/backend_impl.cc ('k') | net/disk_cache/entry_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698