Changeset 84313

Timestamp:
May 17, 2013, 2:35:08 AM (9 years ago)
Author:
chris_kohlhoff
Message:

Add the asio::use_future special value, which adds first-class support
for returning a C++11 std::future from an asynchronous operation's
initiating function.

To use asio::use_future, pass it to an asynchronous operation instead of
a normal completion handler. For example:

std::future<std::size_t> length =

my_socket.async_read_some(my_buffer, asio::use_future);

Where a completion handler signature has the form:

void handler(error_code ec, result_type result);

the initiating function returns a std::future templated on result_type.
In the above example, this is std::size_t. If the asynchronous operation
fails, the error_code is converted into a system_error exception and
passed back to the caller through the future.

Where a completion handler signature has the form:

void handler(error_code ec);

the initiating function returns std::future<void>. As above, an error
is passed back in the future as a system_error exception.

(No files)

Note: See TracChangeset for help on using the changeset viewer.