OLD | NEW |
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 #include "net/disk_cache/mem_entry_impl.h" | 5 #include "net/disk_cache/mem_entry_impl.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "net/base/io_buffer.h" | 8 #include "net/base/io_buffer.h" |
9 #include "net/base/net_errors.h" | 9 #include "net/base/net_errors.h" |
10 #include "net/disk_cache/mem_backend_impl.h" | 10 #include "net/disk_cache/mem_backend_impl.h" |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 | 143 |
144 UpdateRank(true); | 144 UpdateRank(true); |
145 | 145 |
146 if (!buf_len) | 146 if (!buf_len) |
147 return 0; | 147 return 0; |
148 | 148 |
149 memcpy(&(data_[index])[offset], buf->data(), buf_len); | 149 memcpy(&(data_[index])[offset], buf->data(), buf_len); |
150 return buf_len; | 150 return buf_len; |
151 } | 151 } |
152 | 152 |
| 153 int MemEntryImpl::ReadSparseData(int64 offset, net::IOBuffer* buf, int buf_len, |
| 154 net::CompletionCallback* completion_callback) { |
| 155 return net::ERR_CACHE_OPERATION_NOT_SUPPORTED; |
| 156 } |
| 157 |
| 158 int MemEntryImpl::WriteSparseData(int64 offset, net::IOBuffer* buf, int buf_len, |
| 159 net::CompletionCallback* completion_callback) { |
| 160 return net::ERR_CACHE_OPERATION_NOT_SUPPORTED; |
| 161 } |
| 162 |
| 163 int MemEntryImpl::GetAvailableRange(int64 offset, int len, int64* start) { |
| 164 return net::ERR_CACHE_OPERATION_NOT_SUPPORTED; |
| 165 } |
| 166 |
153 void MemEntryImpl::PrepareTarget(int index, int offset, int buf_len) { | 167 void MemEntryImpl::PrepareTarget(int index, int offset, int buf_len) { |
154 int entry_size = GetDataSize(index); | 168 int entry_size = GetDataSize(index); |
155 | 169 |
156 if (entry_size >= offset + buf_len) | 170 if (entry_size >= offset + buf_len) |
157 return; // Not growing the stored data. | 171 return; // Not growing the stored data. |
158 | 172 |
159 if (static_cast<int>(data_[index].size()) < offset + buf_len) | 173 if (static_cast<int>(data_[index].size()) < offset + buf_len) |
160 data_[index].resize(offset + buf_len); | 174 data_[index].resize(offset + buf_len); |
161 | 175 |
162 if (offset <= entry_size) | 176 if (offset <= entry_size) |
163 return; // There is no "hole" on the stored data. | 177 return; // There is no "hole" on the stored data. |
164 | 178 |
165 // Cleanup the hole not written by the user. The point is to avoid returning | 179 // Cleanup the hole not written by the user. The point is to avoid returning |
166 // random stuff later on. | 180 // random stuff later on. |
167 memset(&(data_[index])[entry_size], 0, offset - entry_size); | 181 memset(&(data_[index])[entry_size], 0, offset - entry_size); |
168 } | 182 } |
169 | 183 |
170 void MemEntryImpl::UpdateRank(bool modified) { | 184 void MemEntryImpl::UpdateRank(bool modified) { |
171 Time current = Time::Now(); | 185 Time current = Time::Now(); |
172 last_used_ = current; | 186 last_used_ = current; |
173 | 187 |
174 if (modified) | 188 if (modified) |
175 last_modified_ = current; | 189 last_modified_ = current; |
176 | 190 |
177 if (!doomed_) | 191 if (!doomed_) |
178 backend_->UpdateRank(this); | 192 backend_->UpdateRank(this); |
179 } | 193 } |
180 | 194 |
181 } // namespace disk_cache | 195 } // namespace disk_cache |
OLD | NEW |