How does this test the register and the signal call to be async? Also, async doesn't mean in another thread, so the sleep is not representative. May be it's not async but parallel?

I guess a check for async is that 1) the call doesn't block the execution (something like, the call takes less than a second, may be). 2) the result right after the call is not set, but if you wait it changes and the reqcbk is called.