Hello all,
I started creating a custom VOL plugin after consulting the VOL User Guide
and Developer guide. Creating a VOL plugin requires to implement all the
function callbacks for the supported operations. I got as an example the
VOL native plugin, which implements the callbacks and they call core HDF5
code, like H5Fint.c, H5FD.c, H5FDsec2.c, H5Gobj.c, H5O.c, etc.
If I want to implement a new VOL plugin, how will I make it by only
implementing the function callbacks without changing the internal HDF5 core
code (H5Fint.c, H5FD.c, H5FDsec2.c, H5Gobj.c, H5O.c) ?
Does this mean that creating a custom VOL plugin may require to change core
HDF5 code? According to the VOL RFC implementing a VOL plugin should nor
require any change to the HDF5 library unless the plugin is an internal
plugin that modifies the current native file format. Also, in figure 1 of
the VOL RFC we see the Raw Mapping and Remote Access plugins to directly
access the file system, without going to the VFL first. This could mean
that going through the HDF5 core code (H5Fint.c, H5FD.c, H5FDsec2.c,
H5Gobj.c, H5O.c) is not always required.
Thanks in advance,
Dimos