2021-06-21 06:46:10 -04:00
|
|
|
# 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)
|
2017-04-17 18:08:24 -04:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Thanks to natefinch for the inspiration for this library. See https://github.com/natefinch/npipe
|
|
|
|
for another named pipe implementation.
|