Home | History | Annotate | Download | only in disk_cache

Lines Matching refs:address

294 EntryImpl::EntryImpl(BackendImpl* backend, Addr address, bool read_only)
297 entry_.LazyInit(backend->File(address), address);
408 memset(entry_store, 0, sizeof(EntryStore) * entry_.address().num_blocks());
414 node->contents = entry_.address().value();
420 Addr address(0);
421 if (!CreateBlock(entry_store->key_len + 1, &address))
424 entry_store->long_key = address.value();
425 File* key_file = GetBackingFile(address, kKeyFileIndex);
429 if (address.is_block_file())
430 offset = address.start_block() * address.BlockSize() + kBlockHeaderSize;
433 DeleteData(address, kKeyFileIndex);
437 if (address.is_separate_file())
482 Addr address(entry_.Data()->data_addr[index]);
483 if (address.is_initialized()) {
489 DeleteData(address, index);
502 Addr address(entry_.Data()->long_key);
503 DeleteData(address, kKeyFileIndex);
506 backend_->DeleteBlock(entry_.address(), true);
509 backend_->DeleteBlock(node_.address(), true);
516 void EntryImpl::SetNextAddress(Addr address) {
517 DCHECK_NE(address.value(), entry_.address().value());
518 entry_.Data()->next = address.value();
524 Addr address(entry_.Data()->rankings_node);
525 if (!node_.LazyInit(backend_->File(address), address))
611 if (entry_.address().num_blocks() != num_blocks)
661 // The address is weird so don't attempt to delete it.
756 Addr address(entry->Data()->long_key);
757 DCHECK(address.is_initialized());
759 if (address.is_block_file())
760 offset = address.start_block() * address.BlockSize() + kBlockHeaderSize;
763 File* key_file = const_cast<EntryImpl*>(this)->GetBackingFile(address,
894 backend_->OnEntryDestroyBegin(entry_.address());
955 Addr address(entry_.Data()->data_addr[index]);
956 int eof = address.is_initialized() ? entry_size : 0;
965 address.set_value(entry_.Data()->data_addr[index]);
966 DCHECK(address.is_initialized());
967 if (!address.is_initialized())
970 File* file = GetBackingFile(address, index);
975 if (address.is_block_file()) {
977 file_offset += address.start_block() * address.BlockSize() +
1030 Trace("To PrepareTarget 0x%x", entry_.address().value());
1034 Trace("From PrepareTarget 0x%x", entry_.address().value());
1050 Addr address(entry_.Data()->data_addr[index]);
1053 DCHECK(!address.is_initialized());
1058 File* file = GetBackingFile(address, index);
1063 if (address.is_block_file()) {
1065 file_offset += address.start_block() * address.BlockSize() +
1101 Addr address(entry_.Data()->data_addr[index]);
1102 if (!CreateBlock(size, &address))
1105 entry_.Data()->data_addr[index] = address.value();
1110 bool EntryImpl::CreateBlock(int size, Addr* address) {
1111 DCHECK(!address->is_initialized());
1117 if (!backend_->CreateExternalFile(address))
1123 if (!backend_->CreateBlock(file_type, num_blocks, address))
1133 // important that the entry doesn't keep a reference to this address, or we'll
1134 // end up deleting the contents of |address| once again.
1135 void EntryImpl::DeleteData(Addr address, int index) {
1136 if (!address.is_initialized())
1138 if (address.is_separate_file()) {
1139 int failure = !DeleteCacheFile(backend_->GetFileName(address));
1143 backend_->GetFileName(address).value() << " from the cache.";
1148 backend_->DeleteBlock(address, true);
1166 File* EntryImpl::GetBackingFile(Addr address, int index) {
1168 if (address.is_separate_file())
1169 file = GetExternalFile(address, index);
1171 file = backend_->File(address);
1175 File* EntryImpl::GetExternalFile(Addr address, int index) {
1180 if (file->Init(backend_->GetFileName(address)))
1207 Addr address(entry_.Data()->data_addr[index]);
1208 if (address.is_initialized()) {
1209 if (address.is_block_file() && !MoveToLocalBuffer(index))
1230 Addr address(entry_.Data()->data_addr[index]);
1242 DeleteData(address, index);
1252 if (!address.is_initialized()) {
1278 DCHECK(address.is_initialized());
1287 Addr address(entry_.Data()->data_addr[index]);
1289 DCHECK(address.is_initialized());
1295 File* file = GetBackingFile(address, index);
1298 if (address.is_block_file())
1299 offset = address.start_block() * address.BlockSize() + kBlockHeaderSize;
1313 Addr address(entry_.Data()->data_addr[index]);
1316 DeleteData(address, index);
1338 Addr address(entry_.Data()->data_addr[index]);
1339 if (address.is_initialized() && address.is_separate_file()) {
1368 Addr address(entry_.Data()->data_addr[index]);
1370 DCHECK(!address.is_initialized() || address.is_separate_file());
1374 if (size && !address.is_initialized() && !CreateDataBlock(index, size))
1382 address.set_value(entry_.Data()->data_addr[index]);
1389 if (address.is_block_file()) {
1392 offset = address.start_block() * address.BlockSize() + kBlockHeaderSize;
1395 File* file = GetBackingFile(address, index);
1437 void EntryImpl::GetData(int index, char** buffer, Addr* address) {
1453 address->set_value(entry_.Data()->data_addr[index]);
1454 if (address->is_initialized()) {
1470 entry_.address().value(), node_.address().value());