Boost C++ Libraries/Boost.Asio
Boost.Asio 개요 - C++ 2011 지원 - 퓨쳐
까마귀75
2020. 12. 13. 03:05
728x90
반응형
퓨쳐 (Futures)
boost::asio::use_future 특수 값은 비동기 작업의 개시 함수에서 C++11 std::future를 반환하기 위한 최고 수준의 지원을 제공한다.
boost::asio::use_future를 사용하려면, 일반 완료 핸들러 대신에 비동기 작업에 전달한다. 예를 들면:
std::future<std::size_t> length = my_socket.async_read_some(my_buffer, boost::asio::use_future);
핸들러 서명은 다음과 같다:
void handler(boost::system::error_code ec, result_type result);
개시 함수는 result_type에 대한 std::future 템플릿을 반환한다. 위의 예에서 이것은 std::size_t이다. 비동기 작업이 실패한다면, error_code가 system_error 예외로 변환되고 future를 통해 호출자에게 다시 전달된다.
핸들러 서명은 다음과 같다:
void handler(boost::system::error_code ec);
개시 함수는 std::future<void>를 반환한다. 위와 같이 오류는 future에 system_error 예외로서 다시 전달된다.
더 보기
use_future, use_future_t, Future example (C++11).
728x90
반응형