coroutine based C++ multi-process library