Files
coder/peer/netconn.go
Kyle Carberry 8accb815e1 chore: Add peer package for networking (#6)
This package was pulled straight from github.com/coder/m. Nothing has been changed.

It will be used for networking clients<->workspaces, and coderd<->provisionerd.
2022-01-05 11:18:29 -06:00

60 lines
994 B
Go

package peer
import (
"net"
"time"
)
type peerAddr struct{}
// Statically checks if we properly implement net.Addr.
var _ net.Addr = &peerAddr{}
func (a *peerAddr) Network() string {
return "peer"
}
func (a *peerAddr) String() string {
return "peer/unknown-addr"
}
type fakeNetConn struct {
c *Channel
addr *peerAddr
}
// Statically checks if we properly implement net.Conn.
var _ net.Conn = &fakeNetConn{}
func (c *fakeNetConn) Read(b []byte) (n int, err error) {
return c.c.Read(b)
}
func (c *fakeNetConn) Write(b []byte) (n int, err error) {
return c.c.Write(b)
}
func (c *fakeNetConn) Close() error {
return c.c.Close()
}
func (c *fakeNetConn) LocalAddr() net.Addr {
return c.addr
}
func (c *fakeNetConn) RemoteAddr() net.Addr {
return c.addr
}
func (c *fakeNetConn) SetDeadline(_ time.Time) error {
return nil
}
func (c *fakeNetConn) SetReadDeadline(_ time.Time) error {
return nil
}
func (c *fakeNetConn) SetWriteDeadline(_ time.Time) error {
return nil
}