Expand description
Shared schema for the .dmap archive file format.
Layout on disk (all little-endian):
+---------------------------------------+
| FileHeader (fixed, 32 bytes) |
+---------------------------------------+
| rkyv-archived Dictionary |
| .index : Vec<IndexEntry> sorted |
| .records: Vec<TagRecord> |
| .strings: Vec<u8> pool |
+---------------------------------------+The index is sorted by (group, element, creator_hash) so lookup is a
plain binary search. String fields inside TagRecord are stored as
(offset, len) into strings; the reader slices without copying.
Structs§
- Archived
Dictionary - An archived
Dictionary - Archived
Index Entry - An archived
IndexEntry - Archived
TagRecord - An archived
TagRecord - Dictionary
- Root archived object in the
.dmapfile body. - Dictionary
Resolver - The resolver for an archived
Dictionary - File
Header - 32-byte file prefix. Kept outside rkyv so we can sanity-check before attempting to deserialize the body.
- Index
Entry - One entry in the sorted lookup index.
- Index
Entry Resolver - The resolver for an archived
IndexEntry - TagRecord
- One fully resolved tag record.
- TagRecord
Resolver - The resolver for an archived
TagRecord
Enums§
- Archived
VrCode - An archived
VrCode - VrCode
- DICOM value representation, 2-byte ASCII packed into one byte via a fixed enum so records stay small.
- VrCode
Resolver - The resolver for an archived
VrCode
Constants§
Functions§
- canonicalize_
creator - Canonicalize a private creator string the same way the Python normalize stage does: uppercase, collapse internal whitespace.
- creator_
hash - Compute the index key hash for a creator (0 for public tags).
- fnv1a32
- FNV-1a 32-bit. Used for creator-hash in the index key.