I know it's not jmcilheney. It's just that I want to use async for synchronous operation (because I already do the multi threading part)

So I will have to do
async
wait till time out or finish
done

And if it's timed out, what I will do is terminate the thread anyway. It's okay.