Closed
Description
Is your feature request related to a problem? Please describe.
I have an ASP.NET Core site that connects to 10 or so different instances of the same gRPC service, deployed across several servers.
One of the instances will be running on the local machine. In this case, I'd like to have both the server and the client hosted in a single app, and the ability to perform an "in-process" gRPC call, for example where the client directly instantiates an instance of the server. This would avoid TCP overhead, and Protobuf serialization/deserialization overhead (as the client could pass the Protobuf instances directly to the server instance).
Describe the solution you'd like
As above. I imagine this could be implemented by making the transport pluggable instead of hard-coding it to use HttpClient.
Additional context
- The Java gRPC library supports this feature: https://grpc.github.io/grpc-java/javadoc/io/grpc/inprocess/package-summary.html
- There is an open feature request to implement this in the Go gRPC library: Feature Request: Add support for custom transport (in-process, wasm) grpc-go#906