Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Buffer-oriented asynchronous read stream requirements

A type X meets the AsyncReadStream requirements if it satisfies the requirements listed below.

In the table below, a denotes a value of type X, mb denotes a (possibly const) value satisfying the MutableBufferSequence requirements, and t is a completion token.

Table 6. AsyncReadStream requirements

operation

type

semantics, pre/post-conditions

a.get_executor()

A type satisfying the Executor requirements.

Returns the associated I/O executor.

a.async_read_some(mb,t)

The return type is determined according to the requirements for an asynchronous operation.

Meets the requirements for a read operation and an asynchronous operation with completion signature void(error_code ec, size_t n).

If buffer_size(mb) > 0, initiates an asynchronous operation to read one or more bytes of data from the stream a into the buffer sequence mb. If successful, ec is set such that !ec is true, and n is the number of bytes read. If an error occurred, ec is set such that !!ec is true, and n is 0. If all data has been read from the stream, and the stream performed an orderly shutdown, ec is stream_errc::eof and n is 0.

If buffer_size(mb) == 0, the operation completes immediately. ec is set such that !ec is true, and n is 0.



PrevUpHomeNext