Boost.Fiber Integrating Fibers with Asynchronous Callbacks - Return Errorcode


Integrating Fibers with Asynchronous Callbacks - Return Errorcode

비동기 콜백과 파이버 통합 - 반환 오류 코드

AsyncAPI::init_write() 콜백은 오류 코드만 전달합니다.
단순히 차단 래퍼가 해당 오류 코드를 반환하도록 하려면 promise<>와 future<>를 매우 간단하게 사용하면 됩니다.
우리가 해야 할 일은 다음과 같습니다:

  1. 올바른 유형의 promise<>를 인스턴스화합니다.
  2. future<>를 얻습니다.
  3. promise::set_value()를 호출하도록 콜백을 준비합니다.
  4. future::get()을 차단합니다.

• Note
보류 중인 파이버를 재개하는 이 전략은 시작 파이버가 실행 중인 스레드가 아닌 다른 스레드에서 콜백이 호출되는 경우에도 작동합니다.   실제로 예제 프로그램의 더미 AsyncAPI 구현은 다음을 보여줍니다.   잠시 대기하는 새 스레드를 시작한 다음 관련 콜백을 호출하여 비동기 I/O를 시뮬레이션합니다.

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

혹시 처음이세요?
레디스게이트에는 레디스에 대한 많은 정보가 있습니다.
레디스 소개, 명령어, SQL, 클라이언트, 서버, 센티널, 클러스터 등이 있습니다.
혹시 필요한 정보를 찾기 어려우시면 redisgate@gmail.com로 메일 주세요.
제가 찾아서 알려드리겠습니다.
 
close
IP를 기반으로 보여집니다.