code: func (ac *authCache) EligibleForService(channel string, data common.SignedData) error {
  	if !ac.conf.enabled {
  		return ac.acSupport.EligibleForService(channel, data)
  	}
  	// Check whether we already have a cache for this channel
  	ac.RLock()
  	cache := ac.credentialCache[channel]
  	ac.RUnlock()
  	if cache == nil {
  		// Cache for given channel wasn't found, so create a new one
  		ac.Lock()
  		cache = ac.newAccessCache(channel)
  		// And store the cache instance.
  		ac.credentialCache[channel] = cache
  		ac.Unlock()
  	}
  	return cache.EligibleForService(data)
  }
docs: // Eligible returns whether the given peer is eligible for receiving
  // service from the discovery service for a given channel