asio C++ library


Buffer-oriented asynchronous write stream requirements

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

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

Table 5. AsyncWriteStream requirements



semantics, pre/post-conditions


A type satisfying the Executor requirements.

Returns the associated I/O executor.


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

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

If buffer_size(cb) > 0, initiates an asynchronous operation to write one or more bytes of data to the stream a from the buffer sequence cb. If successful, ec is set such that !ec is true, and n is the number of bytes written. If an error occurred, ec is set such that !!ec is true, and n is 0.

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