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

github.com/windirstat/llfio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'classllfio__v2__xxx_1_1mapped__file__handle.html')
-rw-r--r--classllfio__v2__xxx_1_1mapped__file__handle.html22
1 files changed, 14 insertions, 8 deletions
diff --git a/classllfio__v2__xxx_1_1mapped__file__handle.html b/classllfio__v2__xxx_1_1mapped__file__handle.html
index 42d87300..9962a97d 100644
--- a/classllfio__v2__xxx_1_1mapped__file__handle.html
+++ b/classllfio__v2__xxx_1_1mapped__file__handle.html
@@ -443,8 +443,8 @@ Static Public Member Functions</h2></td></tr>
<tr class="separator:aec48e49378e8b4ef60db282d2360b89f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e47ccbb537d1c97a533e08d708b1a38"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a6e47ccbb537d1c97a533e08d708b1a38">mapped_temp_file</a> (size_type reservation, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> name=<a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42a8f0339e854eb5321306a443ce9199e1d">creation::if_needed</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::unlink_on_first_close) noexcept</td></tr>
<tr class="separator:a6e47ccbb537d1c97a533e08d708b1a38"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae385ed0e4be736c60025786be9109b9b"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#ae385ed0e4be736c60025786be9109b9b">mapped_temp_inode</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dir=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
-<tr class="separator:ae385ed0e4be736c60025786be9109b9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0d1ea0506c347668791f8c0ce357511"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html#aa0d1ea0506c347668791f8c0ce357511">mapped_temp_inode</a> (size_type reservation=0, const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dir=<a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>(), <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
+<tr class="separator:aa0d1ea0506c347668791f8c0ce357511"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09e6b3e9806b328a687a55e955b885a3"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a09e6b3e9806b328a687a55e955b885a3">file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;base, <a class="el" href="classllfio__v2__xxx_1_1path__view.html">path_view_type</a> <a class="el" href="namespacellfio__v2__xxx.html#a49f7bb77eb38fbe1280019225b66b78b">path</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaecae13117d6f0584c25a9da6c8f8415e">mode::read</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42">creation</a> _creation=<a class="el" href="classllfio__v2__xxx_1_1handle.html#af0b352d0f273ba6fa70c178b2c2fee42aa200dcd6176417e93be2405188ae7cc9">creation::open_existing</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852aa181a603769c1f98ad927e7367c7aa51">caching::all</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
<tr class="separator:a09e6b3e9806b328a687a55e955b885a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3141a85996e46a3cc6b238d321198e47"><td class="memItemLeft" align="right" valign="top">static result&lt; <a class="el" href="classllfio__v2__xxx_1_1file__handle.html">file_handle</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a3141a85996e46a3cc6b238d321198e47">random_file</a> (const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;dirpath, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dca">mode</a> _mode=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aa3930273a2d4cabbac309e0b75701dcaaefb2a684e4afb7d55e6147fbe5a332ee">mode::write</a>, <a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852">caching</a> _caching=<a class="el" href="classllfio__v2__xxx_1_1handle.html#aecd3a7db6cee3aec07d32fe6f99e6852ad5197d93c063a2b1e22d1630a39b7aef">caching::temporary</a>, flag <a class="el" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>=flag::none) noexcept</td></tr>
@@ -1239,8 +1239,8 @@ For portability, you can only assume that barriers write order for a single hand
</div><!-- fragment -->
</div>
</div>
-<a id="ae385ed0e4be736c60025786be9109b9b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae385ed0e4be736c60025786be9109b9b">&#9670;&nbsp;</a></span>mapped_temp_inode()</h2>
+<a id="aa0d1ea0506c347668791f8c0ce357511"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa0d1ea0506c347668791f8c0ce357511">&#9670;&nbsp;</a></span>mapped_temp_inode()</h2>
<div class="memitem">
<div class="memproto">
@@ -1251,6 +1251,12 @@ For portability, you can only assume that barriers write order for a single hand
<tr>
<td class="memname">static result&lt;<a class="el" href="classllfio__v2__xxx_1_1mapped__file__handle.html">mapped_file_handle</a>&gt; llfio_v2_xxx::mapped_file_handle::mapped_temp_inode </td>
<td>(</td>
+ <td class="paramtype">size_type&#160;</td>
+ <td class="paramname"><em>reservation</em> = <code>0</code>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
<td class="paramtype">const <a class="el" href="classllfio__v2__xxx_1_1path__handle.html">path_handle</a> &amp;&#160;</td>
<td class="paramname"><em>dir</em> = <code><a class="el" href="namespacellfio__v2__xxx_1_1path__discovery.html#a2dd74ea752f3f511d58ccccdcac7f4fd">path_discovery::storage_backed_temporary_files_directory</a>()</code>, </td>
</tr>
@@ -1280,7 +1286,7 @@ For portability, you can only assume that barriers write order for a single hand
</div><div class="memdoc">
<p><em>Securely</em> create a mapped file handle creating a temporary anonymous inode in the filesystem referred to by <em>dirpath</em>. The inode created has no name nor accessible path on the filing system and ceases to exist as soon as the last handle is closed, making it ideal for use as a temporary file where other processes do not need to have access to its contents via some path on the filing system (a classic use case is for backing shared memory maps).</p>
<dl class="section user"><dt>Errors returnable</dt><dd>Any of the values POSIX open() or CreateFile() can return. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; OUTCOME_TRY(v, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">file_handle::temp_inode</a>(dir, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>));</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">mapped_file_handle</a> ret(std::move(v));</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> {std::move(ret)};</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
+<div class="fragment"><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; OUTCOME_TRY(v, <a class="code" href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">file_handle::temp_inode</a>(dir, _mode, <a class="code" href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">flags</a>));</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">mapped_file_handle</a> ret(std::move(v));</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; ret._reservation = reservation;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">return</span> {std::move(ret)};</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1handle_html_a013936bc1254b1a47567fe29698d1b1c"><div class="ttname"><a href="classllfio__v2__xxx_1_1handle.html#a013936bc1254b1a47567fe29698d1b1c">llfio_v2_xxx::handle::flags</a></div><div class="ttdeci">flag flags() const noexcept</div><div class="ttdoc">The flags this handle was opened with. </div><div class="ttdef"><b>Definition:</b> handle.hpp:335</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1mapped__file__handle_html_a4aa124e03ec6376c70d9e07c548d0d44"><div class="ttname"><a href="classllfio__v2__xxx_1_1mapped__file__handle.html#a4aa124e03ec6376c70d9e07c548d0d44">llfio_v2_xxx::mapped_file_handle::mapped_file_handle</a></div><div class="ttdeci">constexpr mapped_file_handle()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> mapped_file_handle.hpp:134</div></div>
<div class="ttc" id="classllfio__v2__xxx_1_1file__handle_html_a1eff21e1833be0c21f72477c593fadc5"><div class="ttname"><a href="classllfio__v2__xxx_1_1file__handle.html#a1eff21e1833be0c21f72477c593fadc5">llfio_v2_xxx::file_handle::temp_inode</a></div><div class="ttdeci">static result&lt; file_handle &gt; temp_inode(const path_handle &amp;dirh=path_discovery::storage_backed_temporary_files_directory(), mode _mode=mode::write, flag flags=flag::none) noexcept</div></div>
</div><!-- fragment -->
@@ -1541,7 +1547,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>None, though the various signals and structured exception throws common to using memory maps may occur. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>None. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160;{ <span class="keywordflow">return</span> _mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">read</a>(reqs, d); }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a073cdca57e3e3718d2eb285be51d5c92"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">llfio_v2_xxx::map_handle::read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</div><div class="ttdoc">Read data from the mapped view. </div></div>
+<div class="fragment"><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;{ <span class="keywordflow">return</span> _mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">read</a>(reqs, d); }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a073cdca57e3e3718d2eb285be51d5c92"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a073cdca57e3e3718d2eb285be51d5c92">llfio_v2_xxx::map_handle::read</a></div><div class="ttdeci">virtual io_result&lt; buffers_type &gt; read(io_request&lt; buffers_type &gt; reqs, deadline d=deadline()) noexcept override</div><div class="ttdoc">Read data from the mapped view. </div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2115,7 +2121,7 @@ For portability, you can only assume that barriers write order for a single hand
</dl>
<dl class="section user"><dt>Errors returnable</dt><dd>If during the attempt to write the buffers to the map a <code>SIGBUS</code> or <code>EXCEPTION_IN_PAGE_ERROR</code> is raised, an error code comparing equal to <code>errc::no_space_on_device</code> will be returned. This may not always be the cause of the raised signal, but it is by far the most likely. </dd></dl>
<dl class="section user"><dt>Memory Allocations</dt><dd>None if a <code>QUICKCPPLIB_NAMESPACE::signal_guard_install</code> is already instanced. </dd></dl>
-<div class="fragment"><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;{ <span class="keywordflow">return</span> _mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">write</a>(reqs, d); }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a90afda5433656ed35a5814e048cc1f1b"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">llfio_v2_xxx::map_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</div><div class="ttdoc">Write data to the mapped view. </div></div>
+<div class="fragment"><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160;{ <span class="keywordflow">return</span> _mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">write</a>(reqs, d); }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a90afda5433656ed35a5814e048cc1f1b"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a90afda5433656ed35a5814e048cc1f1b">llfio_v2_xxx::map_handle::write</a></div><div class="ttdeci">virtual io_result&lt; const_buffers_type &gt; write(io_request&lt; const_buffers_type &gt; reqs, deadline d=deadline()) noexcept override</div><div class="ttdoc">Write data to the mapped view. </div></div>
</div><!-- fragment -->
</div>
</div>
@@ -2174,7 +2180,7 @@ For portability, you can only assume that barriers write order for a single hand
<dl class="section user"><dt>Memory Allocations</dt><dd>The default synchronous implementation in file_handle performs no memory allocation. The asynchronous implementation in async_file_handle may perform one calloc and one free. </dd></dl>
<p>Reimplemented from <a class="el" href="classllfio__v2__xxx_1_1file__handle.html#a50caa94c51aae1f23e7708d3c6a21364">llfio_v2_xxx::file_handle</a>.</p>
-<div class="fragment"><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; {</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; OUTCOME_TRYV(_mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">zero_memory</a>({_mh.address() + offset, (size_type) bytes}));</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span> bytes;</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a0b87515430eb0220950b4c17a3da745f"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">llfio_v2_xxx::map_handle::zero_memory</a></div><div class="ttdeci">result&lt; void &gt; zero_memory(buffer_type region) noexcept</div></div>
+<div class="fragment"><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; {</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; OUTCOME_TRYV(_mh.<a class="code" href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">zero_memory</a>({_mh.address() + offset, (size_type) bytes}));</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <span class="keywordflow">return</span> bytes;</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; }</div><div class="ttc" id="classllfio__v2__xxx_1_1map__handle_html_a0b87515430eb0220950b4c17a3da745f"><div class="ttname"><a href="classllfio__v2__xxx_1_1map__handle.html#a0b87515430eb0220950b4c17a3da745f">llfio_v2_xxx::map_handle::zero_memory</a></div><div class="ttdeci">result&lt; void &gt; zero_memory(buffer_type region) noexcept</div></div>
</div><!-- fragment -->
</div>
</div>