Once a region is created or opened, reading and writing data is a matter of pointer arithmetic on the data area. The first byte of usable data is at offset 64 (after the header).Documentation Index
Fetch the complete documentation index at: https://mine-27913f41.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Getting a pointer to the data area
Every adapter provides a method that returns a view of the shared memory:Writing primitive values
Writing arrays and buffers
The most common use case for Zinc is sharing large arrays — tensors, frames, point clouds. Here is how to write and read a float array:Memory layout conventions
Zinc does not impose a data format. Bytes at offset 64 and beyond are yours to manage. For polyglot setups where multiple languages read and write the same region, you need a layout convention. Common approaches:- Fixed offset fields. Assign each field a fixed position: strings as fixed-size byte arrays, numbers at known offsets, arrays at known offsets with a length prefix.
- Schema-driven layout. Use a zero-copy serialization framework like FlatBuffers or Cap’n Proto that operates on shared memory directly.
- Header + data. Write a small descriptor at the start of the data area describing the number and types of the remaining fields.
Capacity
Thecapacity value represents usable bytes after the 64-byte header. It is set at creation time and cannot be changed. The value must be a multiple of the system page size (typically 4096 bytes).
To determine the capacity:
