Welcome to mirror list, hosted at ThFree Co, Russian Federation.

structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html - github.com/windirstat/llfio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: dcaa8f02d84339cf03d9f371674adac21bc413d9 (plain)
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LLFIO: llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state Struct Reference</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>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<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="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">LLFIO
   &#160;<span id="projectnumber">v2.00 late beta</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.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="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A synchronised i/o operation state.  
 <a href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#details">More...</a></p>

<p><code>#include &quot;io_multiplexer.hpp&quot;</code></p>
<div class="dynheader">
Inheritance diagram for llfio_v2_xxx::io_multiplexer::_synchronised_io_operation_state:</div>
<div class="dyncontent">
 <div class="center">
  <img src="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.png" usemap="#llfio_5Fv2_5Fxxx::io_5Fmultiplexer::_5Fsynchronised_5Fio_5Foperation_5Fstate_map" alt=""/>
  <map id="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::_5Fsynchronised_5Fio_5Foperation_5Fstate_map" name="llfio_5Fv2_5Fxxx::io_5Fmultiplexer::_5Fsynchronised_5Fio_5Foperation_5Fstate_map">
<area href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html" title="An unsynchronised i/o operation state." alt="llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state" shape="rect" coords="0,56,374,80"/>
<area href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html" title="An interface to a state for an i/o operation scheduled against an i/o multiplexer." alt="llfio_v2_xxx::io_multiplexer::io_operation_state" shape="rect" coords="0,0,374,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:acd0454f68047ee21a2b850c04bf2a205"><td class="memItemLeft" align="right" valign="top"><a id="acd0454f68047ee21a2b850c04bf2a205"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>_synchronised_io_operation_state</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">_synchronised_io_operation_state</a> &amp;)=delete</td></tr>
<tr class="separator:acd0454f68047ee21a2b850c04bf2a205"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35a53901388d65e5cce777866eed6e35"><td class="memItemLeft" align="right" valign="top"><a id="a35a53901388d65e5cce777866eed6e35"></a>
virtual <a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a35a53901388d65e5cce777866eed6e35">current_state</a> () const noexcept override</td></tr>
<tr class="memdesc:a35a53901388d65e5cce777866eed6e35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to retrieve the current state of the i/o operation. <br /></td></tr>
<tr class="separator:a35a53901388d65e5cce777866eed6e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dcb0935460499f66478801be21526dd"><td class="memItemLeft" align="right" valign="top"><a id="a7dcb0935460499f66478801be21526dd"></a>
virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a7dcb0935460499f66478801be21526dd">get_completed_read</a> () &amp;&amp;noexcept override</td></tr>
<tr class="memdesc:a7dcb0935460499f66478801be21526dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">After an i/o operation has finished, can be used to retrieve the result if the visitor did not. <br /></td></tr>
<tr class="separator:a7dcb0935460499f66478801be21526dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3759c7d7f001e6d632687ea00f70628"><td class="memItemLeft" align="right" valign="top"><a id="aa3759c7d7f001e6d632687ea00f70628"></a>
virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#aa3759c7d7f001e6d632687ea00f70628">get_completed_write_or_barrier</a> () &amp;&amp;noexcept override</td></tr>
<tr class="memdesc:aa3759c7d7f001e6d632687ea00f70628"><td class="mdescLeft">&#160;</td><td class="mdescRight">After an i/o operation has finished, can be used to retrieve the result if the visitor did not. <br /></td></tr>
<tr class="separator:aa3759c7d7f001e6d632687ea00f70628"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3f7cf60400ed6ae7032bd43c6d50feb"><td class="memItemLeft" align="right" valign="top"><a id="ab3f7cf60400ed6ae7032bd43c6d50feb"></a>
virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ab3f7cf60400ed6ae7032bd43c6d50feb">invoke</a> (function_ptr&lt; void *(<a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>)&gt; c) const noexcept override</td></tr>
<tr class="memdesc:ab3f7cf60400ed6ae7032bd43c6d50feb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invoke the callable with the per-i/o state lock held, if any. <br /></td></tr>
<tr class="separator:ab3f7cf60400ed6ae7032bd43c6d50feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b082db9550619210e18d41c43a401c6"><td class="memItemLeft" align="right" valign="top"><a id="a9b082db9550619210e18d41c43a401c6"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>read_initiated</b> () override</td></tr>
<tr class="separator:a9b082db9550619210e18d41c43a401c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad91b80c9cdb74d93aa86984f9b05a8c8"><td class="memItemLeft" align="right" valign="top"><a id="ad91b80c9cdb74d93aa86984f9b05a8c8"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>read_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; &amp;&amp;res) override</td></tr>
<tr class="separator:ad91b80c9cdb74d93aa86984f9b05a8c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae00a5e9ca83a6e6dd499e21b2de41a33"><td class="memItemLeft" align="right" valign="top"><a id="ae00a5e9ca83a6e6dd499e21b2de41a33"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>read_finished</b> () override</td></tr>
<tr class="separator:ae00a5e9ca83a6e6dd499e21b2de41a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fcec51351c69f0888b64c2097505644"><td class="memItemLeft" align="right" valign="top"><a id="a3fcec51351c69f0888b64c2097505644"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>write_initiated</b> () override</td></tr>
<tr class="separator:a3fcec51351c69f0888b64c2097505644"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01bf271bda674c78f92c0daeb3be1255"><td class="memItemLeft" align="right" valign="top"><a id="a01bf271bda674c78f92c0daeb3be1255"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>write_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res) override</td></tr>
<tr class="separator:a01bf271bda674c78f92c0daeb3be1255"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02bad6faca4d518018a70fc53ebe351c"><td class="memItemLeft" align="right" valign="top"><a id="a02bad6faca4d518018a70fc53ebe351c"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_initiated</b> () override</td></tr>
<tr class="separator:a02bad6faca4d518018a70fc53ebe351c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f022c352c9b8b903a72b2167df83268"><td class="memItemLeft" align="right" valign="top"><a id="a6f022c352c9b8b903a72b2167df83268"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>barrier_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res) override</td></tr>
<tr class="separator:a6f022c352c9b8b903a72b2167df83268"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a321145a18f5f85416e41087a1dcc3a25"><td class="memItemLeft" align="right" valign="top"><a id="a321145a18f5f85416e41087a1dcc3a25"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>write_or_barrier_finished</b> () override</td></tr>
<tr class="separator:a321145a18f5f85416e41087a1dcc3a25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac059f1ac51373dc506a7998fcf0b7147"><td class="memItemLeft" align="right" valign="top"><a id="ac059f1ac51373dc506a7998fcf0b7147"></a>
constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#ac059f1ac51373dc506a7998fcf0b7147">_unsynchronised_io_operation_state</a> ()</td></tr>
<tr class="memdesc:ac059f1ac51373dc506a7998fcf0b7147"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an unknown state. <br /></td></tr>
<tr class="separator:ac059f1ac51373dc506a7998fcf0b7147"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bd5f8aa3fff63f40b7280987e9e92f1"><td class="memItemLeft" align="right" valign="top"><a id="a3bd5f8aa3fff63f40b7280987e9e92f1"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3bd5f8aa3fff63f40b7280987e9e92f1">_unsynchronised_io_operation_state</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_v, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; reqs)</td></tr>
<tr class="memdesc:a3bd5f8aa3fff63f40b7280987e9e92f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a read operation state. <br /></td></tr>
<tr class="separator:a3bd5f8aa3fff63f40b7280987e9e92f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72236e836e8d931921eed3969aee19e4"><td class="memItemLeft" align="right" valign="top"><a id="a72236e836e8d931921eed3969aee19e4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a72236e836e8d931921eed3969aee19e4">_unsynchronised_io_operation_state</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_v, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs)</td></tr>
<tr class="memdesc:a72236e836e8d931921eed3969aee19e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a write operation state. <br /></td></tr>
<tr class="separator:a72236e836e8d931921eed3969aee19e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b5ca94b944cff01b36d4d85dcaf0975"><td class="memItemLeft" align="right" valign="top"><a id="a3b5ca94b944cff01b36d4d85dcaf0975"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a3b5ca94b944cff01b36d4d85dcaf0975">_unsynchronised_io_operation_state</a> (<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *_h, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *_v, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a9991b48f4cd8c77ef7fd31e6c48003b3">registered_buffer_type</a> &amp;&amp;b, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__request.html">io_request</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; reqs, <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#ace3fed6888ea1b5b6f1f641e2cf7cd26">barrier_kind</a> kind)</td></tr>
<tr class="memdesc:a3b5ca94b944cff01b36d4d85dcaf0975"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a barrier operation state. <br /></td></tr>
<tr class="separator:a3b5ca94b944cff01b36d4d85dcaf0975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6121c00e99a0f542a3a3dd7948e70385"><td class="memItemLeft" align="right" valign="top"><a id="a6121c00e99a0f542a3a3dd7948e70385"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a6121c00e99a0f542a3a3dd7948e70385">_unsynchronised_io_operation_state</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; &amp;&amp;res)</td></tr>
<tr class="memdesc:a6121c00e99a0f542a3a3dd7948e70385"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a finished read operation state. <br /></td></tr>
<tr class="separator:a6121c00e99a0f542a3a3dd7948e70385"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15ba07e7c8a65bd0e68b66a246341fef"><td class="memItemLeft" align="right" valign="top"><a id="a15ba07e7c8a65bd0e68b66a246341fef"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html#a15ba07e7c8a65bd0e68b66a246341fef">_unsynchronised_io_operation_state</a> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
<tr class="memdesc:a15ba07e7c8a65bd0e68b66a246341fef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a finished write or barrier operation state. <br /></td></tr>
<tr class="separator:a15ba07e7c8a65bd0e68b66a246341fef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bb3966e906c5fb81cfa50244a8b7a8b"><td class="memItemLeft" align="right" valign="top"><a id="a4bb3966e906c5fb81cfa50244a8b7a8b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>_unsynchronised_io_operation_state</b> (const <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a> &amp;)=delete</td></tr>
<tr class="separator:a4bb3966e906c5fb81cfa50244a8b7a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a3379a6af67a1656a2ee2f20058f847"><td class="memItemLeft" align="right" valign="top"><a id="a8a3379a6af67a1656a2ee2f20058f847"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>_unsynchronised_io_operation_state</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html">_unsynchronised_io_operation_state</a> &amp;&amp;o) noexcept</td></tr>
<tr class="separator:a8a3379a6af67a1656a2ee2f20058f847"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4eb0fe836f3853d4498a2e1f3f84a98"><td class="memItemLeft" align="right" valign="top"><a id="ad4eb0fe836f3853d4498a2e1f3f84a98"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#ad4eb0fe836f3853d4498a2e1f3f84a98">clear_storage</a> ()</td></tr>
<tr class="memdesc:ad4eb0fe836f3853d4498a2e1f3f84a98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to clear the storage in this operation state. <br /></td></tr>
<tr class="separator:ad4eb0fe836f3853d4498a2e1f3f84a98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58c5c78ce0aec95c010146024584ddcd"><td class="memItemLeft" align="right" valign="top"><a id="a58c5c78ce0aec95c010146024584ddcd"></a>
virtual <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html">io_operation_state</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#a58c5c78ce0aec95c010146024584ddcd">relocate_to</a> (byte *to_) noexcept override</td></tr>
<tr class="memdesc:a58c5c78ce0aec95c010146024584ddcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Relocate the state to new storage, clearing the original state. Terminates the process if the state is in use. <br /></td></tr>
<tr class="separator:a58c5c78ce0aec95c010146024584ddcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa302f3e0b65077bc3721db595f6acb98"><td class="memItemLeft" align="right" valign="top"><a id="aa302f3e0b65077bc3721db595f6acb98"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_read_initiated</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
<tr class="separator:aa302f3e0b65077bc3721db595f6acb98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addd6076ed27d82c3614930d4524935b8"><td class="memItemLeft" align="right" valign="top"><a id="addd6076ed27d82c3614930d4524935b8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_read_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#a6f5f10bf45bad03c994342e544675354">buffers_type</a> &gt; &amp;&amp;res)</td></tr>
<tr class="separator:addd6076ed27d82c3614930d4524935b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac363efe90328c9a7790d94c249a78f6b"><td class="memItemLeft" align="right" valign="top"><a id="ac363efe90328c9a7790d94c249a78f6b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_read_finished</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
<tr class="separator:ac363efe90328c9a7790d94c249a78f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad1ee50a73100f34335b64de59d94214"><td class="memItemLeft" align="right" valign="top"><a id="aad1ee50a73100f34335b64de59d94214"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_write_initiated</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
<tr class="separator:aad1ee50a73100f34335b64de59d94214"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa08fb625c75115401d281b61a83b8beb"><td class="memItemLeft" align="right" valign="top"><a id="aa08fb625c75115401d281b61a83b8beb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_write_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
<tr class="separator:aa08fb625c75115401d281b61a83b8beb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14859e2590300a009a7edddb82d6f035"><td class="memItemLeft" align="right" valign="top"><a id="a14859e2590300a009a7edddb82d6f035"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_barrier_initiated</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
<tr class="separator:a14859e2590300a009a7edddb82d6f035"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69b3c0981c57dc979e239e48742b30b6"><td class="memItemLeft" align="right" valign="top"><a id="a69b3c0981c57dc979e239e48742b30b6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_barrier_completed</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g, <a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__result.html">io_result</a>&lt; <a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html#abc6841b44841c72c3778a3aee296a051">const_buffers_type</a> &gt; &amp;&amp;res)</td></tr>
<tr class="separator:a69b3c0981c57dc979e239e48742b30b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b3e1a73a321f965ee0d60deeebd2e62"><td class="memItemLeft" align="right" valign="top"><a id="a9b3e1a73a321f965ee0d60deeebd2e62"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>_write_or_barrier_finished</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state_1_1lock__guard.html">lock_guard</a> &amp;g)</td></tr>
<tr class="separator:a9b3e1a73a321f965ee0d60deeebd2e62"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:af4cb1c032dcf9d7bc390e116e0d28094"><td class="memItemLeft" align="right" valign="top"><a id="af4cb1c032dcf9d7bc390e116e0d28094"></a>
spinlock&#160;</td><td class="memItemRight" valign="bottom"><b>_lock_</b></td></tr>
<tr class="separator:af4cb1c032dcf9d7bc390e116e0d28094"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa41379b452b50f267639b8d2ebbbdfa4"><td class="memItemLeft" align="right" valign="top"><a id="aa41379b452b50f267639b8d2ebbbdfa4"></a>
<a class="el" href="namespacellfio__v2__xxx.html#a8884e1fc12d34aeaa428539bf6298745">io_operation_state_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state.html#aa41379b452b50f267639b8d2ebbbdfa4">state</a> {io_operation_state_type::unknown}</td></tr>
<tr class="memdesc:aa41379b452b50f267639b8d2ebbbdfa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The current lifecycle state of this i/o operation. <br /></td></tr>
<tr class="separator:aa41379b452b50f267639b8d2ebbbdfa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acda4e1f8e7713fb5a0c5e1cffbb8dcac"><td class="memItemLeft" align="right" valign="top"><a id="acda4e1f8e7713fb5a0c5e1cffbb8dcac"></a>
union <a class="el" href="unionllfio__v2__xxx_1_1io__multiplexer_1_1__unsynchronised__io__operation__state_1_1payload__t.html">llfio_v2_xxx::io_multiplexer::_unsynchronised_io_operation_state::payload_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>payload</b></td></tr>
<tr class="separator:acda4e1f8e7713fb5a0c5e1cffbb8dcac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0ea732afb9aed27c04d6f333ed815ae"><td class="memItemLeft" align="right" valign="top"><a id="aa0ea732afb9aed27c04d6f333ed815ae"></a>
<a class="el" href="classllfio__v2__xxx_1_1io__handle.html">io_handle</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#aa0ea732afb9aed27c04d6f333ed815ae">h</a> {nullptr}</td></tr>
<tr class="memdesc:aa0ea732afb9aed27c04d6f333ed815ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">The i/o handle the i/o operation is upon. <br /></td></tr>
<tr class="separator:aa0ea732afb9aed27c04d6f333ed815ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a648d87148f5a16587c9f9c2a5663e20c"><td class="memItemLeft" align="right" valign="top"><a id="a648d87148f5a16587c9f9c2a5663e20c"></a>
<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state__visitor.html">io_operation_state_visitor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1io__operation__state.html#a648d87148f5a16587c9f9c2a5663e20c">visitor</a> {nullptr}</td></tr>
<tr class="memdesc:a648d87148f5a16587c9f9c2a5663e20c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The state visitor supplied when the operation was initialised. <br /></td></tr>
<tr class="separator:a648d87148f5a16587c9f9c2a5663e20c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a628376450957f45e09e967f06942ca31"><td class="memItemLeft" align="right" valign="top"><a id="a628376450957f45e09e967f06942ca31"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>_synchronised_io_operation_state</b> (<a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">_synchronised_io_operation_state</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a628376450957f45e09e967f06942ca31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a756cd8d29107f09c35becc49077279de"><td class="memItemLeft" align="right" valign="top"><a id="a756cd8d29107f09c35becc49077279de"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_lock</b> () noexcept override</td></tr>
<tr class="separator:a756cd8d29107f09c35becc49077279de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abab4b9301e4e4bbf8b24e3769cd5bb1d"><td class="memItemLeft" align="right" valign="top"><a id="abab4b9301e4e4bbf8b24e3769cd5bb1d"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>_unlock</b> () noexcept override</td></tr>
<tr class="separator:abab4b9301e4e4bbf8b24e3769cd5bb1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A synchronised i/o operation state. </p>
<p>This implementation uses an atomic to synchronise access during the <code>*_completed()</code>, <code>*_finished()</code> and <code>current_state()</code> member functions, thus making it suitable for use across threads. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/llfio/v2.0/io_multiplexer.hpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacellfio__v2__xxx.html">llfio_v2_xxx</a></li><li class="navelem"><a class="el" href="classllfio__v2__xxx_1_1io__multiplexer.html">io_multiplexer</a></li><li class="navelem"><a class="el" href="structllfio__v2__xxx_1_1io__multiplexer_1_1__synchronised__io__operation__state.html">_synchronised_io_operation_state</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>