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
반응형
'Boost C++ Libraries > Boost.Asio' 카테고리의 다른 글
Boost.Asio 사용 (0) | 2020.12.13 |
---|---|
Boost.Asio 개요 - 플랫폼별 구현 정보 (0) | 2020.12.13 |
Boost.Asio 개요 - C++ 2011 지원 - 크로노 (0) | 2020.12.13 |
Boost.Asio 개요 - C++ 2011 지원 - 공유 포인터 (0) | 2020.12.13 |
Boost.Asio 개요 - C++ 2011 지원 - 최소 단위 (0) | 2020.12.13 |