make cidset (in memory) visitors smarter; no need to ever visit unitary objects
This commit is contained in:
parent
2795995989
commit
a7b1d86533
@ -26,6 +26,10 @@ type tmpVisitor struct {
|
|||||||
var _ ObjectVisitor = (*tmpVisitor)(nil)
|
var _ ObjectVisitor = (*tmpVisitor)(nil)
|
||||||
|
|
||||||
func (v *tmpVisitor) Visit(c cid.Cid) (bool, error) {
|
func (v *tmpVisitor) Visit(c cid.Cid) (bool, error) {
|
||||||
|
if isUnitaryObject(c) {
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
|
|
||||||
return v.set.Visit(c), nil
|
return v.set.Visit(c), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,6 +49,10 @@ func newConcurrentVisitor() *concurrentVisitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (v *concurrentVisitor) Visit(c cid.Cid) (bool, error) {
|
func (v *concurrentVisitor) Visit(c cid.Cid) (bool, error) {
|
||||||
|
if isUnitaryObject(c) {
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
|
|
||||||
v.mx.Lock()
|
v.mx.Lock()
|
||||||
defer v.mx.Unlock()
|
defer v.mx.Unlock()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user