123456789101112131415161718192021222324252627282930313233343536373839404142 |
- [/
- / Copyright (c) 2003-2019 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:CompletionCondition Completion condition requirements]
- A ['completion condition] is a function object that is used with the algorithms
- [link boost_asio.reference.read `read`], [link boost_asio.reference.async_read
- `async_read`], [link boost_asio.reference.write `write`], and [link
- boost_asio.reference.async_write `async_write`] to determine when the algorithm has
- completed transferring data.
- A type `X` meets the `CompletionCondition` requirements if it satisfies the
- requirements of `Destructible` (C++Std [destructible]) and
- `MoveConstructible` (C++Std [moveconstructible]), as well as the additional
- requirements listed below.
- In the table below, `x` denotes a value of type `X`, `ec` denotes a (possibly
- const) value of type `error_code`, and `n` denotes a (possibly const) value of
- type `size_t`.
- [table CompletionCondition requirements
- [[expression] [return type] [assertion/note\npre/post-condition]]
- [
- [`x(ec, n)`]
- [`size_t`]
- [
- Let `n` be the total number of bytes transferred by the read or write
- algorithm so far.\n
- \n
- Returns the maximum number of bytes to be transferred on the next
- `read_some`, `async_read_some`, `write_some`, or `async_write_some`
- operation performed by the algorithm. Returns `0` to indicate that the
- algorithm is complete.
- ]
- ]
- ]
- [endsect]
|