C++ coroutine execution and resumption

Separate the HTTP-work scheduler from the continuation scheduler

C++ coroutine execution and resumption Separate the HTTP-work scheduler from the continuation scheduler terminator · request builder · Architecture component terminator request builder execute scheduler · HTTP work · Architecture component execute scheduler HTTP work HTTP response · Architecture component HTTP response resume scheduler · continuation · Architecture component resume scheduler continuation co_await caller · Architecture component co_await caller

Roles of the two schedulers

  • • The request-builder terminator registers HTTP work on the execute scheduler; once the response is ready, the resume scheduler resumes the co_await caller's continuation.