Expand description
Where everything sits in the file.
+--------------------------------------------------+ 0
| header, 16 bytes |
+--------------------------------------------------+ 16
| sections, back to back, each 8 byte aligned |
+--------------------------------------------------+ footer_offset
| footer, a run of iris-abi records |
+--------------------------------------------------+ len - 56
| trailer, 56 bytes |
+--------------------------------------------------+ lenThe directory lives at the end rather than the front, because a writer that streams a large dataset does not know how long a section is until it has finished writing it, and the alternative is either buffering the whole thing or seeking back over it. The magic appears at both ends so that a file truncated in the middle is distinguishable from a file that was never an iris container in the first place.
Modules§
- tag
- The footer record tags.
Enums§
- Decoder
Location - Where the decoder module for a dataset lives.
- Schema
Encoding - How the schema bytes are encoded.
- Section
Kind - What a section holds.
Constants§
- DIGEST_
SIZE - How wide a digest is, in bytes.
- FORMAT_
MAJOR - The format major version this build writes and reads.
- FORMAT_
MINOR - The format minor version this build writes.
- HEADER_
SIZE - How wide the header is, in bytes.
- MAGIC
- The first eight bytes of every container, and the last eight.
- MIN_
SIZE - The smallest a container can possibly be, which is a header, an empty footer and a trailer.
- TRAILER_
SIZE - How wide the trailer is, in bytes.