Skip to main content

Module extensible_array

Module extensible_array 

Source
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§

EaChunkLoc
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).
EaSblkInfo
Layout of one extensible-array super block (H5EA_sblk_info_t).
ExtensibleArrayDataBlock
Extensible array data block.
ExtensibleArrayHeader
Extensible array header.
ExtensibleArrayIndexBlock
Extensible array index block.
ExtensibleArraySuperBlock
Extensible array super block (EASB).
FilteredChunkEntry
A filtered chunk element stored in the extensible array.
FilteredDataBlock
Filtered variant of the extensible array data block.
FilteredIndexBlock
Filtered variant of the extensible array index block.

Enums§

EaDblkPath
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.