I am working on a model that sends multiple client rpc requests to multiple nodes. The thread that launches these requests runs on a loop of an asynchronous framework (libuv) that is also doing other things and as such cannot block to wait for the result.
To do so I use the asynchronous C++ client model to send multiple requests and bind them to a CompletionQueue. What is then needed is to check the CompletionQueue for any completions without ever blocking.
I know the CompletionQueue::AsyncNext method can be used to specify a deadline but what happens when an instant/past deadline is given is not documented. Would it effectively allow you to poll the CompletionQueue or would it instantly fail and return since the deadline was exceeded? If it's the second case, is there any other known method to poll the completion of requests?