Insane_DNS/libraries/asio-1.28.1/doc/asio/reference/CompletionCondition.html

108 lines
6.1 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Completion condition requirements</title>
<link rel="stylesheet" href="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Asio">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="CancellationSlot.html" title="Cancellation slot requirements">
<link rel="next" href="ConnectCondition.html" title="Connect condition requirements">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="asio C++ library" width="250" height="60" src="../../asio.png"></td></tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="CancellationSlot.html"><img src="../../prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../home.png" alt="Home"></a><a accesskey="n" href="ConnectCondition.html"><img src="../../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="asio.reference.CompletionCondition"></a><a class="link" href="CompletionCondition.html" title="Completion condition requirements">Completion condition
requirements</a>
</h3></div></div></div>
<p>
A <span class="emphasis"><em>completion condition</em></span> is a function object that is
used with the algorithms <a class="link" href="read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a>, <a class="link" href="async_read.html" title="async_read"><code class="computeroutput"><span class="identifier">async_read</span></code></a>, <a class="link" href="write.html" title="write"><code class="computeroutput"><span class="identifier">write</span></code></a>, and <a class="link" href="async_write.html" title="async_write"><code class="computeroutput"><span class="identifier">async_write</span></code></a> to determine when the
algorithm has completed transferring data.
</p>
<p>
A type <code class="computeroutput"><span class="identifier">X</span></code> meets the <code class="computeroutput"><span class="identifier">CompletionCondition</span></code> requirements if it
satisfies the requirements of <code class="computeroutput"><span class="identifier">Destructible</span></code>
(C++Std [destructible]) and <code class="computeroutput"><span class="identifier">MoveConstructible</span></code>
(C++Std [moveconstructible]), as well as the additional requirements listed
below.
</p>
<p>
In the table below, <code class="computeroutput"><span class="identifier">x</span></code> denotes
a value of type <code class="computeroutput"><span class="identifier">X</span></code>, <code class="computeroutput"><span class="identifier">ec</span></code> denotes a (possibly const) value of
type <code class="computeroutput"><span class="identifier">error_code</span></code>, and <code class="computeroutput"><span class="identifier">n</span></code> denotes a (possibly const) value of type
<code class="computeroutput"><span class="identifier">size_t</span></code>.
</p>
<div class="table">
<a name="asio.reference.CompletionCondition.t0"></a><p class="title"><b>Table 9. CompletionCondition requirements</b></p>
<div class="table-contents"><table class="table" summary="CompletionCondition requirements">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
expression
</p>
</th>
<th>
<p>
return type
</p>
</th>
<th>
<p>
assertion/note<br> pre/post-condition
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">x</span><span class="special">(</span><span class="identifier">ec</span><span class="special">,</span>
<span class="identifier">n</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="identifier">size_t</span></code>
</p>
</td>
<td>
<p>
Let <code class="computeroutput"><span class="identifier">n</span></code> be the total
number of bytes transferred by the read or write algorithm so far.<br>
<br> Returns the maximum number of bytes to be transferred on
the next <code class="computeroutput"><span class="identifier">read_some</span></code>,
<code class="computeroutput"><span class="identifier">async_read_some</span></code>,
<code class="computeroutput"><span class="identifier">write_some</span></code>, or
<code class="computeroutput"><span class="identifier">async_write_some</span></code>
operation performed by the algorithm. Returns <code class="computeroutput"><span class="number">0</span></code>
to indicate that the algorithm is complete.
</p>
</td>
</tr></tbody>
</table></div>
</div>
<br class="table-break">
</div>
<div class="copyright-footer">Copyright © 2003-2023 Christopher M. Kohlhoff<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="CancellationSlot.html"><img src="../../prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../home.png" alt="Home"></a><a accesskey="n" href="ConnectCondition.html"><img src="../../next.png" alt="Next"></a>
</div>
</body>
</html>