File: AsyncRandomAccessWriteDevice.html

package info (click to toggle)
boost1.42 1.42.0-4
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 277,864 kB
  • ctags: 401,076
  • sloc: cpp: 1,235,659; xml: 74,142; ansic: 41,313; python: 26,756; sh: 11,840; cs: 2,118; makefile: 655; perl: 494; yacc: 456; asm: 353; csh: 6
file content (142 lines) | stat: -rwxr-xr-x 8,589 bytes parent folder | download
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
136
137
138
139
140
141
142
<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="../../boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncReadStream.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
</div>
<div class="section" title="Buffer-oriented asynchronous random-access write device requirements">
<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"><span class="identifier">a</span></code> denotes
        an asynchronous write stream object, <code class="computeroutput"><span class="identifier">o</span></code>
        denotes an offset of type <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint64_t</span></code>,
        <code class="computeroutput"><span class="identifier">cb</span></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"><span class="identifier">h</span></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="id615113"></a><p class="title"><b>Table&#160;2.&#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"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">();</span></code>
            </p>
            </td>
<td>
            <p>
              <code class="computeroutput"><span class="identifier">io_service</span><span class="special">&amp;</span></code>
            </p>
            </td>
<td>
            <p>
              Returns the <code class="computeroutput"><span class="identifier">io_service</span></code>
              object through which the <code class="computeroutput"><span class="identifier">async_write_some_at</span></code>
              handler <code class="computeroutput"><span class="identifier">h</span></code> will be invoked.
            </p>
            </td>
</tr>
<tr>
<td>
            <p>
              <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">async_write_some_at</span><span class="special">(</span><span class="identifier">o</span><span class="special">,</span> <span class="identifier">cb</span><span class="special">,</span> <span class="identifier">h</span><span class="special">);</span></code>
            </p>
            </td>
<td>
            <p>
              <code class="computeroutput"><span class="keyword">void</span></code>
            </p>
            </td>
<td>
            <p>
              Initiates an asynchronous operation to write one or more bytes of data
              to the device <code class="computeroutput"><span class="identifier">a</span></code> at
              offset <code class="computeroutput"><span class="identifier">o</span></code>. The operation
              is performed via the <code class="computeroutput"><span class="identifier">io_service</span></code>
              object <code class="computeroutput"><span class="identifier">a</span><span class="special">.</span><span class="identifier">get_io_service</span><span class="special">()</span></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"><span class="identifier">cb</span></code> specifies memory
              where the data to be written is located. The <code class="computeroutput"><span class="identifier">async_write_some_at</span></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"><span class="identifier">cb</span></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"><span class="identifier">cb</span></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"><span class="identifier">cb</span></code>
              is <code class="computeroutput"><span class="number">0</span></code>, the asynchronous
              write operation shall complete immediately and pass <code class="computeroutput"><span class="number">0</span></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 - 2010 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/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="AsyncReadStream.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
</div>
</body>
</html>