Fix listener sync tree and diff iter bug

This commit is contained in:
mcrakhman 2022-10-20 19:39:45 +02:00
parent d871c9b061
commit aa47d8ecf8
No known key found for this signature in database
GPG Key ID: DED12CFEF5B8396B
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
} }