go.dedis.ch/onet/v4@v4.0.0-pre1/simul/monitor/proxy.go (about) 1 package monitor 2 3 import ( 4 "fmt" 5 "net" 6 7 "golang.org/x/xerrors" 8 ) 9 10 // NewProxy returns a new TCP proxy listening on addr:listenPort, which forwards 11 // connections to localhost:toPort. 12 func NewProxy(toPort uint16, addr string, listenPort uint16) (*TCPProxy, error) { 13 ln, err := net.Listen("tcp", fmt.Sprintf("%v:%v", addr, listenPort)) 14 if err != nil { 15 return nil, xerrors.Errorf("listening: %v", err) 16 } 17 18 e := make([]*net.SRV, 1) 19 e[0] = new(net.SRV) 20 e[0].Target = "localhost" 21 e[0].Port = toPort 22 23 return &TCPProxy{ 24 Listener: ln, 25 Endpoints: e, 26 }, nil 27 }