Skip to main content

Module iter

Module iter 

Source
Expand description

Iterator types for lazy traversal of messages and objects.

§Quick start

// Iterate over messages in a byte buffer (zero-copy)
for msg in tensogram::iter::messages(&buf) {
    let (meta, objs) = tensogram::decode(msg, &Default::default())?;
}

// Iterate over objects in a single message
for result in tensogram::iter::objects(&msg_bytes, Default::default())? {
    let (descriptor, data) = result?;
}

// File-based lazy iteration
let mut file = TensogramFile::open("data.tgm")?;
for raw in file.iter()? {
    let raw = raw?;
}

Structs§

FileMessageIter
Lazy iterator over messages stored in a file.
MessageIter
Zero-copy iterator over messages in a byte buffer.
ObjectIter
Iterator over the decoded objects (tensors) in a single message.

Functions§

messages
Create a zero-copy iterator over messages in a byte buffer.
objects
Create an iterator that decodes each object in a message on demand.
objects_metadata
Return an iterator over the DataObjectDescriptors in a message without decoding any payload data.