![]() |
HDF5
1.13.2-1
|
Event Set Interface.
This interface can be only used with the HDF5 VOL connectors that enable the asynchronous feature in HDF5. The native HDF5 library has only synchronous operations.
HDF5 VOL connectors with support for asynchronous operations:
Functions | |
hid_t | H5EScreate (void) |
Creates an event set. More... | |
herr_t | H5ESwait (hid_t es_id, uint64_t timeout, size_t *num_in_progress, hbool_t *err_occurred) |
Waits for operations in event set to complete. More... | |
herr_t | H5ESget_count (hid_t es_id, size_t *count) |
Retrieves number of events in an event set. More... | |
herr_t | H5ESget_op_counter (hid_t es_id, uint64_t *counter) |
Retrieves the next operation counter to be assigned in an event set. More... | |
herr_t | H5ESget_err_status (hid_t es_id, hbool_t *err_occurred) |
Checks for failed operations. More... | |
herr_t | H5ESget_err_count (hid_t es_id, size_t *num_errs) |
Retrieves the number of failed operations. More... | |
herr_t | H5ESget_err_info (hid_t es_id, size_t num_err_info, H5ES_err_info_t err_info[], size_t *err_cleared) |
Retrieves information about failed operations. More... | |
herr_t | H5ESclose (hid_t es_id) |
Terminates access to an event set. More... | |
Terminates access to an event set.
[in] | es_id | Event set identifier |
H5ESclose() terminates access to an event set specified by es_id
.
hid_t H5EScreate | ( | void | ) |
Creates an event set.
H5EScreate() creates a new event set and returns a corresponding event set identifier.
Retrieves number of events in an event set.
[in] | es_id | Event set identifier |
[out] | count | The number of events in the event set |
H5ESget_count() retrieves number of events in an event set specified by es_id
.
Retrieves the number of failed operations.
[in] | es_id | Event set identifier |
[out] | num_errs | Number of errors |
H5ESget_err_count() retrieves the number of failed operations in an event set specified by es_id
.
The function does not wait for active operations to complete, so count may not include all failures.
herr_t H5ESget_err_info | ( | hid_t | es_id, |
size_t | num_err_info, | ||
H5ES_err_info_t | err_info[], | ||
size_t * | err_cleared | ||
) |
Retrieves information about failed operations.
[in] | es_id | Event set identifier |
[in] | num_err_info | The number of elements in err_info array |
[out] | err_info | Array of structures |
[out] | err_cleared | Number of cleared errors |
H5ESget_err_info() retrieves information about failed operations in an event set specified by es_id
. The strings retrieved for each error info must be released by calling H5free_memory().
Below is the description of the H5ES_err_info_t structure:
(Click on a enumerator, field, or type for more information.)
Checks for failed operations.
[in] | es_id | Event set identifier |
[out] | err_occurred | Status indicating if error is present in the event set |
H5ESget_err_status() checks if event set specified by es_id has failed operations.
Retrieves the next operation counter to be assigned in an event set.
[in] | es_id | Event set identifier |
[out] | counter | The next counter value to be assigned to an event |
H5ESget_op_counter() retrieves the counter
that will be assigned to the next operation inserted into the event set es_id
.
Waits for operations in event set to complete.
[in] | es_id | Event set identifier |
[in] | timeout | Total time in nanoseconds to wait for all operations in the event set to complete |
[out] | num_in_progress | The number of operations still in progress |
[out] | err_occurred | Flag if an operation in the event set failed |
H5ESwait() waits for operations in an event set es_id
to wait with timeout
.
Timeout value is in nanoseconds, and is for the H5ESwait() call and not for each individual operation in the event set. For example, if "10" is passed as a timeout value and the event set waited 4 nanoseconds for the first operation to complete, the remaining operations would be allowed to wait for at most 6 nanoseconds more, i.e., the timeout value used across all operations in the event set until it reaches 0, then any remaining operations are only checked for completion, not waited on.
This call will stop waiting on operations and will return immediately if an operation fails. If a failure occurs, the value returned for the number of operations in progress may be inaccurate.