package npipe
import "github.com/microsoft/go-mssqldb/internal/gopkg.in/natefinch/npipe.v2"
Package npipe provides a pure Go wrapper around Windows named pipes.
!! Note, this package is Windows-only. There is no code to compile on linux.
Windows named pipe documentation: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365780
Note that the code lives at https://github.com/natefinch/npipe (v2 branch) but should be imported as gopkg.in/natefinch/npipe.v2 (the package name is still npipe).
npipe provides an interface based on stdlib's net package, with Dial, Listen, and Accept functions, as well as associated implementations of net.Conn and net.Listener. It supports rpc over the connection.
Notes
* Deadlines for reading/writing to the connection are only functional in Windows Vista/Server 2008 and above, due to limitations with the Windows API.
* The pipes support byte mode only (no support for message mode)
Examples
The Dial function connects a client to a named pipe:
conn, err := npipe.Dial(`\\.\pipe\mypipename`) if err != nil { <handle error> } fmt.Fprintf(conn, "Hi server!\n") msg, err := bufio.NewReader(conn).ReadString('\n') ...
The Listen function creates servers:
ln, err := npipe.Listen(`\\.\pipe\mypipename`) if err != nil { // handle error } for { conn, err := ln.Accept() if err != nil { // handle error continue } go handleConnection(conn) }
Index ¶
Source Files ¶
- Version
- v1.5.0
- Published
- Jul 25, 2023
- Platform
- darwin/amd64
- Last checked
- 5 hours ago –
Tools for package owners.