code: func (tab *Table) closest(target enode.ID, nresults int, checklive bool) *nodesByDistance {
  	// This is a very wasteful way to find the closest nodes but
  	// obviously correct. I believe that tree-based buckets would make
  	// this easier to implement efficiently.
  	close := &nodesByDistance{target: target}
  	for _, b := range &tab.buckets {
  		for _, n := range b.entries {
  			if checklive && n.livenessChecks == 0 {
  				continue
  			}
  			close.push(n, nresults)
  		}
  	}
  	return close
  }
docs: // closest returns the n nodes in the table that are closest to the
  // given id. The caller must hold tab.mutex.