Boost.Fiber Integrating Fibers with Asynchronous Callbacks - Success/Error Virtual Methods


Integrating Fibers with Asynchronous Callbacks - Virtual Methods

비동기 콜백과 파이버 통합 - 성공/오류 가상 메서드

완료 알림에 대한 일반적인 접근 방식 중 하나는 success() 및 error() 메서드를 사용하여 추상 기본 클래스(abstract base class)를 정의하는 것입니다.   비동기 I/O를 수행하려는 코드는 하위 클래스를 파생시키고, 이러한 각 메서드를 재정의하고, 비동기 작업에 하위 클래스 인스턴스에 대한 포인터를 전달해야 합니다.
추상 기본 클래스는 다음과 같습니다.

이제 AsyncAPI 작업은 다음과 유사할 수 있습니다.

모든 경우에 적용되는 단일형(one-size-fits-all) 'PromiseResponse'를 작성하여 이 문제를 해결할 수 있습니다.

이제 'PromiseResponse'에서 future<>를 얻고 get()을 기다릴 수 있습니다. 위의 소스 코드는 adapt_callbacks.cpp 및 adapt_method_calls.cpp에 있습니다.
⚛ adapt_callbacks.cpp
⚛ adapt_method_calls.cpp

⚛ 원문
Email 답글이 올라오면 이메일로 알려드리겠습니다.