mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 23:26:44 +00:00
Merge pull request #107 from ethersphere/network-testing-framework-kadfix
swarm/network: kad fixes
This commit is contained in:
commit
8bb82d8fef
1 changed files with 14 additions and 8 deletions
|
|
@ -201,7 +201,8 @@ func (d *discPeer) handleGetPeersMsg(msg *getPeersMsg) error {
|
|||
resp := &peersMsg{
|
||||
Peers: peers,
|
||||
}
|
||||
return d.Send(resp)
|
||||
go d.Send(resp)
|
||||
return nil
|
||||
}
|
||||
|
||||
// RequestOrder broadcasts to trageted peers a request for peers of a particular
|
||||
|
|
@ -212,17 +213,22 @@ func RequestOrder(k Overlay, order, broadcastSize, maxPeers uint8) {
|
|||
Max: maxPeers,
|
||||
}
|
||||
var i uint8
|
||||
//var err error
|
||||
var peers []Conn
|
||||
k.EachConn(nil, 255, func(p OverlayConn, po int, isproxbin bool) bool {
|
||||
if err := p.(Conn).Send(req); err == nil {
|
||||
i++
|
||||
if i >= broadcastSize {
|
||||
return false
|
||||
}
|
||||
peers = append(peers, p.(Conn))
|
||||
if len(peers) >= int(broadcastSize) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
})
|
||||
log.Info(fmt.Sprintf("requesting bees of PO%03d from %v/%v (each max %v)", order, i, broadcastSize, maxPeers))
|
||||
go func() {
|
||||
for _, c := range peers {
|
||||
if err := c.Send(req); err != nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
log.Info(fmt.Sprintf("requesting bees of PO%03d from %v/%v (each max %v)", order, i, broadcastSize, maxPeers))
|
||||
}()
|
||||
}
|
||||
|
||||
func (d *discPeer) seen(p OverlayPeer) bool {
|
||||
|
|
|
|||
Loading…
Reference in a new issue