Fix listener sync tree and diff iter bug

This commit is contained in:
mcrakhman 2022-10-20 19:39:45 +02:00 committed by Mikhail Iudin
parent 40d5d832fb
commit 3eeb3ec887
No known key found for this signature in database
GPG Key ID: FAAAA8BAABDFF1C0
2 changed files with 11 additions and 7 deletions

View File

@ -134,6 +134,7 @@ func (s *SyncTree) AddRawChanges(ctx context.Context, changes ...*treechangeprot
if err != nil { if err != nil {
return return
} }
if s.listener != nil {
switch res.Mode { switch res.Mode {
case tree2.Nothing: case tree2.Nothing:
return return
@ -142,6 +143,7 @@ func (s *SyncTree) AddRawChanges(ctx context.Context, changes ...*treechangeprot
case tree2.Rebuild: case tree2.Rebuild:
s.listener.Rebuild(s) s.listener.Rebuild(s)
} }
}
headUpdate := s.syncClient.CreateHeadUpdate(s, res.Added) headUpdate := s.syncClient.CreateHeadUpdate(s, res.Added)
err = s.syncClient.BroadcastAsync(headUpdate) err = s.syncClient.BroadcastAsync(headUpdate)

View File

@ -149,6 +149,7 @@ func (d *diff) Ids() (ids []string) {
for cur != nil { for cur != nil {
el := cur.Key().(*element).Element el := cur.Key().(*element).Element
ids = append(ids, el.Id) ids = append(ids, el.Id)
cur = cur.Next()
} }
return return
} }
@ -163,6 +164,7 @@ func (d *diff) Elements() (elements []Element) {
for cur != nil { for cur != nil {
el := cur.Key().(*element).Element el := cur.Key().(*element).Element
elements = append(elements, el) elements = append(elements, el)
cur = cur.Next()
} }
return return
} }