Don't broadcast when no content added
This commit is contained in:
parent
3de5265fbc
commit
a21e27cce5
@ -8,7 +8,7 @@ import (
|
|||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/synctree/updatelistener"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/commonspace/synctree/updatelistener"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/list"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/list"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/storage"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/storage"
|
||||||
tree2 "github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/tree"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/tree"
|
||||||
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/treechangeproto"
|
"github.com/anytypeio/go-anytype-infrastructure-experiments/common/pkg/acl/treechangeproto"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ var ErrSyncTreeClosed = errors.New("sync tree is closed")
|
|||||||
|
|
||||||
// SyncTree sends head updates to sync service and also sends new changes to update listener
|
// SyncTree sends head updates to sync service and also sends new changes to update listener
|
||||||
type SyncTree struct {
|
type SyncTree struct {
|
||||||
tree2.ObjectTree
|
tree.ObjectTree
|
||||||
syncClient syncservice.SyncClient
|
syncClient syncservice.SyncClient
|
||||||
listener updatelistener.UpdateListener
|
listener updatelistener.UpdateListener
|
||||||
isClosed bool
|
isClosed bool
|
||||||
@ -24,17 +24,17 @@ type SyncTree struct {
|
|||||||
|
|
||||||
var log = logger.NewNamed("commonspace.synctree").Sugar()
|
var log = logger.NewNamed("commonspace.synctree").Sugar()
|
||||||
|
|
||||||
var createDerivedObjectTree = tree2.CreateDerivedObjectTree
|
var createDerivedObjectTree = tree.CreateDerivedObjectTree
|
||||||
var createObjectTree = tree2.CreateObjectTree
|
var createObjectTree = tree.CreateObjectTree
|
||||||
var buildObjectTree = tree2.BuildObjectTree
|
var buildObjectTree = tree.BuildObjectTree
|
||||||
|
|
||||||
func DeriveSyncTree(
|
func DeriveSyncTree(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
payload tree2.ObjectTreeCreatePayload,
|
payload tree.ObjectTreeCreatePayload,
|
||||||
syncClient syncservice.SyncClient,
|
syncClient syncservice.SyncClient,
|
||||||
listener updatelistener.UpdateListener,
|
listener updatelistener.UpdateListener,
|
||||||
aclList list.ACLList,
|
aclList list.ACLList,
|
||||||
createStorage storage.TreeStorageCreatorFunc) (t tree2.ObjectTree, err error) {
|
createStorage storage.TreeStorageCreatorFunc) (t tree.ObjectTree, err error) {
|
||||||
t, err = createDerivedObjectTree(payload, aclList, createStorage)
|
t, err = createDerivedObjectTree(payload, aclList, createStorage)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
@ -52,11 +52,11 @@ func DeriveSyncTree(
|
|||||||
|
|
||||||
func CreateSyncTree(
|
func CreateSyncTree(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
payload tree2.ObjectTreeCreatePayload,
|
payload tree.ObjectTreeCreatePayload,
|
||||||
syncClient syncservice.SyncClient,
|
syncClient syncservice.SyncClient,
|
||||||
listener updatelistener.UpdateListener,
|
listener updatelistener.UpdateListener,
|
||||||
aclList list.ACLList,
|
aclList list.ACLList,
|
||||||
createStorage storage.TreeStorageCreatorFunc) (t tree2.ObjectTree, err error) {
|
createStorage storage.TreeStorageCreatorFunc) (t tree.ObjectTree, err error) {
|
||||||
t, err = createObjectTree(payload, aclList, createStorage)
|
t, err = createObjectTree(payload, aclList, createStorage)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
@ -78,7 +78,7 @@ func BuildSyncTree(
|
|||||||
treeStorage storage.TreeStorage,
|
treeStorage storage.TreeStorage,
|
||||||
listener updatelistener.UpdateListener,
|
listener updatelistener.UpdateListener,
|
||||||
aclList list.ACLList,
|
aclList list.ACLList,
|
||||||
isFirstBuild bool) (t tree2.ObjectTree, err error) {
|
isFirstBuild bool) (t tree.ObjectTree, err error) {
|
||||||
return buildSyncTree(ctx, syncClient, treeStorage, listener, aclList, isFirstBuild)
|
return buildSyncTree(ctx, syncClient, treeStorage, listener, aclList, isFirstBuild)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ func buildSyncTree(
|
|||||||
treeStorage storage.TreeStorage,
|
treeStorage storage.TreeStorage,
|
||||||
listener updatelistener.UpdateListener,
|
listener updatelistener.UpdateListener,
|
||||||
aclList list.ACLList,
|
aclList list.ACLList,
|
||||||
isFirstBuild bool) (t tree2.ObjectTree, err error) {
|
isFirstBuild bool) (t tree.ObjectTree, err error) {
|
||||||
t, err = buildObjectTree(treeStorage, aclList)
|
t, err = buildObjectTree(treeStorage, aclList)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
@ -111,7 +111,7 @@ func buildSyncTree(
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SyncTree) AddContent(ctx context.Context, content tree2.SignableChangeContent) (res tree2.AddResult, err error) {
|
func (s *SyncTree) AddContent(ctx context.Context, content tree.SignableChangeContent) (res tree.AddResult, err error) {
|
||||||
if s.isClosed {
|
if s.isClosed {
|
||||||
err = ErrSyncTreeClosed
|
err = ErrSyncTreeClosed
|
||||||
return
|
return
|
||||||
@ -125,7 +125,7 @@ func (s *SyncTree) AddContent(ctx context.Context, content tree2.SignableChangeC
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SyncTree) AddRawChanges(ctx context.Context, changes ...*treechangeproto.RawTreeChangeWithId) (res tree2.AddResult, err error) {
|
func (s *SyncTree) AddRawChanges(ctx context.Context, changes ...*treechangeproto.RawTreeChangeWithId) (res tree.AddResult, err error) {
|
||||||
if s.isClosed {
|
if s.isClosed {
|
||||||
err = ErrSyncTreeClosed
|
err = ErrSyncTreeClosed
|
||||||
return
|
return
|
||||||
@ -136,17 +136,18 @@ func (s *SyncTree) AddRawChanges(ctx context.Context, changes ...*treechangeprot
|
|||||||
}
|
}
|
||||||
if s.listener != nil {
|
if s.listener != nil {
|
||||||
switch res.Mode {
|
switch res.Mode {
|
||||||
case tree2.Nothing:
|
case tree.Nothing:
|
||||||
return
|
return
|
||||||
case tree2.Append:
|
case tree.Append:
|
||||||
s.listener.Update(s)
|
s.listener.Update(s)
|
||||||
case tree2.Rebuild:
|
case tree.Rebuild:
|
||||||
s.listener.Rebuild(s)
|
s.listener.Rebuild(s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if res.Mode != tree.Nothing {
|
||||||
headUpdate := s.syncClient.CreateHeadUpdate(s, res.Added)
|
headUpdate := s.syncClient.CreateHeadUpdate(s, res.Added)
|
||||||
err = s.syncClient.BroadcastAsync(headUpdate)
|
err = s.syncClient.BroadcastAsync(headUpdate)
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,6 +164,6 @@ func (s *SyncTree) Close() (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SyncTree) Tree() tree2.ObjectTree {
|
func (s *SyncTree) Tree() tree.ObjectTree {
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user