diff options
Diffstat (limited to 'classllfio__v2__xxx_1_1file__handle.html')
-rw-r--r-- | classllfio__v2__xxx_1_1file__handle.html | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/classllfio__v2__xxx_1_1file__handle.html b/classllfio__v2__xxx_1_1file__handle.html index 0def2a02..13153dc2 100644 --- a/classllfio__v2__xxx_1_1file__handle.html +++ b/classllfio__v2__xxx_1_1file__handle.html @@ -228,8 +228,8 @@ virtual result< void > </td><td class="memItemRight" valign="bottom"> <tr class="memitem:ab9983ea970040b905a4eb6180595e2e6"><td class="memItemLeft" align="right" valign="top"><a id="ab9983ea970040b905a4eb6180595e2e6"></a> virtual <a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__result.html">io_result</a>< const_buffers_type > </td><td class="memItemRight" valign="bottom"><b>barrier</b> (<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>< const_buffers_type > reqs=<a class="el" href="structllfio__v2__xxx_1_1io__handle_1_1io__request.html">io_request</a>< const_buffers_type >(), bool wait_for_device=false, bool and_metadata=false, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=<a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a>()) noexcept override</td></tr> <tr class="separator:ab9983ea970040b905a4eb6180595e2e6"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:af0b8ea283f0b1c107173ad5768e5301c"><td class="memItemLeft" align="right" valign="top">virtual result< <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#af0b8ea283f0b1c107173ad5768e5301c">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr> -<tr class="separator:af0b8ea283f0b1c107173ad5768e5301c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memItemLeft" align="right" valign="top">result< <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a6b97756d8d46e80da7d0fa04158a71a8">clone</a> (<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> mode_=mode::unchanged, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> caching_=caching::unchanged, <a class="el" href="structllfio__v2__xxx_1_1deadline.html">deadline</a> d=std::chrono::seconds(30)) const noexcept</td></tr> +<tr class="separator:a6b97756d8d46e80da7d0fa04158a71a8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae7735588338065ede0ab9b7f979bc65a"><td class="memItemLeft" align="right" valign="top"><a id="ae7735588338065ede0ab9b7f979bc65a"></a> <a class="el" href="classllfio__v2__xxx_1_1io__service.html">io_service</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#ae7735588338065ede0ab9b7f979bc65a">service</a> () const noexcept</td></tr> <tr class="memdesc:ae7735588338065ede0ab9b7f979bc65a"><td class="mdescLeft"> </td><td class="mdescRight">The i/o service this handle is attached to, if any. <br /></td></tr> @@ -570,8 +570,8 @@ For portability, you can only assume that barriers write order for a single hand </div> </div> -<a id="af0b8ea283f0b1c107173ad5768e5301c"></a> -<h2 class="memtitle"><span class="permalink"><a href="#af0b8ea283f0b1c107173ad5768e5301c">◆ </a></span>clone() <span class="overload">[1/2]</span></h2> +<a id="a6b97756d8d46e80da7d0fa04158a71a8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6b97756d8d46e80da7d0fa04158a71a8">◆ </a></span>clone() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> @@ -580,7 +580,7 @@ For portability, you can only assume that barriers write order for a single hand <td class="mlabels-left"> <table class="memname"> <tr> - <td class="memname">virtual result<<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>> llfio_v2_xxx::file_handle::clone </td> + <td class="memname">result<<a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a>> llfio_v2_xxx::file_handle::clone </td> <td>(</td> <td class="paramtype"><a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> </td> <td class="paramname"><em>mode_</em> = <code>mode::unchanged</code>, </td> @@ -605,7 +605,7 @@ For portability, you can only assume that barriers write order for a single hand </table> </td> <td class="mlabels-right"> -<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span><span class="mlabel">noexcept</span></span> </td> +<span class="mlabels"><span class="mlabel">noexcept</span></span> </td> </tr> </table> </div><div class="memdoc"> @@ -614,8 +614,6 @@ For portability, you can only assume that barriers write order for a single hand <dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX dup() or DuplicateHandle() can return. </dd></dl> <dl class="section user"><dt>Memory Allocations</dt><dd>On POSIX if changing the mode, we must loop calling <code>current_path()</code> and trying to open the path returned. Thus many allocations may occur. </dd></dl> -<p>Reimplemented in <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a771cdde4a208afcd8940c56f6c8c4b07">llfio_v2_xxx::mapped_file_handle</a>.</p> - </div> </div> <a id="aeea4389189021b94dde6d8f2c3ccc5b3"></a> @@ -880,7 +878,7 @@ For portability, you can only assume that barriers write order for a single hand </table> </div><div class="memdoc"> <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> -<div class="fragment"><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  {</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> &i : reqs.buffers)</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  {</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keywordflow">if</span>(bytes + i.size() < bytes)</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  }</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  bytes += i.size();</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  }</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result< extent_guard > lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div> +<div class="fragment"><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> &i : reqs.buffers)</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keywordflow">if</span>(bytes + i.size() < bytes)</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  {</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  }</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  bytes += i.size();</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  }</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">false</span>, d);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result< extent_guard > lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div> </div><!-- fragment --> </div> </div> @@ -918,7 +916,7 @@ For portability, you can only assume that barriers write order for a single hand </table> </div><div class="memdoc"> <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> -<div class="fragment"><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> &i : reqs.buffers)</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  {</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keywordflow">if</span>(bytes + i.size() < bytes)</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  }</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  bytes += i.size();</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  }</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result< extent_guard > lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div> +<div class="fragment"><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordtype">size_t</span> bytes = 0;</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> &i : reqs.buffers)</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keywordflow">if</span>(bytes + i.size() < bytes)</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">return</span> errc::value_too_large;</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  }</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  bytes += i.size();</div><div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  }</div><div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(reqs.offset, bytes, <span class="keyword">true</span>, d);</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result< extent_guard > lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div> </div><!-- fragment --> </div> </div> @@ -1387,7 +1385,7 @@ For portability, you can only assume that barriers write order for a single hand </table> </div><div class="memdoc"> <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> -<div class="fragment"><div class="line"><a name="l00492"></a><span class="lineno"> 492</span> { <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result< extent_guard > lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div> +<div class="fragment"><div class="line"><a name="l00497"></a><span class="lineno"> 497</span> { <span class="keywordflow">return</span> <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">lock</a>(offset, bytes, exclusive, deadline(std::chrono::seconds(0))); }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a29cc9f2525f78dd73f8402cb59d97212"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a29cc9f2525f78dd73f8402cb59d97212">llfio_v2_xxx::io_handle::lock</a></div><div class="ttdeci">virtual result< extent_guard > lock(extent_type offset, extent_type bytes, bool exclusive=true, deadline d=deadline()) noexcept</div><div class="ttdoc">Tries to lock the range of bytes specified for shared or exclusive access. Be aware this passes throu...</div></div> </div><!-- fragment --> </div> </div> @@ -1564,7 +1562,7 @@ For portability, you can only assume that barriers write order for a single hand </table> </div><div class="memdoc"> <p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p> -<div class="fragment"><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  const_buffer_type *_reqs = <span class="keyword">reinterpret_cast<</span>const_buffer_type *<span class="keyword">></span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  io_request<const_buffers_type> reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">return</span> ret.error();</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span< const_buffer_type > const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:163</div></div> +<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  const_buffer_type *_reqs = <span class="keyword">reinterpret_cast<</span>const_buffer_type *<span class="keyword">></span>(alloca(<span class="keyword">sizeof</span>(const_buffer_type) * lst.size()));</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  memcpy(_reqs, lst.begin(), <span class="keyword">sizeof</span>(const_buffer_type) * lst.size());</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  io_request<const_buffers_type> reqs(<a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">const_buffers_type</a>(_reqs, lst.size()), offset);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keyword">auto</span> ret = <a class="code" href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">write</a>(reqs, d);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">if</span>(ret)</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  {</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">return</span> ret.bytes_transferred();</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  }</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">return</span> std::move(ret).error();</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  }</div><div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a693a8c64bb7de1a6835d6a151e37aa0e"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a693a8c64bb7de1a6835d6a151e37aa0e">llfio_v2_xxx::io_handle::const_buffers_type</a></div><div class="ttdeci">span< const_buffer_type > const_buffers_type</div><div class="ttdoc">The gather buffers type used by this handle. Guaranteed to be TrivialType apart from construction...</div><div class="ttdef"><b>Definition:</b> io_handle.hpp:163</div></div> <div class="ttc" id="classllfio__v2__xxx_1_1io__handle_html_a83884eca7b4cd09125a5cf8a155e6052"><div class="ttname"><a href="classllfio__v2__xxx_1_1io__handle.html#a83884eca7b4cd09125a5cf8a155e6052">llfio_v2_xxx::io_handle::write</a></div><div class="ttdeci">virtual io_result< const_buffers_type > write(io_request< const_buffers_type > reqs, deadline d=deadline()) noexcept</div><div class="ttdoc">Write data to the open handle. </div></div> </div><!-- fragment --> </div> |