| 804 | } |
| 805 | |
| 806 | bool DiskPrefixCache::read_header(FILE * f, DiskCacheHeader & hdr) { |
| 807 | if (std::fread(hdr.magic, 1, 4, f) != 4) return false; |
| 808 | if (!read_u32(f, hdr.version)) return false; |
| 809 | if (std::fread(hdr.layout_id, 1, 16, f) != 16) return false; |
| 810 | if (!read_u32(f, hdr.cur_pos)) return false; |
| 811 | if (!read_u32(f, hdr.n_tensors)) return false; |
| 812 | if (!read_u32(f, hdr.token_count)) return false; |
| 813 | if (std::fread(hdr.token_hash, 1, 16, f) != 16) return false; |
| 814 | if (!read_u64(f, hdr.payload_bytes)) return false; |
| 815 | if (!read_u64(f, hdr.created_at)) return false; |
| 816 | if (!read_u64(f, hdr.last_used)) return false; |
| 817 | uint32_t last_tok_raw; |
| 818 | if (!read_u32(f, last_tok_raw)) return false; |
| 819 | hdr.last_tok = (int32_t)last_tok_raw; |
| 820 | return true; |
| 821 | } |
| 822 | |
| 823 | } // namespace dflash::common |