diff options
author | Gerd Heber <gheber@hdfgroup.org> | 2023-02-28 14:03:16 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-28 14:03:16 (GMT) |
commit | 634978d1fdee134a8b154b9656139eb65b0e5954 (patch) | |
tree | 256475e775a8825715ce71975163d771beaa3fea | |
parent | c92d188c51c9cbd5d2449391309dc4835d5e885a (diff) | |
download | hdf5-634978d1fdee134a8b154b9656139eb65b0e5954.zip hdf5-634978d1fdee134a8b154b9656139eb65b0e5954.tar.gz hdf5-634978d1fdee134a8b154b9656139eb65b0e5954.tar.bz2 |
Create README.md
Outline
-rw-r--r-- | doc/arch/README.md | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/doc/arch/README.md b/doc/arch/README.md new file mode 100644 index 0000000..4021922 --- /dev/null +++ b/doc/arch/README.md @@ -0,0 +1,90 @@ +# An Overview of the HDF5 Library Architecture + +## Purpose, Objectives, and Values + +## Data and Metadata + +### Mapping User Data to HDF5 Files + +#### The HDF5 File Format + +### Mapping User Data to Storage + +### Data Retained in the Library + +## Functional Decomposition + +### Components + +#### Selection +#### Datatype Conversion +#### Filter Pipeline +#### Caching & Buffering +#### File-space Management +#### Opening a File +#### Creating an Object +#### Dataset I/O + +### Use Cases + +#### Parallel HDF5 +#### SWMR +#### VDS +#### Paged Allocation +#### … + +### Feature (In-)Compatibility Matrix + +## Modular Library Organization + +### Library Internals + +#### Boilerplate and Misc. +#### Memory Allocation and Free Lists +#### API Contexts +#### Metadata Cache +#### Files and the Open File List +#### Platform Independence + +### Modules + +#### IDs +#### Property Lists +#### Error Handling +#### File Objects +#### Datasets +#### Groups and Links +#### Datatypes +#### Dataspaces +#### Attributes + +### Extension Interfaces + +#### Filters +#### Virtual File Layer and Virtual File Drivers +#### Virtual Object Layer + +### Language Bindings + +#### General Considerations +#### Fortran +#### Java + +## Performance Considerations + +## Library Development and Maintenance + +### Build Process + +### Testing + +#### Macro Schemes +#### `testhdf5` +#### Other Test Programs +#### (Power)Shell Scripts +#### CMake vs Autotools +#### VOL and VFD Inclusion/Exclusion + +### Versioning and Releases + +## References |