code: func (e *discoveredEntry) Weight() int64 {
  	if e.state != psNotConnected || e.delayedRetry {
  		return 0
  	}
  	t := time.Duration(mclock.Now() - e.lastDiscovered)
  	if t <= discoverExpireStart {
  		return 1000000000
  	}
  	return int64(1000000000 * math.Exp(-float64(t-discoverExpireStart)/float64(discoverExpireConst)))
  }
docs: // Weight calculates random selection weight for newly discovered entries