Clone this repo:
  1. 7da180e Merge pull request #71 from darrenstahlmsft/RemoveTimeBeginPeriod by Darren Stahl · 3 months ago master v0.4.7
  2. 6f4ae36 Remove workaround to perf issues in go1.6 by Darren Stahl · 4 months ago
  3. b7c3cf0 Merge pull request #70 from jstarks/connect_race by John Howard · 4 months ago v0.4.6
  4. ae842e4 pipe: Resolve race between close and connect by John Starks · 4 months ago
  5. 7843996 Merge pull request #65 from darrenstahlmsft/waitGroup by John Starks · 9 months ago v0.4.5


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. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.

Thanks to natefinch for the inspiration for this library. See for another named pipe implementation.