Skip to main content

Module shared_message

Module shared_message 

Source
Expand description

HDF5 Shared Object Header Message resolution.

When a header message has its “shared” flag (bit 1 of msg_flags) set, the message data is not the actual message content but a reference to a shared copy stored elsewhere.

Shared message reference types:

  • Type 0: shared in the same object header (not typically used)
  • Type 1: shared in another object header (version 1-2)
  • Type 2: shared in the SOHM table (via fractal heap, version 3)
  • Type 3: shared in another object header (version 3)

SOHM table structures:

  • SharedMessageTable message (0x000F) in superblock extension: version + table_addr + nindexes
  • SMTB structure at table_addr: per-index metadata (type flags, addresses, etc.)
  • SMLI list structure: simple list of shared message entries
  • B-tree v2 type 7: indexed shared message entries

Structs§

SharedMessageRef
A resolved shared message reference.
SohmEntry
A single entry in a SOHM list or B-tree.
SohmIndex
A single SOHM index entry from the SMTB table.
SohmTable
Parsed SOHM table (SMTB structure).
SohmTableMessage
Parsed Shared Message Table message (type 0x000F from superblock extension).

Functions§

is_shared
Check whether a header message has its shared flag set.
parse_shared_ref
Parse a shared message reference from the message data.
parse_sohm_btree_entries
Parse SOHM entries from a B-tree v2 type 7 index.
parse_sohm_list
Parse a SOHM list (signature “SMLI”) and return all entries.
parse_sohm_table
Parse the SOHM table structure (signature “SMTB”) from the file.
parse_sohm_table_message
Parse a Shared Message Table message (type 0x000F) from the superblock extension.
resolve_shared_message
Resolve a shared message to its actual message data.
resolve_shared_message_with_sohm
Resolve a shared message, optionally using a SOHM table for type 2 refs.
resolve_sohm_message
Resolve a type 2 (SOHM) shared message reference.