func newConnectionMaker(ourself *localPeer, peers *Peers, localAddr string, port int, discovery bool, logger Logger) *connectionMaker {
	actionChan := make(chan connectionMakerAction, ChannelSize)
	cm := &connectionMaker{
		ourself:     ourself,
		peers:       peers,
		localAddr:   localAddr,
		port:        port,
		discovery:   discovery,
		directPeers: peerAddrs{},
		targets:     make(map[string]*target),
		connections: make(map[Connection]struct{}),
		actionChan:  actionChan,
		logger:      logger,
	}
	go cm.queryLoop(actionChan)
	return cm
}
func newConnectionMaker(ourself *localPeer, peers *Peers, localAddr string, port int, discovery bool, logger Logger) *connectionMaker {
	actionChan := make(chan connectionMakerAction, ChannelSize)
	cm := &connectionMaker{
		ourself:     ourself,
		peers:       peers,
		localAddr:   localAddr,
		port:        port,
		discovery:   discovery,
		directPeers: peerAddrs{},
		targets:     make(map[string]*target),
		connections: make(map[Connection]struct{}),
		actionChan:  actionChan,
		logger:      logger,
	}
	go cm.queryLoop(actionChan)
	return cm
}
func newConnectionMaker ( ourself * localPeer , peers * Peers , localAddr string , port int , discovery bool , logger Logger ) * connectionMaker { actionChan := make ( chan connectionMakerAction , ChannelSize ) cm := & connectionMaker { ourself : ourself , peers : peers , localAddr : localAddr , port : port , discovery : discovery , directPeers : peerAddrs { } , targets : make ( map [ string ] * target ) , connections : make ( map [ Connection ] struct { } ) , actionChan : actionChan , logger : logger , } go cm . queryLoop ( actionChan ) return cm }
// newConnectionMaker returns a usable ConnectionMaker, seeded with
// peers, making outbound connections from localAddr, and listening on
// port. If discovery is true, ConnectionMaker will attempt to
// initiate new connections with peers it's not directly connected to.
newConnectionMaker returns a usable ConnectionMaker seeded with peers making outbound connections from localAddr and listening on port . If discovery is true ConnectionMaker will attempt to initiate new connections with peers it s not directly connected to .