#include <ozo/core/concept.h>
Completion token concept.
CompletionToken
is an entity which determines how to continue with asynchronous operation result when the operation is complete. According to boost::asio::async_completion
it defines the return value of an asynchronous function.
Assume we have an asynchronous IO function:
Then the result type of the function depends on CompletionToken
, and CompletionToken
- is any of these next entities:
void
. In this case the equivalent function signature will be: boost::asio::use_future
- to get a future on the asynchronous operation result. Asynchronous function in this case will return std::future<Connection>
. In this case the equivalent function signature will be: boost::asio::yield_context
- to use async operation with Boost.Coroutine. Asynchronous function in this case will return Connection
. In this case the equivalent function signature will be: boost::asio::async_completion
mechanism. Asynchronous function in this case will return a type is depends on boost::asio::async_completion::result
.