pub struct ZTensorReader<R: Read + Seek> {
pub reader: R,
pub manifest: Manifest,
}Expand description
Reader for zTensor v1.1 files.
Fields§
§reader: R§manifest: ManifestImplementations§
Source§impl ZTensorReader<BufReader<File>>
impl ZTensorReader<BufReader<File>>
Source§impl ZTensorReader<Cursor<Mmap>>
impl ZTensorReader<Cursor<Mmap>>
Sourcepub fn open_mmap(path: impl AsRef<Path>) -> Result<Self, ZTensorError>
pub fn open_mmap(path: impl AsRef<Path>) -> Result<Self, ZTensorError>
Opens a zTensor file using memory mapping.
Sourcepub fn get_object_slice(&self, name: &str) -> Result<&[u8], ZTensorError>
pub fn get_object_slice(&self, name: &str) -> Result<&[u8], ZTensorError>
Gets a zero-copy reference to an object’s data.
This is only available for:
- Memory-mapped readers
- Dense objects
- Raw encoding (not compressed)
Sourcepub fn get_object_slice_as<T: Pod>(
&self,
name: &str,
) -> Result<&[T], ZTensorError>
pub fn get_object_slice_as<T: Pod>( &self, name: &str, ) -> Result<&[T], ZTensorError>
Gets a typed zero-copy reference to an object’s data.
Source§impl<R: Read + Seek> ZTensorReader<R>
impl<R: Read + Seek> ZTensorReader<R>
Sourcepub fn new(reader: R) -> Result<Self, ZTensorError>
pub fn new(reader: R) -> Result<Self, ZTensorError>
Creates a new reader and parses the manifest.
Parsing algorithm per spec §4:
- Read Footer: EOF - 16
- Verify Magic: last 8 bytes == ZTEN1000
- Read Size: first 8 bytes as u64 LE
- Safety Check: abort if > 1GB
- Read Manifest: EOF - 16 - manifest_size
- Decode CBOR
Sourcepub fn list_objects(&self) -> &BTreeMap<String, Object>
pub fn list_objects(&self) -> &BTreeMap<String, Object>
Lists all objects in the file.
Sourcepub fn get_object(&self, name: &str) -> Option<&Object>
pub fn get_object(&self, name: &str) -> Option<&Object>
Gets metadata for an object by name.
Sourcepub fn read_component(
&mut self,
component: &Component,
) -> Result<Vec<u8>, ZTensorError>
pub fn read_component( &mut self, component: &Component, ) -> Result<Vec<u8>, ZTensorError>
Reads raw component data.
Sourcepub fn read_object(
&mut self,
name: &str,
verify_checksum: bool,
) -> Result<Vec<u8>, ZTensorError>
pub fn read_object( &mut self, name: &str, verify_checksum: bool, ) -> Result<Vec<u8>, ZTensorError>
Reads raw byte data of a dense object.
Sourcepub fn read_objects(
&mut self,
names: &[&str],
verify_checksum: bool,
) -> Result<Vec<Vec<u8>>, ZTensorError>
pub fn read_objects( &mut self, names: &[&str], verify_checksum: bool, ) -> Result<Vec<Vec<u8>>, ZTensorError>
Reads multiple objects in batch.
Sourcepub fn read_object_as<T: Pod>(
&mut self,
name: &str,
) -> Result<Vec<T>, ZTensorError>
pub fn read_object_as<T: Pod>( &mut self, name: &str, ) -> Result<Vec<T>, ZTensorError>
Reads object data as a typed vector.
Sourcepub fn read_coo_object<T: Pod>(
&mut self,
name: &str,
) -> Result<CooTensor<T>, ZTensorError>
pub fn read_coo_object<T: Pod>( &mut self, name: &str, ) -> Result<CooTensor<T>, ZTensorError>
Reads a COO sparse object.
Sourcepub fn read_csr_object<T: Pod>(
&mut self,
name: &str,
) -> Result<CsrTensor<T>, ZTensorError>
pub fn read_csr_object<T: Pod>( &mut self, name: &str, ) -> Result<CsrTensor<T>, ZTensorError>
Reads a CSR sparse object.
Auto Trait Implementations§
impl<R> Freeze for ZTensorReader<R>where
R: Freeze,
impl<R> RefUnwindSafe for ZTensorReader<R>where
R: RefUnwindSafe,
impl<R> Send for ZTensorReader<R>where
R: Send,
impl<R> Sync for ZTensorReader<R>where
R: Sync,
impl<R> Unpin for ZTensorReader<R>where
R: Unpin,
impl<R> UnwindSafe for ZTensorReader<R>where
R: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more