Commit Graph

10 Commits

Author SHA1 Message Date
Dana Robinson
2b1709f6ff Squashed commit of the token_refactoring branch: 2020-01-18 20:02:16 -08:00
Quincey Koziol
fcdcc4beb1 Remove mismerged code 2020-01-07 10:16:20 -06:00
Quincey Koziol
9a155a538b Cherry pick of 0225e6d596 2020-01-04 10:05:22 -06:00
Quincey Koziol
7d87aea63f Refactor all the 'H5VL_*_optional' callbacks to move the type of operation out
of the va_list, so it's at least possible for another connector to know what
the operation is and decide whether to implement it or not.

Added a new VOL sub-class called "introspect" where callbacks that report
information about the connector or container can be placed.  Added an
'opt_query' callback to this sub-class, for a connector to report back
to the library whether a particular optional callback operation is supported.
Also added a 'get_conn_cls' introspection callback, to retrieve the H5VL_class_t
of a connector (either the "current" connector, H5VL_GET_CONN_LVL_CURR, or
the terminal connector, H5VL_GET_CONN_LVL_TERM).

Moved the "post open" operation from a file 'specific' operation to a file
'optional' operation, now that it's possible to detect (with the 'opt_query'
introspection callback) whether a VOL connector implements an optional
operation, without just returning an error.

Added new internal VOL helper routines: H5VL_object_is_native, to determine
if an object is in (or is a) native file, and H5VL_file_is_same, to determine
if two objects are in (or are) the same terminal VOL connector's container.
(And moved the special handling for FILE_IS_EQUAL operation out of internal VOL
callback routine into H5VL_file_is_same)

Made new dataset 'get' operation for H5Dvlen_get_buf_size, aligning it better
with other 'get' operations in API.

Fixed several issues with pass-through connectors, which are now passing the
'make check-passthrough-vol' tests again.

A bunch of warning and style cleanups as well.
2020-01-04 10:02:08 -06:00
Dana Robinson
19f32485cf Fixed missing blob callbacks in test VOL connectors. 2019-12-16 08:13:31 -08:00
Jerome Soumagne
49fe497201 Revert "Merge branch 'hdf5_1_12' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into hdf5_1_12"
This reverts commit 9f9336a5bd, reversing
changes made to 437a1919e7.
2019-12-09 12:16:52 -06:00
Richard Warren
0c06cfc6ef Merged HDFFV-10929_2GB_testing to hdf5_1_12 2019-12-06 16:42:36 -05:00
Dana Robinson
d5a8b2a80c Split VOL connector routines into separate headers:
* H5VLconnector.h for terminal connector things
* H5VLconnector_passthru.h for passthrough connector things

Note that these headers are arranged such that they are included in
hdf5.h so VOL connectors only need to include that. The separation into
multiple headers is mainly for readability.
2019-05-24 02:22:08 -07:00
Quincey Koziol
62198c2436 Add an 'unwrap' VOL callback, so that connectors can unwrap an underlying
object without closing it.  (Especially needed for pass-through connectors)
2019-04-21 14:45:54 -05:00
Dana Robinson
621014be28 Added a simple test for registration of VOL connector plugins.
Autotools only for right now, but this will be fleshed out in future
work.
2018-12-27 15:50:04 -08:00