mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-26 07:28:20 +08:00
Merge pull request #4885 from ipfs/fix/visit-when-asked
only visit nodes in EnumerateChildrenAsync when asked
This commit is contained in:
@ -319,17 +319,17 @@ func EnumerateChildrenAsync(ctx context.Context, getLinks GetLinks, c *cid.Cid,
|
||||
for i := 0; i < FetchGraphConcurrency; i++ {
|
||||
go func() {
|
||||
for ic := range feed {
|
||||
links, err := getLinks(ctx, ic)
|
||||
if err != nil {
|
||||
errChan <- err
|
||||
return
|
||||
}
|
||||
|
||||
setlk.Lock()
|
||||
unseen := visit(ic)
|
||||
shouldVisit := visit(ic)
|
||||
setlk.Unlock()
|
||||
|
||||
if unseen {
|
||||
if shouldVisit {
|
||||
links, err := getLinks(ctx, ic)
|
||||
if err != nil {
|
||||
errChan <- err
|
||||
return
|
||||
}
|
||||
|
||||
select {
|
||||
case out <- links:
|
||||
case <-fetchersCtx.Done():
|
||||
|
Reference in New Issue
Block a user