microsoft / go-winio

Win32 IO-related utilities for Go
MIT License
934 stars 179 forks source link

Check out my named pipes.library #1

Open natefinch opened 8 years ago

natefinch commented 8 years ago

HTTPS://github.com/natefinch/npipe

Feel free to crib anything from there if you want (obviously, since its MIT licensed).

I haven't had a chance to look too deeply at yours to know the difference, but they looked pretty similar.

jstarks commented 8 years ago

Thanks, Nate. I did experiment with your library a few months ago, and I considered contributing some changes. However, I needed to support more than just pipe handles, and for pipes there were several details around the interface and implementation that didn't quite line up with what we need for our use of the library. Specifically, this library uses Windows IO completion ports to handle asynchronous IO instead of using events, and it uses go channels to serialize Accept() calls to make Close() easier to implement safely. I worried that these changes might affect existing users of your library who may be relying on certain subtle behaviors of your implementation.

If you think it would be useful, we could try to expand the scope of your library and incorporate these improvements. At the very least, it was rude of me not to credit your library in the README as a source of inspiration for this one; I will fix that.