| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
types. Modify H5VLwrap_register() to reject non-VOL-managed object
types. Also fix overisights in h5trace.c from previous changes.
|
|
|
|
| |
H5VL_cmp_connector_cls().
|
|
|
|
|
|
|
|
|
|
|
| |
location set to be in a file. Only meant to be used by VOL connectors.
Implement H5VLpeek_connector_id() to support connectors querying their
own IDs. Fix app_ref with connector IDs in a couple places (external
VOLs registered as default through ENV should be visible to the
application). Modify vlen and reference interfaces to work with
arbitrary VOL connectors. Implement file "post open" specific
callback, to enable connectors to update their file structs after a
wrap context has been set.
|
|
|
|
|
|
|
| |
in the global heap, and changed the VL datatype conversion code to use blobs.
Move encode/decode of sequence lengths into VL datatype callbacks, from native
VOL blob routines.
|
| |
|
|
|
|
| |
clean up warnings.
|
|
|
|
| |
object without closing it. (Especially needed for pass-through connectors)
|
|\ |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| | |
(Primarily for use in the async VOL connector, which has to schedule API
operations for future execution and then restore the state of the library when
the operation actually executes)
|
|/
|
|
|
|
|
|
| |
This implicitly adds support for changing the VOL connector for command-line
tools or any application linked with the library.
Also, add 'make check-vol' support for all directories, clearing up necessary
issues in testing scripts, etc.
|
|
|
|
| |
classes.
|
| |
|
|
|
|
|
|
|
| |
src/H5VLpassthru.c, switched to stashing VOL connector ID & info in
API context (in src/H5CX.c, src/H5CXprivate.h, src/H5F.c, src/H5Fint.c, and
src/H5Fefc.c), patched up all sorts of issues in the tests, to make them work
with 'check-vfd' (and 'check-vol' again).
|
| |
|
|
|
|
| |
typedef and a set of #defines.
|
|\
| |
| |
| |
| |
| |
| | |
~DEROBINS/hdf5_der:h5i_reference_removal to develop
* commit 'e21c1cf7c6ee6dba5dd5bfd1a525227ac1304b53':
Removed H5I_REFERENCE from the library. It has always been unused and has been marked 'deprecated' since 1.10.0. Fixes HDFFV-10252.
|
| |
| |
| |
| | |
and has been marked 'deprecated' since 1.10.0. Fixes HDFFV-10252.
|
|/
|
|
| |
fails
|
|
|
|
|
|
| |
comparison to return comparison value as parameter, so they can return error
values; "cancelled" -> "canceled"; switched order of 'wrap_object' and
'free_wrap_ctx' management callbacks.
|
|
|
|
| |
H5Fget_access_plist(). Also, other misc. cleanups, etc.
|
| |
|
|
|
|
| |
recursive routines work correctly. Another minor cleanup in the attribute code.
|
|
|
|
| |
string when making a copy of the class for internal use.
|
|
|
|
| |
in the 'test' directory appear to be working.
|
| |
|
|\
| |
| |
| | |
stackable_vol
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This brings the H5VL code in line with the H5I code regarding
naming, parameter order, etc.
Several public API calls were affected by this change.
These changed names to reflect their use with VOL drivers:
H5VLregister() --> H5VLregister_driver()
H5VLregister_by_name() --> H5VLregister_driver_by_name()
H5VLunregister() --> H5VLunregister_driver()
H5VLis_registered() --> H5VLis_driver_registered()
This call was renamed to match H5Iregister(). The order of the first
two parameters also reversed and the object pointer is now const.
H5VLobject_register() --> H5VLregister()
|
|/
|
|
| |
modified: test/dsets.c
|
|
|