All three SDD plans fully wired and committed to main: Filter Codecs (FC): - FC-1: Implement float E-scale in scaleoffset_decompress (value = minval + code * 2^E, negative exponents via cast to i32); add two round-trip tests. - FC-2: filters_szip.rs — feature-gated SZIP decode via libaec FFI; SZIP dispatch arm added to decompress_chunk. - FC-3: libaec-sys workspace crate with pkg-config probe and aec_buffer_decode FFI binding; added to workspace members. Format Write Extensions (FWE): - FWE-1: GroupBuilder::add_external_link() API; wired through FinishedGroup → GrpFlat → file_writer pass 1/2/3 (OH size, layout cursor, final write); external_link_write_roundtrip test. - FWE-2: data_layout_write.rs — serialize_vds_mappings with length_size param and version 0/1 (external vs same-file) selection; declared as pub mod. - FWE-3: with_virtual_sources empty-mapping guard (Important #9) — empty vec is silently ignored; vds_empty_mapping_list test updated to assert non-VDS layout results. MPI-IO VOL Backend (MPI): - MPI-1/2/3: mpi_vol.rs — MpiVol implementing VirtualObjectLayer; root-read + broadcast collective read; gather + root-write collective write; feature- gated mpi-io feature; wired into clawhdf5-io lib.rs. - MPI-4: mpi_io_bench binary (h5bench-equivalent MPI-IO throughput bench). mpi_vol.rs reviewer fixes: - Doc-comment updated to accurately describe root-read+broadcast pattern (not MPI_File_read_at); MpiVol::expected_capabilities() associated fn added so tests can verify capabilities without a live MPI universe; rank_and_size_stub_values renamed to no_feature_error_contains_feature_name. Workspace check: zero warnings, 20 test suites pass. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
32 lines
992 B
TOML
32 lines
992 B
TOML
[package]
|
|
name = "clawhdf5-io"
|
|
version = "2.1.0"
|
|
edition = "2024"
|
|
description = "I/O abstraction layer for rustyhdf5"
|
|
license = "MIT"
|
|
repository = "https://github.com/redclawsystems/clawhdf5"
|
|
readme = "README.md"
|
|
keywords = ["hdf5", "io", "science", "data"]
|
|
categories = ["filesystem", "science"]
|
|
|
|
[dependencies]
|
|
clawhdf5-format = { path = "../clawhdf5-format", version = "2.1.0" }
|
|
memmap2 = { version = "0.9", optional = true }
|
|
libc = { version = "0.2", optional = true }
|
|
tokio = { version = "1", features = ["fs", "io-util"], optional = true }
|
|
reqwest = { version = "0.12", features = ["json"], optional = true }
|
|
serde = { version = "1", features = ["derive"], optional = true }
|
|
serde_json = { version = "1", optional = true }
|
|
mpi = { version = "0.8", optional = true }
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1", features = ["full"] }
|
|
tempfile = "3"
|
|
|
|
[features]
|
|
default = []
|
|
mmap = ["memmap2", "libc"]
|
|
async = ["tokio"]
|
|
hsds = ["reqwest", "serde", "serde_json", "async"]
|
|
mpi-io = ["mpi"]
|