pub(super) fn read_u32_prefix(bytes: &[u8]) -> u32 {
let mut padded = [0u8; 4];
let len = bytes.len().min(4);
padded[..len].copy_from_slice(&bytes[..len]);
u32::from_le_bytes(padded)
}
pub(super) fn read_u64_prefix(bytes: &[u8]) -> u64 {
let mut padded = [0u8; 8];
let len = bytes.len().min(8);
padded[..len].copy_from_slice(&bytes[..len]);
u64::from_le_bytes(padded)
}