Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Unix Domain Socket support #109

Merged
merged 6 commits into from
Dec 19, 2024
Merged

Add Unix Domain Socket support #109

merged 6 commits into from
Dec 19, 2024

Conversation

yzsolt
Copy link
Contributor

@yzsolt yzsolt commented Dec 13, 2024

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.

@mayuki
Copy link
Member

mayuki commented Dec 16, 2024

Thank you for your contribution! It looks good, but may I add unit tests to this branch?

@yzsolt
Copy link
Contributor Author

yzsolt commented Dec 16, 2024

Thank you for your contribution! It looks good, but may I add unit tests to this branch?

Sure! Unit tests are something I left out, apologies.

@mayuki mayuki merged commit 5df9220 into Cysharp:main Dec 19, 2024
@mayuki
Copy link
Member

mayuki commented Dec 19, 2024

@yzsolt
I have made some changes to the build, and have now released it as 1.9.0. Thanks!

@yzsolt yzsolt deleted the uds-support branch December 19, 2024 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants