# go-winio

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.

Thanks to natefinch for the inspiration for this library. See https://github.com/natefinch/npipe 
for another named pipe implementation.
