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

66 lines
4.1 KiB
HTML
Raw Normal View History

2023-10-24 21:59:30 -04:00
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Requirements on read and write operations</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="asynchronous_operations.html" title="Requirements on asynchronous operations">
<link rel="next" href="synchronous_socket_operations.html" title="Requirements on synchronous socket operations">
<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="asynchronous_operations.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="synchronous_socket_operations.html"><img src="../../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="asio.reference.read_write_operations"></a><a class="link" href="read_write_operations.html" title="Requirements on read and write operations">Requirements on
read and write operations</a>
</h3></div></div></div>
<p>
A <span class="emphasis"><em>read operation</em></span> is an operation that reads data into
a mutable buffer sequence argument of a type meeting <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements"><code class="computeroutput"><span class="identifier">MutableBufferSequence</span></code></a> requirements.
The mutable buffer sequence specifies memory where the data should be placed.
A read operation shall always fill a buffer in the sequence completely before
proceeding to the next.
</p>
<p>
A <span class="emphasis"><em>write operation</em></span> is an operation that writes data from
a constant buffer sequence argument of a type meeting <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements"><code class="computeroutput"><span class="identifier">ConstBufferSequence</span></code></a> requirements.
The constant buffer sequence specifies memory where the data to be written
is located. A write operation shall always write a buffer in the sequence
completely before proceeding to the next.
</p>
<p>
If a read or write operation is also an <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous
operation</a>, the operation shall maintain one or more copies of the
buffer sequence until such time as the operation no longer requires access
to the memory specified by the buffers in the sequence. The program shall
ensure the memory remains valid until:
</p>
<p>
— the last copy of the buffer sequence is destroyed, or
</p>
<p>
— the completion handler for the asynchronous operation is invoked,
</p>
<p>
whichever comes first.
</p>
</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="asynchronous_operations.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="synchronous_socket_operations.html"><img src="../../next.png" alt="Next"></a>
</div>
</body>
</html>