fix: return a closed channel from FindProvidersAsync when providers are disabled.

This commit is contained in:
Steven Allen 2019-12-06 09:27:09 -05:00
parent c2b72b250d
commit ba86f51884

View File

@ -509,12 +509,13 @@ func (dht *IpfsDHT) FindProviders(ctx context.Context, c cid.Cid) ([]peer.AddrIn
// Peers will be returned on the channel as soon as they are found, even before
// the search query completes.
func (dht *IpfsDHT) FindProvidersAsync(ctx context.Context, key cid.Cid, count int) <-chan peer.AddrInfo {
peerOut := make(chan peer.AddrInfo, count)
if !dht.enableProviders {
return nil
close(peerOut)
return peerOut
}
logger.Event(ctx, "findProviders", key)
peerOut := make(chan peer.AddrInfo, count)
go dht.findProvidersAsyncRoutine(ctx, key, count, peerOut)
return peerOut