diff options
Diffstat (limited to '3rdparty/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk')
-rw-r--r-- | 3rdparty/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/3rdparty/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk b/3rdparty/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk new file mode 100644 index 00000000000..bd9ecbd834b --- /dev/null +++ b/3rdparty/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk @@ -0,0 +1,57 @@ +[/ + / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / + / Distributed under the Boost Software License, Version 1.0. (See accompanying + / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + /] + +[section:AsyncRandomAccessWriteDevice Buffer-oriented asynchronous +random-access write device requirements] + +In the table below, `a` denotes an asynchronous write stream object, `o` +denotes an offset of type `boost::uint64_t`, `cb` denotes an object satisfying +[link asio.reference.ConstBufferSequence constant buffer sequence] +requirements, and `h` denotes an object satisfying [link +asio.reference.WriteHandler write handler] requirements. + +[table Buffer-oriented asynchronous random-access write device requirements + [[operation] [type] [semantics, pre/post-conditions]] + [ + [`a.get_executor()`] + [A type satisfying the [link asio.reference.Executor1 Executor requirements].] + [Returns the associated I/O executor.] + ] + [ + [`a.async_write_some_at(o, cb, h);`] + [`void`] + [ + Initiates an asynchronous operation to write one or more bytes of data to + the device `a` at offset `o`. The operation is performed via the + `io_service` object `a.get_io_service()` and behaves according to [link + asio.reference.asynchronous_operations asynchronous operation] + requirements.\n + \n + The constant buffer sequence `cb` specifies memory where the data to be + written is located. The `async_write_some_at` operation shall always + write a buffer in the sequence completely before proceeding to the + next.\n + \n + The implementation shall maintain one or more copies of `cb` 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:\n + \n + [mdash] the last copy of `cb` is destroyed, or\n + \n + [mdash] the handler for the asynchronous write operation is invoked,\n + \n + whichever comes first.\n + \n + If the total size of all buffers in the sequence `cb` is `0`, the + asynchronous write operation shall complete immediately and pass `0` as + the argument to the handler that specifies the number of bytes written. + ] + ] +] + +[endsect] |