diff --git a/swarm/network/kademlia.go b/swarm/network/kademlia.go index f9b38fc48d..c5e97bf1d1 100644 --- a/swarm/network/kademlia.go +++ b/swarm/network/kademlia.go @@ -283,6 +283,22 @@ func (k *Kademlia) SuggestPeer() (suggestedPeer *BzzAddr, saturationDepth int, c func (k *Kademlia) On(p *Peer) (uint8, bool) { k.lock.Lock() defer k.lock.Unlock() + + caps := p.Caps() + + var found bool + for _, c := range caps { + if c.Name == "stream" { + found = true + break + } + } + + if !found { + depth := uint8(k.saturation()) + return depth, false + } + var ins bool k.conns, _, _, _ = pot.Swap(k.conns, p, Pof, func(v pot.Val) pot.Val { // if not found live