summaryrefslogtreecommitdiff
path: root/doc/html/boost_asio/reference/AsyncRandomAccessWriteDevice.html
blob: ad4abddd3b123208170202b7e73537086d9918b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Buffer-oriented asynchronous random-access write device requirements</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="AsyncRandomAccessReadDevice.html" title="Buffer-oriented asynchronous random-access read device requirements">
<link rel="next" href="AsyncReadStream.html" title="Buffer-oriented asynchronous read stream requirements">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="AsyncRandomAccessReadDevice.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncReadStream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_asio.reference.AsyncRandomAccessWriteDevice"></a><a class="link" href="AsyncRandomAccessWriteDevice.html" title="Buffer-oriented asynchronous random-access write device requirements">Buffer-oriented
      asynchronous random-access write device requirements</a>
</h3></div></div></div>
<p>
        In the table below, <code class="computeroutput">a</code> denotes an asynchronous write stream object,
        <code class="computeroutput">o</code> denotes an offset of type <code class="computeroutput">boost::uint64_t</code>, <code class="computeroutput">cb</code>
        denotes an object satisfying <a class="link" href="ConstBufferSequence.html" title="Constant buffer sequence requirements">constant
        buffer sequence</a> requirements, and <code class="computeroutput">h</code> denotes an object
        satisfying <a class="link" href="WriteHandler.html" title="Write handler requirements">write handler</a>
        requirements.
      </p>
<div class="table">
<a name="boost_asio.reference.AsyncRandomAccessWriteDevice.t0"></a><p class="title"><b>Table&#160;3.&#160;Buffer-oriented asynchronous random-access write device requirements</b></p>
<div class="table-contents"><table class="table" summary="Buffer-oriented asynchronous random-access write 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_write_some_at(o, cb, h);</code>
                </p>
              </td>
<td>
                <p>
                  <code class="computeroutput">void</code>
                </p>
              </td>
<td>
                <p>
                  Initiates an asynchronous operation to write one or more bytes
                  of data to the device <code class="computeroutput">a</code> at 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 constant buffer
                  sequence <code class="computeroutput">cb</code> specifies memory where the data to be
                  written is located. The <code class="computeroutput">async_write_some_at</code> operation
                  shall always write 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">cb</code> until such time as the write
                  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> &#8212; the last copy of <code class="computeroutput">cb</code> is
                  destroyed, or<br> <br> &#8212; the handler for the asynchronous write
                  operation is invoked,<br> <br> whichever comes first.<br>
                  <br> If the total size of all buffers in the sequence <code class="computeroutput">cb</code>
                  is <code class="computeroutput">0</code>, the asynchronous write operation shall complete
                  immediately and pass <code class="computeroutput">0</code> as the argument to the handler
                  that specifies the number of bytes written.
                </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 &#169; 2003-2018 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="AsyncRandomAccessReadDevice.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncReadStream.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>