It would be convenient to use async, but the other requirement is that we don’t want to change the outwardly-observable API of the software under test. Since async is “infectious,” we have to use sync implementations for sync APIs.
back
1 comments
What about stackful coroutines? They don't necessarily change the API.
Why does stackfulness not color functions? So long as preemption/parallelism boundaries are manually annotated, I don’t think stackful coroutines save you anything here.
Just don't annotate them? The design of async is a wound that can be bandaged by dumping all your registers on the stack and jumping.
Check out https://github.com/jonnadal/fibril