PopRelated aggretates the bucket
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
This commit is contained in:
parent
810feee5a1
commit
c8fe21c1ef
@ -211,12 +211,15 @@ func (sbs *syncBucketSet) removeBucket(toremove *syncTargetBucket) {
|
|||||||
sbs.buckets = nbuckets
|
sbs.buckets = nbuckets
|
||||||
}
|
}
|
||||||
|
|
||||||
func (sbs *syncBucketSet) PopRelated(ts *types.TipSet) []*syncTargetBucket {
|
func (sbs *syncBucketSet) PopRelated(ts *types.TipSet) *syncTargetBucket {
|
||||||
var bOut []*syncTargetBucket
|
var bOut *syncTargetBucket
|
||||||
for _, b := range sbs.buckets {
|
for _, b := range sbs.buckets {
|
||||||
if b.sameChainAs(ts) {
|
if b.sameChainAs(ts) {
|
||||||
sbs.removeBucket(b)
|
sbs.removeBucket(b)
|
||||||
bOut = append(bOut, b)
|
if bOut == nil {
|
||||||
|
bOut = &syncTargetBucket{}
|
||||||
|
}
|
||||||
|
bOut.tips = append(bOut.tips, b.tips...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return bOut
|
return bOut
|
||||||
@ -382,17 +385,14 @@ func (sm *syncManager) scheduleProcessResult(res *syncResult) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
delete(sm.activeSyncs, res.ts.Key())
|
delete(sm.activeSyncs, res.ts.Key())
|
||||||
relbuckets := sm.activeSyncTips.PopRelated(res.ts)
|
relbucket := sm.activeSyncTips.PopRelated(res.ts)
|
||||||
if len(relbuckets) != 0 {
|
if relbucket != nil {
|
||||||
if res.success {
|
if res.success {
|
||||||
if sm.nextSyncTarget == nil {
|
if sm.nextSyncTarget == nil {
|
||||||
sm.nextSyncTarget = relbuckets[0]
|
sm.nextSyncTarget = relbucket
|
||||||
sm.workerChan = sm.syncTargets
|
sm.workerChan = sm.syncTargets
|
||||||
relbuckets = relbuckets[1:]
|
} else {
|
||||||
}
|
for _, t := range relbucket.tips {
|
||||||
|
|
||||||
for _, b := range relbuckets {
|
|
||||||
for _, t := range b.tips {
|
|
||||||
sm.syncQueue.Insert(t)
|
sm.syncQueue.Insert(t)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user