MCPcopy Index your code
hub / github.com/coder/coder / NewBidirectionalPipe

Function NewBidirectionalPipe

vpn/pipe.go:22–37  ·  view source on GitHub ↗

NewBidirectionalPipe creates a new BidirectionalPipe from the given file descriptors.

(readFd, writeFd uintptr)

Source from the content-addressed store, hash-verified

20// NewBidirectionalPipe creates a new BidirectionalPipe from the given file
21// descriptors.
22func NewBidirectionalPipe(readFd, writeFd uintptr) (BidirectionalPipe, error) {
23 read := os.NewFile(readFd, "pipe_read")
24 _, err := read.Stat()
25 if err != nil {
26 return BidirectionalPipe{}, xerrors.Errorf("stat pipe_read (fd=%v): %w", readFd, err)
27 }
28 write := os.NewFile(writeFd, "pipe_write")
29 _, err = write.Stat()
30 if err != nil {
31 return BidirectionalPipe{}, xerrors.Errorf("stat pipe_write (fd=%v): %w", writeFd, err)
32 }
33 return BidirectionalPipe{
34 read: read,
35 write: write,
36 }, nil
37}
38
39// Read implements io.Reader. Data is read from the read pipe.
40func (b BidirectionalPipe) Read(p []byte) (int, error) {

Callers 2

vpnDaemonRunMethod · 0.92
vpnDaemonRunMethod · 0.92

Calls 1

ErrorfMethod · 0.45

Tested by

no test coverage detected