@@ -434,7 +434,10 @@ func (ds *Shard) EnumLinksAsync(ctx context.Context) (<-chan format.LinkResult,
434
434
defer cancel ()
435
435
getLinks := makeAsyncTrieGetLinks (ds .dserv , linkResults )
436
436
cset := cid .NewSet ()
437
- dag .EnumerateChildrenAsync (ctx , getLinks , ds .nd .Cid (), cset .Visit )
437
+ err := dag .EnumerateChildrenAsync (ctx , getLinks , ds .nd .Cid (), cset .Visit )
438
+ if err != nil {
439
+ emitResult (ctx , linkResults , format.LinkResult {Link : nil , Err : err })
440
+ }
438
441
}()
439
442
return linkResults , nil
440
443
}
@@ -447,12 +450,10 @@ func makeAsyncTrieGetLinks(dagService ipld.DAGService, linkResults chan<- format
447
450
return func (ctx context.Context , currentCid cid.Cid ) ([]* ipld.Link , error ) {
448
451
node , err := dagService .Get (ctx , currentCid )
449
452
if err != nil {
450
- emitResult (ctx , linkResults , format.LinkResult {Link : nil , Err : err })
451
453
return nil , err
452
454
}
453
455
directoryShard , err := NewHamtFromDag (dagService , node )
454
456
if err != nil {
455
- emitResult (ctx , linkResults , format.LinkResult {Link : nil , Err : err })
456
457
return nil , err
457
458
}
458
459
@@ -463,7 +464,6 @@ func makeAsyncTrieGetLinks(dagService ipld.DAGService, linkResults chan<- format
463
464
lnkLinkType , err := directoryShard .childLinkType (lnk )
464
465
465
466
if err != nil {
466
- emitResult (ctx , linkResults , format.LinkResult {Link : nil , Err : err })
467
467
return nil , err
468
468
}
469
469
if lnkLinkType == shardLink {
0 commit comments