Expand description
Extensible Array (EA) chunk index structures for HDF5.
Implements the on-disk format for the extensible array used to index chunked datasets with one unlimited dimension (the typical SWMR use case).
Structures:
- Header (EAHD): metadata and statistics about the extensible array
- Index Block (EAIB): holds direct chunk addresses and pointers to data/super blocks
- Data Block (EADB): holds additional chunk addresses when the index block is full
Structs§
- EaChunk
Loc - Location of a chunk that lives in an EA data block.
- EaGeometry
- Extensible-array geometry derived from the creation parameters, matching
the libhdf5 on-disk layout (
H5EA__hdr_init,H5EAiblock.c). - EaSblk
Info - Layout of one extensible-array super block (
H5EA_sblk_info_t). - Extensible
Array Data Block - Extensible array data block.
- Extensible
Array Header - Extensible array header.
- Extensible
Array Index Block - Extensible array index block.
- Extensible
Array Super Block - Extensible array super block (EASB).
- Filtered
Chunk Entry - A filtered chunk element stored in the extensible array.
- Filtered
Data Block - Filtered variant of the extensible array data block.
- Filtered
Index Block - Filtered variant of the extensible array index block.
Enums§
- EaDblk
Path - How an EA data block’s address is reached from the index block.
- EaLoc
- Where a chunk lives within the extensible array.
Constants§
- EADB_
SIGNATURE - Signature for the extensible array data block.
- EAHD_
SIGNATURE - Signature for the extensible array header.
- EAIB_
SIGNATURE - Signature for the extensible array index block.
- EASB_
SIGNATURE - Signature for the extensible array super block.
- EA_
CLS_ CHUNK - Class ID for unfiltered chunks (H5EA_CLS_CHUNK).
- EA_
CLS_ FILT_ CHUNK - Class ID for filtered chunks (H5EA_CLS_FILT_CHUNK).
- EA_
VERSION - Extensible array version.
Functions§
- compute_
chunk_ size_ len - Compute chunk_size_len: bytes needed to encode the uncompressed chunk size. Formula from HDF5 C: 1 + (log2(chunk_size) + 8) / 8, capped at 8.
- compute_
ndblk_ addrs - Compute ndblk_addrs for the index block given the creation params.
- compute_
nsblk_ addrs - Compute nsblk_addrs for the index block: the number of super block address slots stored in the EAIB.