// Stop stops the resolver
r.listenerLock.Lock()
defer r.listenerLock.Unlock()
r.rp.RemoveListener(r)
r.ringAndHosts.Store(ringAndHosts{
ring: newHashRing(r.replicaPoints),
hosts: nil,
})
r.listeners = make(map[string]chan<- *membership.ChangedEvent)
close(r.shutdownCh)
if success := common.AwaitWaitGroup(&r.shutdownWG, time.Minute); !success {
r.logger.Warn("service resolver timed out on shutdown.")
}