I am investigating the viability of using gRPC (C++ version) to replace our 
existing RPC framework at Electronic Arts and would appreciate if somebody 
can provide me some answers in order for me to make the best judgement. For 
most of our existing usage, I have an idea of how to do that via gRPC. 
However, few questions remain.

1. *Detecting a dead client on server:* Is there a way or recommended 
mechanism to detect a client who is no longer connected to the server after 
an abrupt client shutdown? In our current framework, we get a TCP level 
disconnect which then ends the user session. But looking around the gRPC 
code base and searching past discussions in the group, the connection layer 
is hidden away and this information is not exposed. Detecting a dead client 
early is important in scenarios where client's state may be important to 
other clients. We have many use cases for it. For example, if two players 
are connected in a game session and one of them goes away, we'd like to 
update the status of that person on other client's machine. 

I was wondering if I have a bi-directional streaming RPC for the sole 
purpose of detecting a disconnect, would I get any error on that stream in 
case of an abrupt client shutdown? It did not seem like that from the async 
interface though (async_stream.h).

2. *Server side connection management:* Is there a doc that details the 
server side connection management? I am trying to figure out details like 
how long does a socket remain active for an inactive client? Is this a 
setting that can be customized? Are there any sort of connection metrics 
that are exposed to the application?

Appreciate your time.


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 grpc-io+unsubscr...@googlegroups.com.
To post to this group, send email to grpc-io@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
For more options, visit https://groups.google.com/d/optout.

Reply via email to