func (peer *localPeer) createConnection(localAddr string, peerAddr string, acceptNewPeer bool, logger Logger) error {
	if err := peer.checkConnectionLimit(); err != nil {
		return err
	}
	localTCPAddr, err := net.ResolveTCPAddr("tcp", localAddr)
	if err != nil {
		return err
	}
	remoteTCPAddr, err := net.ResolveTCPAddr("tcp", peerAddr)
	if err != nil {
		return err
	}
	tcpConn, err := net.DialTCP("tcp", localTCPAddr, remoteTCPAddr)
	if err != nil {
		return err
	}
	connRemote := newRemoteConnection(peer.Peer, nil, peerAddr, true, false)
	startLocalConnection(connRemote, tcpConn, peer.router, acceptNewPeer, logger)
	return nil
}
func (peer *localPeer) createConnection(localAddr string, peerAddr string, acceptNewPeer bool, logger Logger) error {
	if err := peer.checkConnectionLimit(); err != nil {
		return err
	}
	localTCPAddr, err := net.ResolveTCPAddr("tcp", localAddr)
	if err != nil {
		return err
	}
	remoteTCPAddr, err := net.ResolveTCPAddr("tcp", peerAddr)
	if err != nil {
		return err
	}
	tcpConn, err := net.DialTCP("tcp", localTCPAddr, remoteTCPAddr)
	if err != nil {
		return err
	}
	connRemote := newRemoteConnection(peer.Peer, nil, peerAddr, true, false)
	startLocalConnection(connRemote, tcpConn, peer.router, acceptNewPeer, logger)
	return nil
}
func ( peer * localPeer ) createConnection ( localAddr string , peerAddr string , acceptNewPeer bool , logger Logger ) error { if err := peer . checkConnectionLimit ( ) ; err != nil { return err } localTCPAddr , err := net . ResolveTCPAddr ( " " , localAddr ) if err != nil { return err } remoteTCPAddr , err := net . ResolveTCPAddr ( " " , peerAddr ) if err != nil { return err } tcpConn , err := net . DialTCP ( " " , localTCPAddr , remoteTCPAddr ) if err != nil { return err } connRemote := newRemoteConnection ( peer . Peer , nil , peerAddr , true , false ) startLocalConnection ( connRemote , tcpConn , peer . router , acceptNewPeer , logger ) return nil }
// createConnection creates a new connection, originating from
// localAddr, to peerAddr. If acceptNewPeer is false, peerAddr must
// already be a member of the mesh.
createConnection creates a new connection originating from localAddr to peerAddr . If acceptNewPeer is false peerAddr must already be a member of the mesh .