The following five functions apply only to previously submitted non-blocking requests. These calls allow an application to express desired non-deterministic completion semantics to the underlying system, rather than repeatedly polling on a set of sessions IDs. (From an implementation standpoint, such information could be conveyed to the OS scheduler to reduce cycles wasted on polling.)
grpc_wait blocks until the specified non-blocking requests to complete.
grpc_wait_and blocks until all of the specified non-blocking requests in a given set have completed.
grpc_wait_or blocks until any of the specified non-blocking requests in a given set has completed.
grpc_wait_all blocks until all previously issued non-blocking requests have completed.
grpc_wait_any blocks until any previously issued non-blocking request has completed.