Christopher Warrington
Christopher Warrington
>> 1 .proto files in the project directory is not compiled by default I found this to be a deliberate decision: https://github.com/grpc/grpc/blob/master/src/csharp/Grpc.Tools/build/_protobuf/Google.Protobuf.Tools.targets#L41-L46. What was the reason for this? > The...
The guidance I received from @dsplaisted was: > I would generally suggest following the pattern that the .NET SDK does and globbing by default. There could be exceptions to this...
Some background: there's already a [reflection protocol](https://github.com/grpc/grpc/blob/master/doc/server-reflection.md) that services can use to describe themselves. It's currently considered an alpha feature. The C-core C# implementation has [an implementation of this protocol](https://github.com/grpc/grpc/blob/master/doc/csharp/server_reflection.md)....
protoc can also generate code using a FileDescriptorSet that the Reflection service returns. Here I've used [grpcurl](https://github.com/fullstorydev/grpcurl) to interrogate a gRPC service that implements reflection and then generated C# code...
If it's helpful, there has been some discussion of "tunneling" in [gRPC Core issue #14101](https://github.com/grpc/grpc/issues/14101).
It looks like after `grpc_final_shutdown_library()` is called the library cannot be reinitialized as static, init-once objects will have been deleted, like `g_default_client_callbacks`. Previously, the library could be initialized and destroyed...
I'd like to see a section about testing so that the changes can be validated against the problem they're trying to solve and so that regressions aren't introduced.
> Yes, after grpc_final_shutdown_library() has been called the library cannot be reinitialized again. It is not a replacement for grpc_init()/grpc_shutdown() but an additional cleanup that should only be called just...
I'd put basically what you've written in the PR discussion into the proposal itself. That makes the proposal a more self-contained document.
You may find issue https://github.com/grpc/grpc/issues/14101 about "tunneling" interesting. (This is the repository for the C code that drives most of the gRPC implementations out there today. Notably, grpc-dotnet doesn't use...