return ml.Less()
})
- fmt.Fprintf(w, "peer conns:\n")
+ fmt.Fprintf(w, "%v peer conns:\n", len(peerConns))
t.writePeerStatuses(w, g.SliceMap(peerConns, func(pc *PeerConn) *Peer {
return &pc.Peer
}))
return
}
p := t.peers.PopMax()
- t.initiateConn(p, false, false, false)
+ t.initiateConn(p, false, false, false, false)
initiated++
}
return
requireRendezvous bool,
skipHolepunchRendezvous bool,
ignoreLimits bool,
+ receivedHolepunchConnect bool,
) {
if peer.Id == t.cl.peerID {
return
t.addHalfOpen(addrStr, attemptKey)
go t.cl.outgoingConnection(
outgoingConnOpts{
- t: t,
- addr: peer.Addr,
- requireRendezvous: requireRendezvous,
- skipHolepunchRendezvous: skipHolepunchRendezvous,
+ t: t,
+ addr: peer.Addr,
+ requireRendezvous: requireRendezvous,
+ skipHolepunchRendezvous: skipHolepunchRendezvous,
+ receivedHolepunchConnect: receivedHolepunchConnect,
},
peer.Source,
peer.Trusted,
t.initiateConn(PeerInfo{
Addr: msg.AddrPort,
Source: PeerSourceUtHolepunch,
- }, false, true, true)
+ }, false, true, true, true)
}
return nil
case utHolepunch.Error: