1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>HDF5: The HDF5 Event Set</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="hdf5doxy.css" rel="stylesheet" type="text/css">
<!-- <link href="hdf5doxy.css" rel="stylesheet" type="text/css"/>
-->
<script type="text/javascript" src="hdf5_navtree_hacks.js"></script>
</head>
<body>
<div style="background:#FFDDDD;font-size:120%;text-align:center;margin:0;padding:5px">Please, help us to better serve our user community by answering the following short survey: <a href="https://www.hdfgroup.org/website-survey/">https://www.hdfgroup.org/website-survey/</a></div>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="HDFG-logo.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname"><a href="https://www.hdfgroup.org">HDF5</a>
 <span id="projectnumber">1.15.0.5bd65f7</span>
</div>
<div id="projectbrief">API Reference</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.svg"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_h5_e_s__u_g.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">The HDF5 Event Set </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000012">Todo:</a></b></dt><dd>Under Construction</dd></dl>
<h1><a class="anchor" id="sec_async"></a>
The HDF5 Event Set Interface</h1>
<h1><a class="anchor" id="subsec_async_intro"></a>
Introduction</h1>
<p>HDF5 provides asynchronous APIs for the HDF5 VOL connectors that support asynchronous HDF5 operations using the HDF5 Event Set (H5ES) API. This allows I/O to proceed in the background while the application is performing other tasks.</p>
<p>To support AIO capabilities for the HDF5 VOL connectors, the AIO versions for the functions listed in the table below were added to HDF5 library version 1.14.0 and later. The async version of the function has “_async” suffix added to the function name. For example, the async version for H5Fcreate is H5Fcreate_async.</p>
<table class="doxtable">
<tr>
<th>Interface </th><th>Functions </th></tr>
<tr>
<th>H5F </th><td><a class="el" href="group___h5_f.html#gae64b51ee9ac0781bc4ccc599d98387f4" title="Creates an HDF5 file.">H5Fcreate</a>, <a class="el" href="group___h5_f.html#gae686870f0a276c4d06bbc667b2c24124" title="Flushes all buffers associated with a file to storage.">H5Fflush</a>, <a class="el" href="group___h5_f.html#ga584471c3b98453b9b04a4bf9af847442" title="Checks if a file can be opened with a given file access property list.">H5Fis_accessible</a>, <a class="el" href="group___h5_f.html#gaa3f4f877b9bb591f3880423ed2bf44bc" title="Opens an existing HDF5 file.">H5Fopen</a>, <a class="el" href="group___h5_f.html#gac55cd91d80822e4f8c2a7f04ea71b124" title="Terminates access to an HDF5 file.">H5Fclose</a> </td></tr>
<tr>
<th>H5G </th><td><a class="el" href="group___h5_g.html#ga187cee27a9fc4f1a311eb19b0522c7b8">H5Gcreate</a>, <a class="el" href="group___h5_g.html#gad4be126ab7bbf2001435e8e70089f3d3" title="Retrieves information about a group.">H5Gget_info</a>, <a class="el" href="group___h5_g.html#ga985f27ad1a164d99fa1f58c6de60ab00" title="Retrieves information about a group, according to the group's position within an index.">H5Gget_info_by_idx</a>, <a class="el" href="group___h5_g.html#gadedd0c73c98f2ada69305f2992c3300e" title="Retrieves information about a group by its name.">H5Gget_info_by_name</a>, <a class="el" href="group___h5_g.html#ga8dbe20b390d2504f0bd3589ed8f4e221" title="Closes the specified group.">H5Gclose</a> </td></tr>
<tr>
<th>H5D </th><td><a class="el" href="group___h5_d.html#ga0647ba4bbd26d5230cc07f3a5685b2cf">H5Dcreate</a>, <a class="el" href="_h5version_8h.html#a7dba2e5b2045f31c0932123ffb54f7a3">H5Dopen</a>, <a class="el" href="group___h5_d.html#gad31e1e0129f4520c531ce524de2a056f" title="Changes the sizes of a dataset's dimensions.">H5Dset_extent</a>, <a class="el" href="group___h5_d.html#ga98f44998b67587662af8b0d8a0a75906" title="Writes raw data from a buffer to a dataset.">H5Dwrite</a>, <a class="el" href="group___h5_d.html#ga8287d5a7be7b8e55ffeff68f7d26811c" title="Reads raw data from a dataset into a provided buffer.">H5Dread</a>, <a class="el" href="group___h5_d.html#gad42a46be153d895d8c28a11ebf5a0d0a" title="Returns an identifier for a copy of the dataspace for a dataset.">H5Dget_space</a>, <a class="el" href="group___h5_d.html#gae47c3f38db49db127faf221624c30609" title="Closes the specified dataset.">H5Dclose</a> </td></tr>
<tr>
<th>H5A </th><td><a class="el" href="group___h5_a.html#ga4a76e4e5ab6eb0fd2aa7990d38d55f24">H5Acreate</a>, <a class="el" href="group___h5_a.html#ga004160c28e281455ec48aa7fe557ef8a" title="Creates an attribute attached to a specified object.">H5Acreate_by_name</a>, <a class="el" href="group___h5_a.html#ga59863b205b6d93b2145f0fbca49656f7" title="Opens an attribute for an object specified by object identifier and attribute name.">H5Aopen</a>, <a class="el" href="group___h5_a.html#gadb49a0b5b9798d2e944d877adba8ae10" title="Opens an attribute for an object by object name and attribute name.">H5Aopen_by_name</a>, <a class="el" href="group___h5_a.html#ga293b5be270d90cd5e47f782ca9aec80b" title="Determines whether an attribute with a given name exists on an object.">H5Aexists</a>, <a class="el" href="group___h5_a.html#gab70871e205d57450c83efd9912be2b5c" title="Writes data to an attribute.">H5Awrite</a>, <a class="el" href="group___h5_a.html#gaacb27a997f7c98e8a833d0fd63b58f1c" title="Reads the value of an attribute.">H5Aread</a>, <a class="el" href="group___h5_a.html#gaef4394b661e2c930879e9868e122bdda" title="Closes the specified attribute.">H5Aclose</a>, <a class="el" href="group___h5_a.html#gab1451cdff4f77dcf9feaee83c8179b2d" title="Opens the nth attribute attached to an object.">H5Aopen_by_idx</a>, <a class="el" href="group___h5_a.html#ga490dcd6db246c1fda7295badfce28203" title="Renames an attribute.">H5Arename</a>, <a class="el" href="group___h5_a.html#ga21f8483c935d72187b98f5e7c2056140">H5Arename_by_name</a> </td></tr>
<tr>
<th>H5L </th><td><a class="el" href="group___h5_l.html#ga69d50f7acdfd2f1dc7c4372397e63bd2" title="Creates a hard link to an object.">H5Lcreate_hard</a>, <a class="el" href="group___h5_l.html#ga894444623b58ce1ac3bd35538245ac78" title="Creates a soft link.">H5Lcreate_soft</a>, <a class="el" href="group___h5_l.html#ga5b4e7f59f5d4bdae94fd8ce6875295cf" title="Removes a link from a group.">H5Ldelete</a>, <a class="el" href="group___h5_l.html#gaaf5f820856afdd34f9070a797a246805" title="Removes the n-th link in a group.">H5Ldelete_by_idx</a>, <a class="el" href="group___h5_l.html#ga171be6e41dc1a464edc402df0ebdf801" title="Determines whether a link with the specified name exists in a group.">H5Lexists</a> </td></tr>
<tr>
<th>H5O </th><td><a class="el" href="group___h5_o.html#gaa94449be6f67f499be5ddd3fc44f4225" title="Copies an object in an HDF5 file.">H5Ocopy</a>, <a class="el" href="group___h5_o.html#gaf0318b68be9ab23a92b8a6bee0af9e2f" title="Refreshes all buffers associated with an HDF5 object.">H5Orefresh</a>, <a class="el" href="group___h5_o.html#gad99f35048cba4534b6393214684f090f" title="Flushes all buffers associated with an HDF5 object to disk.">H5Oflush</a>, <a class="el" href="group___h5_o.html#ga545ad7c54987013ebd50b40fe9e73c61" title="Closes an object in an HDF5 file.">H5Oclose</a>, <a class="el" href="group___h5_o.html#ga9f635f58c7ddf17f87c253bfbca08bc1" title="Opens an object in an HDF5 file by location identifier and path name.">H5Oopen</a>, <a class="el" href="group___h5_o.html#gaeb66e5cbb3ca79890fc284a0b06762be" title="Opens the nth object in a group.">H5Oopen_by_idx</a> </td></tr>
<tr>
<th>H5R </th><td><a class="el" href="group___h5_r.html#ga2a00d73b9a13b9069d0ad39225dd9f71" title="Opens the HDF5 attribute referenced.">H5Ropen_attr</a>, <a class="el" href="group___h5_r.html#gaa6692bd3a5b490c8db05b90a5888d0dd" title="Opens the HDF5 object referenced.">H5Ropen_object</a> <a class="el" href="group___h5_r.html#ga400154b014acd1736bae9a127f4e9a1a" title="Sets up a dataspace and selection as specified by a region reference.">H5Ropen_region</a>, <a class="el" href="group___h5_r.html#ga5dc19b9d1833af66c5e1f819f2c05c4a">H5Rdereference</a> </td></tr>
<tr>
<th>H5M </th><td><a class="el" href="group___h5_m.html#gac85972f70201429a93184408d40e4b09" title="Creates a map object.">H5Mcreate</a>, <a class="el" href="group___h5_m.html#ga426fbeac4c90849f2ac1855447fb8d43" title="Opens a map object.">H5Mopen</a>, <a class="el" href="group___h5_m.html#ga8cb388b30893cb79ed4d2bec4a8e8c4f" title="Adds a key-value pair to a map object.">H5Mput</a>, <a class="el" href="group___h5_m.html#ga585b7c3352cbca858e11bf50d3dd68ed" title="Retrieves a key-value pair from a map object.">H5Mget</a>, <a class="el" href="group___h5_m.html#gad9a6a1199edc0fb4a50d831a213a5f44" title="Terminates access to a map object.">H5Mclose</a> </td></tr>
<tr>
<th>H5T </th><td><a class="el" href="group___h5_t.html#ga9a224eb59f0ba807789e3f8ba3a840cd">H5Tcommit</a>, <a class="el" href="group___h5_t.html#ga1d14b407603fdcedfbed1f723784c209">H5Topen</a>, <a class="el" href="group___h5_t.html#gaec07efbab84f4e5b4ed22f010786be8e" title="Copies an existing datatype.">H5Tcopy</a>, <a class="el" href="group___h5_t.html#gafcba4db244f6a4d71e99c6e72b8678f0" title="Releases a datatype.">H5Tclose</a> </td></tr>
</table>
<p>Async versions of the functions have an extra parameter called the event set parameter or es_id. For example, compare the signatures of <a class="el" href="group___h5_d.html#gae47c3f38db49db127faf221624c30609" title="Closes the specified dataset.">H5Dclose</a> and <a class="el" href="group___a_s_y_n_c.html#ga0933c085c070e86350e3548e337e4e7e">H5Dclose_async</a>: </p><div class="fragment"><div class="line"><a class="code" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="code" href="group___h5_d.html#gae47c3f38db49db127faf221624c30609">H5Dclose</a>(<a class="code" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> dset_id);</div>
<div class="line"><a class="code" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> <a class="code" href="group___a_s_y_n_c.html#ga0933c085c070e86350e3548e337e4e7e">H5Dclose_async</a>(<a class="code" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> dset_id, <a class="code" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> es_id);</div>
<div class="ttc" id="a_h5_ipublic_8h_html_a0045db7ff9c22ad35db6ae91662e1943"><div class="ttname"><a href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a></div><div class="ttdeci">int64_t hid_t</div><div class="ttdef"><b>Definition:</b> H5Ipublic.h:60</div></div>
<div class="ttc" id="a_h5public_8h_html_a3b079ecf932a5c599499cf7e298af160"><div class="ttname"><a href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a></div><div class="ttdeci">int herr_t</div><div class="ttdef"><b>Definition:</b> H5public.h:235</div></div>
<div class="ttc" id="agroup___a_s_y_n_c_html_ga0933c085c070e86350e3548e337e4e7e"><div class="ttname"><a href="group___a_s_y_n_c.html#ga0933c085c070e86350e3548e337e4e7e">H5Dclose_async</a></div><div class="ttdeci">herr_t H5Dclose_async(hid_t dset_id, hid_t es_id)</div></div>
<div class="ttc" id="agroup___h5_d_html_gae47c3f38db49db127faf221624c30609"><div class="ttname"><a href="group___h5_d.html#gae47c3f38db49db127faf221624c30609">H5Dclose</a></div><div class="ttdeci">herr_t H5Dclose(hid_t dset_id)</div><div class="ttdoc">Closes the specified dataset.</div></div>
</div><!-- fragment --><p>An event set is an in-memory object that is created by an application and used to track many asynchronous operations with a single object. They function like a "bag" – holding request tokens from one or more asynchronous operations and provide a simple interface for inspecting the status of the entire set of operations.</p>
<p>See the <a class="el" href="group___h5_e_s.html">Event Set Interface (H5ES)</a> APIs that were added to the HDF5 library to manage event sets.</p>
<p>Previous Chapter <a class="el" href="_h5_v_l__u_g.html#sec_vol">The HDF5 Virtual Object Layer (VOL)</a> - Next Chapter <a class="el" href="_h5_m__u_g.html#sec_map">The HDF5 Map Object</a> </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Tue Aug 29 2023 00:29:07 for HDF5 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.9.1 </li>
</ul>
</div>
</body>
</html>
|