mirror of
https://seed.radicle.dev/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5.git
synced 2026-11-16 00:00:37 +08:00
Recent versions of Windows support Unix Domain Sockets natively, see <https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/>. By using that feature instead of Windows named pipes, the difference for handling communication via the control socket comparing Unix-like systems and Windows becomes smaller: 1. No special paths like `\.\pipe\…` have to be handled. 2. Not two I/O mechanisms are abstracted (named pipe and UDS) but just one. 3. `winpipe` relies on background threads while `uds_windows` does not. Once the feature `windows_unix_domain_sockets` (which is tracked at https://github.com/rust-lang/rust/issues/150487) stabilizes, it will likely be possible to just drop the dependency `uds_windows` and use the implementation in `std::os::windows::net` directly.