code: func (k *Kademlia) knowNeighbours(addrs [][]byte) (got bool, n int, missing [][]byte) {
  	pm := make(map[string]bool)
  	depth := depthForPot(k.conns, k.NeighbourhoodSize, k.base)
  	// create a map with all peers at depth and deeper known in the kademlia
  	k.eachAddr(nil, 255, func(p *BzzAddr, po int) bool {
  		// in order deepest to shallowest compared to the kademlia base address
  		// all bins (except self) are included (0 <= bin <= 255)
  		if po < depth {
  			return false
  		}
  		pk := common.Bytes2Hex(p.Address())
  		pm[pk] = true
  		return true
  	})
  
  	// iterate through nearest neighbors in the peerpot map
  	// if we can't find the neighbor in the map we created above
  	// then we don't know all our neighbors
  	// (which sadly is all too common in modern society)
  	var gots int
  	var culprits [][]byte
  	for _, p := range addrs {
  		pk := common.Bytes2Hex(p)
  		if pm[pk] {
  			gots++
  		} else {
  			log.Trace(fmt.Sprintf("%08x: known nearest neighbour %s not found", k.base, pk))
  			culprits = append(culprits, p)
  		}
  	}
  	return gots == len(addrs), gots, culprits
  }
docs: // knowNeighbours tests if all neighbours in the peerpot
  // are found among the peers known to the kademlia
  // It is used in Healthy function for testing only
  // TODO move to separate testing tools file