...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 = net::default_completion_token_t< executor_type<AsyncWriteStream>>> DEDUCED async_write( AsyncWriteStream& stream, message< isRequest, Body, Fields > const& msg, WriteHandler&& handler = net::default_completion_token_t< executor_type< AsyncWriteStream >>{});
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 serializer
with an empty chunk
decorator to produce buffers.
This function only participates in overload resolution if is_mutable_body_writer
for Body
returns false
.
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. |
|
The completion handler to invoke when the operation completes. The implementation takes ownership of the handler by performing a decay-copy. 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 |