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

Windows IPC support #18

Closed
3 tasks
raulk opened this issue Nov 5, 2018 · 7 comments
Closed
3 tasks

Windows IPC support #18

raulk opened this issue Nov 5, 2018 · 7 comments
Assignees

Comments

@raulk
Copy link
Member

raulk commented Nov 5, 2018

During devcon4 workshops, somebody suggested to use Named Pipes in Windows, as the Unix domain socket support is experimental. Suggested steps:

  • Have somebody test the daemon as-is in Windows Insider Build 17063 or above, and report on results. Comment on this issue if you're up.
  • Investigate https://github.com/Microsoft/go-winio, a Go wrapper for native Windows IO operations, maintained by Microsoft.
  • Implement the changes to support this as a local transport for IPC.
@raulk raulk changed the title Windows support Windows IPC support Nov 5, 2018
@jrhea
Copy link

jrhea commented Dec 10, 2018

I'm curious...why not just use tcp instead of unix domain sockets?

@vyzo
Copy link
Collaborator

vyzo commented Dec 10, 2018

we are adding tcp support as well, as @bigs needs it for the testbed.
Main rationale is that unix domain sockets are faster and simpler, and also windows is adding support for AF_UNIX.

@jrhea
Copy link

jrhea commented Dec 10, 2018

@vyzo thanks for the info. I suppose there is always Cygwin for older versions of Windows. 👎

@bigs
Copy link
Contributor

bigs commented Dec 10, 2018

go-winio looks great. definitely something to add to the potential transport list.

@Nashatyrev
Copy link

May be better consider TCP option?
It looks like from the performance point of view on Windows TCP Loopback is faster than Named Pipes and approximately the same as new AF_UNIX.

Additionally:

  • TCP option is cross-platform
  • daemon can run on a remote machine which may be potentially interesting for some usage scenarios.

@vyzo
Copy link
Collaborator

vyzo commented Dec 12, 2018

this is already in progress -- see #41

@vyzo
Copy link
Collaborator

vyzo commented Jan 20, 2019

We have merged #41 so we can use localhost sockets on windows.

@ghost ghost assigned bigs Jan 22, 2019
@ghost ghost added the in progress label Jan 22, 2019
@ghost ghost removed the in progress label Feb 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants