...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Write a complete message to a stream asynchronously.
Defined in header <boost/beast/http/write.hpp>
template< class AsyncWriteStream, bool isRequest, class Body, class Fields, class WriteHandler> DEDUCED async_write( AsyncWriteStream& stream, message< isRequest, Body, Fields >& msg, WriteHandler&& handler);
This function is used to write a complete message to a stream asynchronously using HTTP/1. The function call always returns immediately. The asynchronous operation will continue until one of the following conditions is true:
This operation is implemented in terms of zero or more calls to the stream's
async_write_some
function,
and is known as a composed operation. The program
must ensure that the stream performs no other writes until this operation
completes. The algorithm will use a temporary http::serializer
with an empty chunk
decorator to produce buffers.
Name |
Description |
---|---|
|
The stream to which the data is to be written. The type must support the AsyncWriteStream concept. |
|
The message to write. The object must remain valid at least until the handler is called; ownership is not transferred. |
|
Invoked when the operation completes. The handler may be moved or copied as needed. The equivalent function signature of the handler must be: void handler( error_code const& error, // result of operation std::size_t bytes_transferred // the number of bytes written to the stream );
Regardless of whether the asynchronous operation completes immediately
or not, the handler will not be invoked from within this function.
Invocation of the handler will be performed in a manner equivalent
to using |
Convenience header <boost/beast/http.hpp>