Hello Kenton, sorry for the redundant post and for wasting your time. I tried to delete this post but obviously was unable to.
Thanks a lot for your answer :) Best regards, Jupp On Friday, July 8, 2016 at 6:59:52 AM UTC+2, Kenton Varda wrote: > > Hmm it looks like there are two version of this thread and David gave > exactly the same answer in the other version. :) > > -Kenton > > On Thu, Jul 7, 2016 at 9:26 PM, Kenton Varda <[email protected] > <javascript:>> wrote: > >> Hi Jupp, >> >> On Sun, Jul 3, 2016 at 12:12 PM, <[email protected] <javascript:>> >> wrote: >> >>> Is this the right way to implement such a use case? >>> >> >> Yes. :) >> >> >>> How is it possible to detect if a client has disconnected and how could >>> this be mapped to a previously stored capability? >>> >> >> I like to do this: >> >> interface Handle { >> // no methods >> } >> >> registerClientInterface @0 (client :ClientInterface) -> (handle >> :Handle); >> >> The idea is that when the client registers its callback, the server >> returns a `handle` object representing the registration. The client holds >> on to this object as long as it wants to remain registered. If the client >> drops the object, then the handle's destructor will be called on the >> server, and the server can then unregister the callback for that client. >> Better yet, if the client disconnects, this will also cause the handle's >> destructor to be called. So, using this, you can both detect disconnects >> and give the client a voluntary way to unregister itself all at once. >> >> BTW, also note that if you call a method on a disconnected capability, it >> will throw a special kind of exception. exception.getType() will return >> kj::Exception::Type::DISCONNECTED. >> >> -Kenton >> > > -- You received this message because you are subscribed to the Google Groups "Cap'n Proto" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. Visit this group at https://groups.google.com/group/capnproto.
