#include "net/disk_cache/blockfile/mapped_file.h"
#include <algorithm>
#include <cstddef>
#include <memory>
#include "base/containers/heap_array.h"
namespace disk_cache {
MappedFile::MappedFile() : File(true) {}
bool MappedFile::Load(const FileBlock* block) {
size_t offset = block->offset() + view_size_;
return Read(block->as_span(), offset);
}
bool MappedFile::Store(const FileBlock* block) {
size_t offset = block->offset() + view_size_;
return Write(block->as_span(), offset);
}
bool MappedFile::Preload() {
size_t file_len = GetLength();
auto buf = base::HeapArray<uint8_t>::Uninit(file_len);
if (!Read(buf, 0)) {
return false;
}
return true;
}
}