Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds the ability of configuring a Unix Domain Socket as the HTTP transport layer, instead of traditional network-based TCP.
UDS is useful for gRPC-based IPC solutions, where all communication between clients and servers is happening on the same machine, or even in the same process. UDS avoids networking overhead and can be made secure by fine-grained filesystem permissions.
These changes were validated on a Linux-based system, with a Unity gRPC client talking to a tonic-based Rust gRPC server. UDS is only supported on Unix-based systems, I'm not sure what happens on Windows - let's see CI results.
I tried to document everything properly and list all known caveats. Please let me know if there are questions or any changes needed.