Boost C++ Libraries/Boost.Asio
Boost.Asio - basic_yield_context
까마귀75
2021. 3. 22. 17:01
728x90
반응형
basic_yield_context
현재 실행중인 코-루틴을 나타내는 컨텍스트 개체이다.
template< typename Handler> class basic_yield_context
[Handler]
유 형
이 름 | 설 명 |
callee_type | 구현에서 사용되는 코-루틴 수신자 유형이다. |
caller_type | 구현에서 사용되는 코-루틴 호출자 유형이다. |
멤버 함수
이 름 | 설 명 |
basic_yield_context [constructor] |
지정된 코-루틴을 나타내는 yield 컨텍스트를 생성한다. — 다른 yield 컨텍스트 유형에서 yield 컨텍스트를 생성한다. |
operator[] | 지정된 error_code를 설정하는 yield 컨텍스트를 반환한다. |
basic_yield_context 클래스는 현재 실행중인 스택형 코-루틴을 나타내는 데 사용된다. basic_yield_context는 비동기식 작업에 대한 핸들러로 전달될 수 있다. 예를 들면:
template <typename Handler> void my_coroutine(basic_yield_context<Handler> yield) { ... std::size_t n = my_socket.async_read_some(buffer, yield); ... }
개시 함수(위 예제의 async_read_some)는 현재 코-루틴을 일시 정지한다. 코-루틴은 비동기 작업이 완료되면 다시 시작하고, 작업 결과가 반환된다.
요구 사항
일반 헤더: boost/asio/spawn.hpp
편의 헤더: 없음
Boost.Asio 홈
728x90
반응형