pub enum ObjectFormat {
Legacy,
Modern,
}Expand description
Which generation of the on-disk object format one file’s objects are written in.
Not a second LibverBound: the bound picks the datatype version a
caller asked for, while this says which superblock generation the file
already is. The two never combine freely — libhdf5 derives both from the
same low bound, so a version-0/1 superblock always carries version-1 object
headers and the H5F_LIBVER_EARLIEST row of every message-version table,
and a version-2/3 superblock always carries version-2 headers and the
H5F_LIBVER_V18 row. Choosing per message is what would let this writer
emit a combination libhdf5 never writes.
Variants§
Legacy
A version-0/1 superblock file: version-1 object headers, symbol-table groups, and the oldest message versions that can express the content.
Modern
A version-2/3 superblock file: version-2 object headers and the
message versions H5F_LIBVER_V18 calls for.
Implementations§
Source§impl ObjectFormat
impl ObjectFormat
Sourcepub fn object_header_version(self) -> u8
pub fn object_header_version(self) -> u8
The object header version (H5O_obj_ver_bounds, H5Oint.c:125).
Sourcepub fn dataspace_version(self) -> u8
pub fn dataspace_version(self) -> u8
The floor for a dataspace message’s version
(H5O_sdspace_ver_bounds, H5S.c:61). A null dataspace cannot be
expressed at version 1 and raises itself.
Sourcepub fn fill_value_version(self) -> u8
pub fn fill_value_version(self) -> u8
The fill-value message version.
H5O_fill_ver_bounds (H5Ofill.c:150) is H5O_FILL_VERSION_1 at the
earliest bound, but the bound is only half of it: H5O__fill_set_version
takes MAX(fill->version, bound), and the default creation property list
starts every fill value at H5O_FILL_VERSION_2 (H5Pdcpl.c:163). Nothing
in the public API lowers it, so version 1 is unreachable and a classic
file’s new fill message is version 2.
Version 1 is not the “fill value (old)” message either — that is a
separate message type (0x04, MSG_FILL_VALUE_OLD) with its own
size-and-bytes encoding, which a classic file carries alongside this
one when the fill value is user-defined.
Sourcepub fn attribute_version(self) -> u8
pub fn attribute_version(self) -> u8
The attribute message version (H5O_attr_ver_bounds, H5Aint.c:95).
Sourcepub fn filter_pipeline_version(self) -> u8
pub fn filter_pipeline_version(self) -> u8
The filter pipeline message version (H5O_pline_ver_bounds,
H5Opline.c:85).