ddn.lib.hdf5.h5es

HDF5 Event Set (H5ES) API Bindings

This module provides D bindings for the HDF5 Event Set API (H5ES). Event sets are used to manage asynchronous operations in HDF5, allowing applications to track the status of multiple async operations and wait for their completion.

License

BSD-3-Clause

Types 4

enumH5ES_STATUS : int

Event set status values.

Indicates the overall status of operations in an event set.

NONE = 0No operations in progress, no failures
IN_PROGRESS = 1Operations in progress
FAIL = 2Operations completed with failures

Error information structure for event set operations.

Contains details about errors that occurred during async operations.

Fields
char * api_nameAPI name where the error occurred
char * api_argsAPI arguments (as a string)
char * app_file_nameApplication name/context
char * app_func_nameApplication function name
uint app_line_numApplication line number
ulong op_ins_countOperation counter when error occurred
ulong op_ins_tsTimestamp when operation was inserted
ulong op_exec_tsTimestamp when operation was executed
aliasH5ES_event_insert_func_t = herr_t function(void * request, void * ctx)

Callback function type for event set insert operations.

Called when a new operation is inserted into an event set.

Parameters

requestThe async request being inserted
ctxUser-provided context data

Returns

Non-negative on success, negative on failure.
aliasH5ES_event_complete_func_t = herr_t function(void * request, int status, H5ES_err_info_t * err_info, void * ctx)

Callback function type for event set completion operations.

Called when an operation in an event set completes.

Parameters

requestThe async request that completed
statusCompletion status of the operation
err_infoError information if the operation failed
ctxUser-provided context data

Returns

Non-negative on success, negative on failure.

Functions 14

fnhid_t H5EScreate()Creates a new event set.
fnherr_t H5ESclose(hid_t es_id)Closes an event set.
fnherr_t H5ESwait(hid_t es_id, ulong timeout, size_t * num_in_progress, hbool_t * err_occurred)Waits for operations in an event set to complete.
fnherr_t H5EScancel(hid_t es_id, size_t * num_not_canceled, hbool_t * err_occurred)Cancels operations in an event set.
fnherr_t H5ESget_count(hid_t es_id, size_t * count)Gets the number of operations in an event set.
fnherr_t H5ESget_err_status(hid_t es_id, hbool_t * err_status)Gets the error status of an event set.
fnherr_t H5ESget_err_count(hid_t es_id, size_t * num_errs)Gets the number of failed operations in an event set.
fnherr_t H5ESget_err_info(hid_t es_id, size_t num_err_info, H5ES_err_info_t * err_info, size_t * num_cleared)Gets error information from failed operations.
fnherr_t H5ESget_op_counter(hid_t es_id, ulong * counter)Gets the operation counter for an event set.
fnherr_t H5ESfree_err_info(size_t num_err_info, H5ES_err_info_t * err_info)Frees error information structures.
fnherr_t H5ESregister_insert_func(hid_t es_id, H5ES_event_insert_func_t func, void * ctx)Registers a callback for operation insertions.
fnherr_t H5ESregister_complete_func(hid_t es_id, H5ES_event_complete_func_t func, void * ctx)Registers a callback for operation completions.
fnherr_t H5ESinsert_request(hid_t es_id, hid_t connector_id, void * request)Inserts an async request into an event set.
fnherr_t H5ESget_requests(hid_t es_id, H5_iter_order_t order, hid_t * connector_ids, void * * requests, size_t array_len, size_t * count)Gets async requests from an event set.