38 lines
2.2 KiB
Markdown
38 lines
2.2 KiB
Markdown
|
# go-winio [![Build Status](https://github.com/microsoft/go-winio/actions/workflows/ci.yml/badge.svg)](https://github.com/microsoft/go-winio/actions/workflows/ci.yml)
|
||
|
|
||
|
This repository contains utilities for efficiently performing Win32 IO operations in
|
||
|
Go. Currently, this is focused on accessing named pipes and other file handles, and
|
||
|
for using named pipes as a net transport.
|
||
|
|
||
|
This code relies on IO completion ports to avoid blocking IO on system threads, allowing Go
|
||
|
to reuse the thread to schedule another goroutine. This limits support to Windows Vista and
|
||
|
newer operating systems. This is similar to the implementation of network sockets in Go's net
|
||
|
package.
|
||
|
|
||
|
Please see the LICENSE file for licensing information.
|
||
|
|
||
|
## Contributing
|
||
|
|
||
|
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA)
|
||
|
declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
|
||
|
|
||
|
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR
|
||
|
appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
|
||
|
|
||
|
We also require that contributors sign their commits using git commit -s or git commit --signoff to certify they either authored the work themselves
|
||
|
or otherwise have permission to use it in this project. Please see https://developercertificate.org/ for more info, as well as to make sure that you can
|
||
|
attest to the rules listed. Our CI uses the DCO Github app to ensure that all commits in a given PR are signed-off.
|
||
|
|
||
|
|
||
|
## Code of Conduct
|
||
|
|
||
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
||
|
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
||
|
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
||
|
|
||
|
|
||
|
|
||
|
## Special Thanks
|
||
|
Thanks to natefinch for the inspiration for this library. See https://github.com/natefinch/npipe
|
||
|
for another named pipe implementation.
|