Add sync listener nil check

This commit is contained in:
mcrakhman 2022-11-25 09:46:01 +01:00
parent 71717a5dbb
commit ff81bf1fac
No known key found for this signature in database
GPG Key ID: DED12CFEF5B8396B

View File

@ -85,7 +85,9 @@ func DeriveSyncTree(ctx context.Context, deps CreateDeps) (t tree.ObjectTree, er
t = syncTree
syncTree.Lock()
defer syncTree.Unlock()
syncTree.listener.Rebuild(syncTree)
if syncTree.listener != nil {
syncTree.listener.Rebuild(syncTree)
}
headUpdate := syncClient.CreateHeadUpdate(t, nil)
err = syncClient.BroadcastAsync(headUpdate)
@ -113,7 +115,10 @@ func CreateSyncTree(ctx context.Context, deps CreateDeps) (t tree.ObjectTree, er
t = syncTree
syncTree.Lock()
defer syncTree.Unlock()
syncTree.listener.Rebuild(syncTree)
// TODO: refactor here because the code is duplicated, when we create a tree we should only create a storage and then build a tree
if syncTree.listener != nil {
syncTree.listener.Rebuild(syncTree)
}
headUpdate := syncClient.CreateHeadUpdate(t, nil)
err = syncClient.BroadcastAsync(headUpdate)
@ -210,7 +215,9 @@ func buildSyncTree(ctx context.Context, isFirstBuild bool, deps BuildDeps) (t tr
t = syncTree
syncTree.Lock()
defer syncTree.Unlock()
syncTree.listener.Rebuild(syncTree)
if syncTree.listener != nil {
syncTree.listener.Rebuild(syncTree)
}
headUpdate := syncTree.syncClient.CreateHeadUpdate(t, nil)
// here we will have different behaviour based on who is sending this update