Most of the answers are related to *async* c++ API. But, my implementation is based on *sync* c++ API on both client and server-side. Let me explore more on bidirectional streaming or switch to async
Thanks everyone for the responses Regards, Sachin On Thu, Aug 13, 2020 at 12:06 AM Thomas Mercier <[email protected]> wrote: > There is currently some sort of intermittent bug related to that API: > https://github.com/grpc/grpc/issues/18929 > > On Wed, Aug 12, 2020 at 11:31 AM '[email protected]' via grpc.io < > [email protected]> wrote: > >> If you're using the async completion queue based C++ API, then I believe >> you can use the AsyncNotifyWhenDone >> <https://github.com/grpc/grpc/blob/6dc8024bb44435579a79f2484687c91e7d34e55e/include/grpcpp/impl/codegen/server_context_impl.h#L281> >> API >> for this. See surrounding comments in the linked code for more details. >> >> On Wednesday, August 12, 2020 at 8:00:42 AM UTC-7 [email protected] >> wrote: >> >>> Health Checking Protocol: >>> https://grpc.github.io/grpc/cpp/md_doc_health-checking.html >>> >>> On Wed, Aug 12, 2020 at 9:59 AM Mya Pitzeruse <[email protected]> wrote: >>> >>>> Let's start with the server case because it's a bit easier. gRPC >>>> provides some built in healthchecking capabilities. Clients watch server >>>> health. When a server goes unhealthy, clients remove them from the pool. >>>> >>>> gRPC doesn't necessarily surface connection primitives to your server >>>> side so it's probably not easy to get at the same information for clients. >>>> On the other hand, you could use something like a long lived bidi-streaming >>>> API to "simulate" a connection with a backend. You'll need to handle >>>> network disconnects, but you could use that approach to do some cleanup. >>>> While it's not C++, here's a go example where a server side streaming API >>>> cleans >>>> up a subscription >>>> <https://github.com/mjpitz/paxos/blob/main/internal/server/acceptor.go#L106-L110> >>>> when the client is disconnected. >>>> >>>> >>>> On Wed, Aug 12, 2020 at 5:57 AM Sachin Bharadwaj S < >>>> [email protected]> wrote: >>>> >>>>> I have implemented a gRPC server application and multiple clients can >>>>> connect to it and call RPCs. >>>>> >>>>> In the cases of client disconnection or client restarts, I would want >>>>> to know which client got disconnected so that I can do some cleanup >>>>> corresponding to that client. >>>>> >>>>> Similarly, if the server goes down, how can the client get notified? >>>>> >>>>> Does gRPC c++ stack provides a notification/callback to the >>>>> application? If not, what is the best way to handle the connection >>>>> termination on either side? >>>>> >>>>> -- >>>>> 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 view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/grpc-io/ab98d62c-231b-4e5b-bc0e-6519a9d0320ao%40googlegroups.com >>>>> <https://groups.google.com/d/msgid/grpc-io/ab98d62c-231b-4e5b-bc0e-6519a9d0320ao%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> >>>> >>>> -- >>>> >>>> Mya Pitzeruse >>>> >>>> Principal Software Engineer - Service Infrastructure >>>> >>>> Gender Pronouns: She, Her, Hers >>>> >>>> [email protected] >>>> >>>> >>>> Indeed - We help people get jobs. >>>> >>>> Indeed.com <http://www.indeed.com/> >>>> >>>> Facebook <http://www.facebook.com/indeed> | Twitter >>>> <http://www.twitter.com/indeed> | Instagram >>>> <http://www.instagram.com/indeedworks> >>>> >>> >>> >>> -- >>> >>> Mya Pitzeruse >>> >>> Principal Software Engineer - Service Infrastructure >>> >>> Gender Pronouns: She, Her, Hers >>> >>> [email protected] >>> >>> >>> Indeed - We help people get jobs. >>> >>> Indeed.com <http://www.indeed.com/> >>> >>> Facebook <http://www.facebook.com/indeed> | Twitter >>> <http://www.twitter.com/indeed> | Instagram >>> <http://www.instagram.com/indeedworks> >>> >> -- >> 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 view this discussion on the web visit >> https://groups.google.com/d/msgid/grpc-io/3141465f-6956-47d3-8a62-dc8ed81b92aen%40googlegroups.com >> <https://groups.google.com/d/msgid/grpc-io/3141465f-6956-47d3-8a62-dc8ed81b92aen%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- > 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 view this discussion on the web visit > https://groups.google.com/d/msgid/grpc-io/CACV55uw8wkXO5Zbvx8-%3DnphQAbYr8Uh180xFC%2B89T1akRRx1-g%40mail.gmail.com > <https://groups.google.com/d/msgid/grpc-io/CACV55uw8wkXO5Zbvx8-%3DnphQAbYr8Uh180xFC%2B89T1akRRx1-g%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/CA%2BbEEAe_t%3D3p1O4AjeZfOud7j2xk0LT0x-X7dm2X-JvbaC7UWg%40mail.gmail.com.
