MCPcopy Create free account
hub / github.com/evilsocket/cake / parse_shard_header_mmap

Method parse_shard_header_mmap

cake-core/src/utils/tensor_storage.rs:400–412  ·  view source on GitHub ↗
(shard: &MappedShard)

Source from the content-addressed store, hash-verified

398 /// Parse a shard file's header from mmap'd data into typed entries.
399 #[cfg(unix)]
400 fn parse_shard_header_mmap(shard: &MappedShard) -> Result<(usize, HashMap<String, HeaderEntry>)> {
401 let data = shard.as_slice(0, shard.mmap_len.min(8));
402 if data.len() < 8 {
403 bail!("shard file too small for header");
404 }
405 let header_len = u64::from_le_bytes(data[..8].try_into().unwrap()) as usize;
406 if header_len > 50 * 1024 * 1024 {
407 bail!("safetensors header too large: {} bytes", header_len);
408 }
409 let header_data = shard.as_slice(8, header_len);
410 let header: HashMap<String, HeaderEntry> = serde_json::from_slice(header_data)?;
411 Ok((header_len, header))
412 }
413
414 /// Parse a shard file's header from file I/O into typed entries.
415 #[cfg(not(unix))]

Callers

nothing calls this directly

Calls 1

as_sliceMethod · 0.80

Tested by

no test coverage detected