Clone this repo:
  1. 5b44b70 Merge pull request #175 from TBBle/defork_achive_tar by Kevin Parsons · 8 weeks ago master
  2. cb5cf89 Replace archive/tar fork with use of archive/tar by Paul "TBBle" Hampson · 4 months ago
  3. 3fe6c52 Merge pull request #168 from maxifom/duration_inconsistency by Justin · 10 months ago
  4. 06bcafd Duration order consistency when multiplying number by time unit by Maxim Fominykh · 10 months ago
  5. 1f03480 Merge pull request #166 from paruizfi/master by Justin · 11 months ago


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.