Files
ugv_sdk/include/asio/doc/asio/reference/AsyncRandomAccessReadDevice.html
2020-09-14 15:15:39 +08:00

129 lines
6.5 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Buffer-oriented asynchronous random-access read device 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="AcceptHandler.html" title="Accept handler requirements">
<link rel="next" href="AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">
</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="AcceptHandler.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="AsyncRandomAccessWriteDevice.html"><img src="../../next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="asio.reference.AsyncRandomAccessReadDevice"></a><a class="link" href="AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">Buffer-oriented
asynchronous random-access read device requirements</a>
</h3></div></div></div>
<p>
In the table below, <code class="computeroutput">a</code> denotes an asynchronous random access
read device object, <code class="computeroutput">o</code> denotes an offset of type <code class="computeroutput">boost::uint64_t</code>,
<code class="computeroutput">mb</code> denotes an object satisfying <a class="link" href="MutableBufferSequence.html" title="Mutable buffer sequence requirements">mutable
buffer sequence</a> requirements, and <code class="computeroutput">h</code> denotes an object
satisfying <a class="link" href="ReadHandler.html" title="Read handler requirements">read handler</a>
requirements.
</p>
<div class="table">
<a name="asio.reference.AsyncRandomAccessReadDevice.t0"></a><p class="title"><b>Table 2. Buffer-oriented asynchronous random-access read device requirements</b></p>
<div class="table-contents"><table class="table" summary="Buffer-oriented asynchronous random-access read device requirements">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
operation
</p>
</th>
<th>
<p>
type
</p>
</th>
<th>
<p>
semantics, pre/post-conditions
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput">a.get_executor()</code>
</p>
</td>
<td>
<p>
A type satisfying the <a class="link" href="Executor1.html" title="Executor requirements">Executor
requirements</a>.
</p>
</td>
<td>
<p>
Returns the associated I/O executor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput">a.async_read_some_at(o, mb, h);</code>
</p>
</td>
<td>
<p>
<code class="computeroutput">void</code>
</p>
</td>
<td>
<p>
Initiates an asynchronous operation to read one or more bytes of
data from the device <code class="computeroutput">a</code> at the offset <code class="computeroutput">o</code>.
The operation is performed via the <code class="computeroutput">io_service</code> object
<code class="computeroutput">a.get_io_service()</code> and behaves according to <a class="link" href="asynchronous_operations.html" title="Requirements on asynchronous operations">asynchronous operation</a>
requirements.<br> <br> The mutable buffer sequence <code class="computeroutput">mb</code>
specifies memory where the data should be placed. The <code class="computeroutput">async_read_some_at</code>
operation shall always fill a buffer in the sequence completely
before proceeding to the next.<br> <br> The implementation
shall maintain one or more copies of <code class="computeroutput">mb</code> until such
time as the read operation no longer requires access to the memory
specified by the buffers in the sequence. The program must ensure
the memory is valid until:<br> <br> — the last copy of <code class="computeroutput">mb</code>
is destroyed, or<br> <br> — the handler for the asynchronous
read operation is invoked,<br> <br> whichever comes first.<br>
<br> If the total size of all buffers in the sequence <code class="computeroutput">mb</code>
is <code class="computeroutput">0</code>, the asynchronous read operation shall complete
immediately and pass <code class="computeroutput">0</code> as the argument to the handler
that specifies the number of bytes read.
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
<br class="table-break">
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2003-2020 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></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="AcceptHandler.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="AsyncRandomAccessWriteDevice.html"><img src="../../next.png" alt="Next"></a>
</div>
</body>
</html>