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_codesystem_error 예외로 변환되고 future를 통해 호출자에게 다시 전달된다.

 

핸들러 서명은 다음과 같다:

void handler(boost::system::error_code ec);

 

개시 함수는 std::future<void>를 반환한다. 위와 같이 오류는 futuresystem_error 예외로서 다시 전달된다.

더 보기

use_future, use_future_t, Future example (C++11).

 

 

C++ 2011 지원  Boost.Asio 개요  Boost.Asio 홈

728x90
반응형