I have a problem right now. I am developing somewith for windows with GRPC for C#. For that, I need name resolution in my GRPC application. To make it easy, the name server is also part of one instance of the program and implemented as GRPC service. So the application is mostly a container for GRPC services.
The channels should be resolved on the first RPC call. Therefore, I wanted to solve this by implementing a CallInvoker (since clients all can get Channel or CallInvoker, and Channel doesn't allow this kind of modification). My CallInvoker basically calls the ResolveName method from my GRPC name service in the CreateCall method. Sounds easy, but the problem is, that since my GRPC services are using that, this could be run from a GRPC thread (CompletionQueue). So to avoid the problems I had with https://github.com/grpc/grpc/issues/6948 I would have to call it async. But CallInvoker does not allow to run anything async, since all the Task stuff is done deeper in AsyncCall. And if I use Task.Run to make the call asynchronous in a worker thread, this works only for one level. In the next level, it would get stuck... The best would be to avoid the CallInvoker all together and just use a resolver plugin as described in https://github.com/grpc/grpc/blob/master/doc/naming.md but it seems that the C# library is not supporting it, and my workaround is also not working reliable. Any ideas on getting a resolver plugin to work with C# or to fix using GRPC calls in CallInvoker? -- 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 https://groups.google.com/d/msgid/grpc-io/15e7a575-f233-45a6-9280-5c0107ed88b8%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.