func()

in src/sessionmanagerplugin/session/portsession/basicportforwarding.go [116:141]


func (p *BasicPortForwarding) startLocalConn(log log.T) (err error) {
	// When localPortNumber is not specified, set port number to 0 to let net.conn choose an open port at random
	localPortNumber := p.portParameters.LocalPortNumber
	if p.portParameters.LocalPortNumber == "" {
		localPortNumber = "0"
	}

	var listener net.Listener
	if listener, err = p.startLocalListener(log, localPortNumber); err != nil {
		log.Errorf("Unable to open tcp connection to port. %v", err)
		return err
	}

	var tcpConn net.Conn
	if tcpConn, err = acceptConnection(log, listener); err != nil {
		log.Errorf("Failed to accept connection with error. %v", err)
		return err
	}
	log.Infof("Connection accepted for session %s.", p.sessionId)
	fmt.Printf("Connection accepted for session %s.\n", p.sessionId)

	p.listener = &listener
	p.stream = &tcpConn

	return
}