Skip to content

Add Unix Domain Socket support#109

Merged
mayuki merged 6 commits intoCysharp:mainfrom
yzsolt:uds-support
Dec 19, 2024
Merged

Add Unix Domain Socket support#109
mayuki merged 6 commits intoCysharp:mainfrom
yzsolt:uds-support

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