Hello group,

I am in the process of transforming a number of gRPC services to an async 
approach. To this end, I have implemented a base architecture for my calls, 
starting out with the async server example in the code and extending it 
with a template base class for my calls. Unlike the example, the actual 
work is done in a workerthread running a number of fibers where I post all 
the work into.

As I get along transforming all the calls a question arises that puzzled me 
for quite some time and that I like to find an answer for in order to get 
my implementation stabilized. I am referring to this 
example: 
https://github.com/grpc/grpc/blob/master/examples/cpp/helloworld/greeter_async_server.cc

The question is: What happens when things go south?

For example, when the caller drops the connection because it runs into its 
timeout. What happens to the call? Will it somehow be shut down? And how do 
I notice that? Since my actual work is happening in another thread I need 
to understand the lifecycle of the object better.

The same goes for the call itself to timeout. Some of my implementations 
involve blocking file IO and other stuff that may exceed a timeout I am 
setting myself. Am I right assuming that I'm supposed to call Finish() 
anyway? And would I be able to tell Finish() that this call is faulty or 
would I use the actual response payload to relay this information?

What other error conditions should I take care of that the example doesn't 
cover? I'm thinking unparseable calls? Unimplemented methods? Anything 
really.

Can anyone shed some light on this?

Best regards...

Stephan

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/2c6944c6-76da-4590-828a-af7ece6ff1d5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to