Hey Nate, I think there's an open JIRA for something like this. I'd love to have something that plays nicely with asyncio/trio in Python and is hopefully more efficient. (I think it would also let us finally have per-message timeouts instead of only a per-call deadline.) There are some challenges though, e.g. we wouldn't expose gRPC's event loop directly so that we could support other transports, but then that leaves more things to design. I also recall the async C++ APIs being very underdocumented, I get the sense that they aren't actually used except to improve some benchmarks. I'll note for instance gRPC in Python, which offers async support, uses the "core" APIs directly and doesn't use anything C++ offers.
But long story short, if you're interested in this I think it would be a useful addition. What sorts of things would it enable for you? -David On Wed, Jun 2, 2021, at 16:20, Nate Bauernfeind wrote: > It seems to me that the c++ arrow flight implementation uses only the > synchronous version of the gRPC API. gRPC supports asynchronous message > delivery in C++ via a CompletionQueue that must be polled. Has there been > any desire to standardize on a solution for asynchronous use cases, perhaps > delivered via a provided CompletionQueue? > > For a simple async grpc c++ example you can look here: > https://github.com/grpc/grpc/blob/master/examples/cpp/helloworld/greeter_async_client.cc > > Thanks, > Nate > > -- >