In general, if it is necessary need to wait on an (externally) asynchronous
event then the plugin should spawn a thread to do the waiting. That is what
I did for the "SSL bump" work where the plugin has to wait on an external
connection to provide data.
On the wait thread, when the wait completes,
Using async seems roughly equivalent to scheduling a Continuation. Calling
it will likely create a thread or a thread pool, on top of the ones in the
ATS core. atscppapi also has a C++ wrapper for TSCont (in
Continuation.h). I tried to get in some improvements to this (
https://github.com/apache