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
> 
> --
> 

Reply via email to