@@ -843,7 +843,7 @@ func (k *Kad) connectBootNodes(ctx context.Context) {
843843 }
844844
845845 k .metrics .TotalOutboundConnections .Inc ()
846- k .collector .Record (bzzAddress .Overlay , im .PeerLogIn (time .Now (), im .PeerConnectionDirectionOutbound ))
846+ k .collector .Record (bzzAddress .Overlay , im .PeerLogIn (time .Now (), im .PeerConnectionDirectionOutbound ), im . IsBootnode ( true ) )
847847 loggerV1 .Debug ("connected to bootnode" , "bootnode_address" , addr )
848848 connected ++
849849
@@ -1061,8 +1061,7 @@ outer:
10611061 addrs = append (addrs , connectedPeer )
10621062
10631063 if ! fullnode {
1064- // we continue here so we dont gossip
1065- // about lightnodes to others.
1064+ // dont gossip about lightnodes to others.
10661065 continue
10671066 }
10681067 // if kademlia is closing, dont enqueue anymore broadcast requests
@@ -1314,9 +1313,9 @@ func (k *Kad) ClosestPeer(addr swarm.Address, includeSelf bool, filter topology.
13141313
13151314// EachConnectedPeer implements topology.PeerIterator interface.
13161315func (k * Kad ) EachConnectedPeer (f topology.EachPeerFunc , filter topology.Select ) error {
1317- filters := excludeOps (filter )
1316+ filters := excludeFromIterator (filter )
13181317 return k .connectedPeers .EachBin (func (addr swarm.Address , po uint8 ) (bool , bool , error ) {
1319- if len ( filters ) > 0 && k .opt .ExcludeFunc (filters ... )(addr ) {
1318+ if k .opt .ExcludeFunc (filters ... )(addr ) {
13201319 return false , false , nil
13211320 }
13221321 return f (addr , po )
@@ -1325,9 +1324,9 @@ func (k *Kad) EachConnectedPeer(f topology.EachPeerFunc, filter topology.Select)
13251324
13261325// EachConnectedPeerRev implements topology.PeerIterator interface.
13271326func (k * Kad ) EachConnectedPeerRev (f topology.EachPeerFunc , filter topology.Select ) error {
1328- filters := excludeOps (filter )
1327+ filters := excludeFromIterator (filter )
13291328 return k .connectedPeers .EachBinRev (func (addr swarm.Address , po uint8 ) (bool , bool , error ) {
1330- if len ( filters ) > 0 && k .opt .ExcludeFunc (filters ... )(addr ) {
1329+ if k .opt .ExcludeFunc (filters ... )(addr ) {
13311330 return false , false , nil
13321331 }
13331332 return f (addr , po )
@@ -1391,9 +1390,11 @@ func (k *Kad) SubscribeTopologyChange() (c <-chan struct{}, unsubscribe func())
13911390 return channel , unsubscribe
13921391}
13931392
1394- func excludeOps (filter topology.Select ) []im.ExcludeOp {
1393+ func excludeFromIterator (filter topology.Select ) []im.ExcludeOp {
13951394
1396- ops := make ([]im.ExcludeOp , 0 , 2 )
1395+ ops := make ([]im.ExcludeOp , 0 , 3 )
1396+
1397+ ops = append (ops , im .Bootnode ())
13971398
13981399 if filter .Reachable {
13991400 ops = append (ops , im .Reachability (false ))
0 commit comments