Move treeheader to upper level in sync

This commit is contained in:
mcrakhman 2022-08-11 16:31:09 +02:00
parent 88b0e8cd7e
commit eed3c518cd
No known key found for this signature in database
GPG Key ID: DED12CFEF5B8396B
8 changed files with 308 additions and 492 deletions

View File

@ -283,15 +283,16 @@ func (a *aclTree) AddRawChanges(ctx context.Context, rawChanges ...*aclpb.RawCha
return return
} }
if a.updateListener != nil { if a.updateListener == nil {
switch mode { return
case Append: }
a.updateListener.Update(a) switch mode {
case Rebuild: case Append:
a.updateListener.Rebuild(a) a.updateListener.Update(a)
default: case Rebuild:
break a.updateListener.Rebuild(a)
} default:
break
} }
}() }()
@ -317,16 +318,7 @@ func (a *aclTree) AddRawChanges(ctx context.Context, rawChanges ...*aclpb.RawCha
} }
prevHeads := a.tree.Heads() prevHeads := a.tree.Heads()
mode = a.tree.Add(changes...) rebuild := func() (AddResult, error) {
switch mode {
case Nothing:
return AddResult{
OldHeads: prevHeads,
Heads: prevHeads,
Summary: AddResultSummaryNothing,
}, nil
case Rebuild:
err = a.rebuildFromStorage() err = a.rebuildFromStorage()
if err != nil { if err != nil {
return AddResult{}, err return AddResult{}, err
@ -338,6 +330,26 @@ func (a *aclTree) AddRawChanges(ctx context.Context, rawChanges ...*aclpb.RawCha
Added: getAddedChanges(), Added: getAddedChanges(),
Summary: AddResultSummaryRebuild, Summary: AddResultSummaryRebuild,
}, nil }, nil
}
mode = a.tree.Add(changes...)
switch mode {
case Nothing:
for _, ch := range changes {
// rebuilding if the snapshot is different from the root
if ch.SnapshotId != a.tree.RootId() {
return rebuild()
}
}
return AddResult{
OldHeads: prevHeads,
Heads: prevHeads,
Summary: AddResultSummaryNothing,
}, nil
case Rebuild:
return rebuild()
default: default:
// just rebuilding the state from start without reloading everything from tree storage // just rebuilding the state from start without reloading everything from tree storage
// as an optimization we could've started from current heads, but I didn't implement that // as an optimization we could've started from current heads, but I didn't implement that

View File

@ -165,7 +165,9 @@ func (d *docTree) AddContent(ctx context.Context, aclTree ACLTree, content proto
defer func() { defer func() {
// TODO: should this be called in a separate goroutine to prevent accidental cycles (tree->updater->tree) // TODO: should this be called in a separate goroutine to prevent accidental cycles (tree->updater->tree)
d.updateListener.Update(d) if d.updateListener != nil {
d.updateListener.Update(d)
}
}() }()
state := aclTree.ACLState() state := aclTree.ACLState()
change := &aclpb.Change{ change := &aclpb.Change{
@ -256,6 +258,10 @@ func (d *docTree) AddRawChanges(ctx context.Context, aclTree ACLTree, rawChanges
return return
} }
if d.updateListener == nil {
return
}
switch mode { switch mode {
case Append: case Append:
d.updateListener.Update(d) d.updateListener.Update(d)

View File

@ -2,6 +2,7 @@ package message
import ( import (
"context" "context"
"fmt"
"github.com/anytypeio/go-anytype-infrastructure-experiments/app" "github.com/anytypeio/go-anytype-infrastructure-experiments/app"
"github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger" "github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger"
"github.com/anytypeio/go-anytype-infrastructure-experiments/service/net/pool" "github.com/anytypeio/go-anytype-infrastructure-experiments/service/net/pool"
@ -85,7 +86,7 @@ func (s *service) SendMessageAsync(peerId string, msg *syncproto.Sync) (err erro
return return
} }
go s.sendAsync(peerId, msgType(msg), marshalled) go s.sendAsync(peerId, msgInfo(msg), marshalled)
return return
} }
@ -108,15 +109,16 @@ func (s *service) sendAsync(peerId string, msgTypeStr string, marshalled []byte)
}) })
} }
func msgType(content *syncproto.Sync) string { func msgInfo(content *syncproto.Sync) (syncMethod string) {
msg := content.GetMessage() msg := content.GetMessage()
switch { switch {
case msg.GetFullSyncRequest() != nil: case msg.GetFullSyncRequest() != nil:
return "FullSyncRequest" syncMethod = "FullSyncRequest"
case msg.GetFullSyncResponse() != nil: case msg.GetFullSyncResponse() != nil:
return "FullSyncResponse" syncMethod = "FullSyncResponse"
case msg.GetHeadUpdate() != nil: case msg.GetHeadUpdate() != nil:
return "HeadUpdate" syncMethod = "HeadUpdate"
} }
return "UnknownMessage" syncMethod = fmt.Sprintf("method: %s, treeType: %s", syncMethod, content.TreeHeader.Type.String())
return
} }

View File

@ -64,26 +64,32 @@ func (r *requestHandler) HandleSyncMessage(ctx context.Context, senderId string,
msg := content.GetMessage() msg := content.GetMessage()
switch { switch {
case msg.GetFullSyncRequest() != nil: case msg.GetFullSyncRequest() != nil:
return r.HandleFullSyncRequest(ctx, senderId, msg.GetFullSyncRequest()) return r.HandleFullSyncRequest(ctx, senderId, msg.GetFullSyncRequest(), content.GetTreeHeader(), content.GetTreeId())
case msg.GetFullSyncResponse() != nil: case msg.GetFullSyncResponse() != nil:
return r.HandleFullSyncResponse(ctx, senderId, msg.GetFullSyncResponse()) return r.HandleFullSyncResponse(ctx, senderId, msg.GetFullSyncResponse(), content.GetTreeHeader(), content.GetTreeId())
case msg.GetHeadUpdate() != nil: case msg.GetHeadUpdate() != nil:
return r.HandleHeadUpdate(ctx, senderId, msg.GetHeadUpdate()) return r.HandleHeadUpdate(ctx, senderId, msg.GetHeadUpdate(), content.GetTreeHeader(), content.GetTreeId())
} }
return nil return nil
} }
func (r *requestHandler) HandleHeadUpdate(ctx context.Context, senderId string, update *syncproto.SyncHeadUpdate) (err error) { func (r *requestHandler) HandleHeadUpdate(
ctx context.Context,
senderId string,
update *syncproto.SyncHeadUpdate,
header *treepb.TreeHeader,
treeId string) (err error) {
var ( var (
fullRequest *syncproto.SyncFullRequest fullRequest *syncproto.SyncFullRequest
snapshotPath []string snapshotPath []string
result tree.AddResult result tree.AddResult
) )
log.With(zap.String("peerId", senderId), zap.String("treeId", update.TreeId)). log.With(zap.String("peerId", senderId), zap.String("treeId", treeId)).
Debug("processing head update") Debug("processing head update")
updateACLTree := func() { updateACLTree := func() {
err = r.treeCache.Do(ctx, update.TreeId, func(obj interface{}) error { err = r.treeCache.Do(ctx, treeId, func(obj interface{}) error {
t := obj.(tree.ACLTree) t := obj.(tree.ACLTree)
t.Lock() t.Lock()
defer t.Unlock() defer t.Unlock()
@ -97,7 +103,7 @@ func (r *requestHandler) HandleHeadUpdate(ctx context.Context, senderId string,
shouldFullSync := !slice.UnsortedEquals(update.Heads, t.Heads()) shouldFullSync := !slice.UnsortedEquals(update.Heads, t.Heads())
snapshotPath = t.SnapshotPath() snapshotPath = t.SnapshotPath()
if shouldFullSync { if shouldFullSync {
fullRequest, err = r.prepareFullSyncRequest(update.TreeId, update.TreeHeader, update.SnapshotPath, t) fullRequest, err = r.prepareFullSyncRequest(treeId, header, update.SnapshotPath, t)
if err != nil { if err != nil {
return err return err
} }
@ -107,12 +113,12 @@ func (r *requestHandler) HandleHeadUpdate(ctx context.Context, senderId string,
} }
updateDocTree := func() { updateDocTree := func() {
err = r.treeCache.Do(ctx, update.TreeId, func(obj interface{}) error { err = r.treeCache.Do(ctx, treeId, func(obj interface{}) error {
docTree := obj.(tree.DocTree) docTree := obj.(tree.DocTree)
docTree.Lock() docTree.Lock()
defer docTree.Unlock() defer docTree.Unlock()
return r.treeCache.Do(ctx, update.TreeId, func(obj interface{}) error { return r.treeCache.Do(ctx, treeId, func(obj interface{}) error {
aclTree := obj.(tree.ACLTree) aclTree := obj.(tree.ACLTree)
aclTree.RLock() aclTree.RLock()
defer aclTree.RUnlock() defer aclTree.RUnlock()
@ -126,7 +132,7 @@ func (r *requestHandler) HandleHeadUpdate(ctx context.Context, senderId string,
shouldFullSync := !slice.UnsortedEquals(update.Heads, docTree.Heads()) shouldFullSync := !slice.UnsortedEquals(update.Heads, docTree.Heads())
snapshotPath = docTree.SnapshotPath() snapshotPath = docTree.SnapshotPath()
if shouldFullSync { if shouldFullSync {
fullRequest, err = r.prepareFullSyncRequest(update.TreeId, update.TreeHeader, update.SnapshotPath, docTree) fullRequest, err = r.prepareFullSyncRequest(treeId, header, update.SnapshotPath, docTree)
if err != nil { if err != nil {
return err return err
} }
@ -136,7 +142,7 @@ func (r *requestHandler) HandleHeadUpdate(ctx context.Context, senderId string,
}) })
} }
switch update.TreeHeader.Type { switch header.Type {
case treepb.TreeHeader_ACLTree: case treepb.TreeHeader_ACLTree:
updateACLTree() updateACLTree()
case treepb.TreeHeader_DocTree: case treepb.TreeHeader_DocTree:
@ -148,14 +154,11 @@ func (r *requestHandler) HandleHeadUpdate(ctx context.Context, senderId string,
// if there are no such tree // if there are no such tree
if err == treestorage.ErrUnknownTreeId { if err == treestorage.ErrUnknownTreeId {
// TODO: maybe we can optimize this by sending the header and stuff right away, so when the tree is created we are able to add it on first request // TODO: maybe we can optimize this by sending the header and stuff right away, so when the tree is created we are able to add it on first request
fullRequest = &syncproto.SyncFullRequest{ fullRequest = &syncproto.SyncFullRequest{}
TreeId: update.TreeId,
TreeHeader: update.TreeHeader,
}
} }
// if we have incompatible heads, or we haven't seen the tree at all // if we have incompatible heads, or we haven't seen the tree at all
if fullRequest != nil { if fullRequest != nil {
return r.messageService.SendMessageAsync(senderId, syncproto.WrapFullRequest(fullRequest)) return r.messageService.SendMessageAsync(senderId, syncproto.WrapFullRequest(fullRequest, header, treeId))
} }
// if error or nothing has changed // if error or nothing has changed
if err != nil || len(result.Added) == 0 { if err != nil || len(result.Added) == 0 {
@ -166,23 +169,27 @@ func (r *requestHandler) HandleHeadUpdate(ctx context.Context, senderId string,
Heads: result.Heads, Heads: result.Heads,
Changes: result.Added, Changes: result.Added,
SnapshotPath: snapshotPath, SnapshotPath: snapshotPath,
TreeId: update.TreeId,
TreeHeader: update.TreeHeader,
} }
return r.messageService.SendToSpaceAsync("", syncproto.WrapHeadUpdate(newUpdate)) return r.messageService.SendToSpaceAsync("", syncproto.WrapHeadUpdate(newUpdate, header, treeId))
} }
func (r *requestHandler) HandleFullSyncRequest(ctx context.Context, senderId string, request *syncproto.SyncFullRequest) (err error) { func (r *requestHandler) HandleFullSyncRequest(
ctx context.Context,
senderId string,
request *syncproto.SyncFullRequest,
header *treepb.TreeHeader,
treeId string) (err error) {
var ( var (
fullResponse *syncproto.SyncFullResponse fullResponse *syncproto.SyncFullResponse
snapshotPath []string snapshotPath []string
result tree.AddResult result tree.AddResult
) )
log.With(zap.String("peerId", senderId), zap.String("treeId", request.TreeId)). log.With(zap.String("peerId", senderId), zap.String("treeId", treeId)).
Debug("processing full sync request") Debug("processing full sync request")
requestACLTree := func() { requestACLTree := func() {
err = r.treeCache.Do(ctx, request.TreeId, func(obj interface{}) error { err = r.treeCache.Do(ctx, treeId, func(obj interface{}) error {
t := obj.(tree.ACLTree) t := obj.(tree.ACLTree)
t.Lock() t.Lock()
defer t.Unlock() defer t.Unlock()
@ -196,7 +203,7 @@ func (r *requestHandler) HandleFullSyncRequest(ctx context.Context, senderId str
} }
} }
snapshotPath = t.SnapshotPath() snapshotPath = t.SnapshotPath()
fullResponse, err = r.prepareFullSyncResponse(request.TreeId, request.SnapshotPath, request.Changes, t) fullResponse, err = r.prepareFullSyncResponse(treeId, request.SnapshotPath, request.Changes, t)
if err != nil { if err != nil {
return err return err
} }
@ -205,12 +212,12 @@ func (r *requestHandler) HandleFullSyncRequest(ctx context.Context, senderId str
} }
requestDocTree := func() { requestDocTree := func() {
err = r.treeCache.Do(ctx, request.TreeId, func(obj interface{}) error { err = r.treeCache.Do(ctx, treeId, func(obj interface{}) error {
docTree := obj.(tree.DocTree) docTree := obj.(tree.DocTree)
docTree.Lock() docTree.Lock()
defer docTree.Unlock() defer docTree.Unlock()
return r.treeCache.Do(ctx, request.TreeId, func(obj interface{}) error { return r.treeCache.Do(ctx, treeId, func(obj interface{}) error {
aclTree := obj.(tree.ACLTree) aclTree := obj.(tree.ACLTree)
aclTree.RLock() aclTree.RLock()
defer aclTree.RUnlock() defer aclTree.RUnlock()
@ -223,7 +230,7 @@ func (r *requestHandler) HandleFullSyncRequest(ctx context.Context, senderId str
} }
} }
snapshotPath = docTree.SnapshotPath() snapshotPath = docTree.SnapshotPath()
fullResponse, err = r.prepareFullSyncResponse(request.TreeId, request.SnapshotPath, request.Changes, docTree) fullResponse, err = r.prepareFullSyncResponse(treeId, request.SnapshotPath, request.Changes, docTree)
if err != nil { if err != nil {
return err return err
} }
@ -232,7 +239,7 @@ func (r *requestHandler) HandleFullSyncRequest(ctx context.Context, senderId str
}) })
} }
switch request.TreeHeader.Type { switch header.Type {
case treepb.TreeHeader_ACLTree: case treepb.TreeHeader_ACLTree:
requestACLTree() requestACLTree()
case treepb.TreeHeader_DocTree: case treepb.TreeHeader_DocTree:
@ -244,7 +251,7 @@ func (r *requestHandler) HandleFullSyncRequest(ctx context.Context, senderId str
if err != nil { if err != nil {
return err return err
} }
err = r.messageService.SendMessageAsync(senderId, syncproto.WrapFullResponse(fullResponse)) err = r.messageService.SendMessageAsync(senderId, syncproto.WrapFullResponse(fullResponse, header, treeId))
// if error or nothing has changed // if error or nothing has changed
if err != nil || len(result.Added) == 0 { if err != nil || len(result.Added) == 0 {
return err return err
@ -255,22 +262,26 @@ func (r *requestHandler) HandleFullSyncRequest(ctx context.Context, senderId str
Heads: result.Heads, Heads: result.Heads,
Changes: result.Added, Changes: result.Added,
SnapshotPath: snapshotPath, SnapshotPath: snapshotPath,
TreeId: request.TreeId,
TreeHeader: request.TreeHeader,
} }
return r.messageService.SendToSpaceAsync("", syncproto.WrapHeadUpdate(newUpdate)) return r.messageService.SendToSpaceAsync("", syncproto.WrapHeadUpdate(newUpdate, header, treeId))
} }
func (r *requestHandler) HandleFullSyncResponse(ctx context.Context, senderId string, response *syncproto.SyncFullResponse) (err error) { func (r *requestHandler) HandleFullSyncResponse(
ctx context.Context,
senderId string,
response *syncproto.SyncFullResponse,
header *treepb.TreeHeader,
treeId string) (err error) {
var ( var (
snapshotPath []string snapshotPath []string
result tree.AddResult result tree.AddResult
) )
log.With(zap.String("peerId", senderId), zap.String("treeId", response.TreeId)). log.With(zap.String("peerId", senderId), zap.String("treeId", treeId)).
Debug("processing full sync response") Debug("processing full sync response")
responseACLTree := func() { responseACLTree := func() {
err = r.treeCache.Do(ctx, response.TreeId, func(obj interface{}) error { err = r.treeCache.Do(ctx, treeId, func(obj interface{}) error {
t := obj.(tree.ACLTree) t := obj.(tree.ACLTree)
t.Lock() t.Lock()
defer t.Unlock() defer t.Unlock()
@ -285,12 +296,12 @@ func (r *requestHandler) HandleFullSyncResponse(ctx context.Context, senderId st
} }
responseDocTree := func() { responseDocTree := func() {
err = r.treeCache.Do(ctx, response.TreeId, func(obj interface{}) error { err = r.treeCache.Do(ctx, treeId, func(obj interface{}) error {
docTree := obj.(tree.DocTree) docTree := obj.(tree.DocTree)
docTree.Lock() docTree.Lock()
defer docTree.Unlock() defer docTree.Unlock()
return r.treeCache.Do(ctx, response.TreeId, func(obj interface{}) error { return r.treeCache.Do(ctx, treeId, func(obj interface{}) error {
aclTree := obj.(tree.ACLTree) aclTree := obj.(tree.ACLTree)
aclTree.RLock() aclTree.RLock()
defer aclTree.RUnlock() defer aclTree.RUnlock()
@ -305,7 +316,7 @@ func (r *requestHandler) HandleFullSyncResponse(ctx context.Context, senderId st
}) })
} }
switch response.TreeHeader.Type { switch header.Type {
case treepb.TreeHeader_ACLTree: case treepb.TreeHeader_ACLTree:
responseACLTree() responseACLTree()
case treepb.TreeHeader_DocTree: case treepb.TreeHeader_DocTree:
@ -320,7 +331,7 @@ func (r *requestHandler) HandleFullSyncResponse(ctx context.Context, senderId st
} }
// if we have a new tree // if we have a new tree
if err == treestorage.ErrUnknownTreeId { if err == treestorage.ErrUnknownTreeId {
err = r.createTree(ctx, response) err = r.createTree(ctx, response, header, treeId)
if err != nil { if err != nil {
return err return err
} }
@ -335,9 +346,8 @@ func (r *requestHandler) HandleFullSyncResponse(ctx context.Context, senderId st
Heads: result.Heads, Heads: result.Heads,
Changes: result.Added, Changes: result.Added,
SnapshotPath: snapshotPath, SnapshotPath: snapshotPath,
TreeId: response.TreeId,
} }
return r.messageService.SendToSpaceAsync("", syncproto.WrapHeadUpdate(newUpdate)) return r.messageService.SendToSpaceAsync("", syncproto.WrapHeadUpdate(newUpdate, header, treeId))
} }
func (r *requestHandler) prepareFullSyncRequest(treeId string, header *treepb.TreeHeader, theirPath []string, t tree.CommonTree) (*syncproto.SyncFullRequest, error) { func (r *requestHandler) prepareFullSyncRequest(treeId string, header *treepb.TreeHeader, theirPath []string, t tree.CommonTree) (*syncproto.SyncFullRequest, error) {
@ -348,9 +358,7 @@ func (r *requestHandler) prepareFullSyncRequest(treeId string, header *treepb.Tr
return &syncproto.SyncFullRequest{ return &syncproto.SyncFullRequest{
Heads: t.Heads(), Heads: t.Heads(),
Changes: ourChanges, Changes: ourChanges,
TreeId: treeId,
SnapshotPath: t.SnapshotPath(), SnapshotPath: t.SnapshotPath(),
TreeHeader: header,
}, nil }, nil
} }
@ -382,17 +390,20 @@ func (r *requestHandler) prepareFullSyncResponse(
return &syncproto.SyncFullResponse{ return &syncproto.SyncFullResponse{
Heads: t.Heads(), Heads: t.Heads(),
Changes: final, Changes: final,
TreeId: treeId,
SnapshotPath: t.SnapshotPath(), SnapshotPath: t.SnapshotPath(),
TreeHeader: t.Header(),
}, nil }, nil
} }
func (r *requestHandler) createTree(ctx context.Context, response *syncproto.SyncFullResponse) error { func (r *requestHandler) createTree(
ctx context.Context,
response *syncproto.SyncFullResponse,
header *treepb.TreeHeader,
treeId string) error {
return r.treeCache.Add( return r.treeCache.Add(
ctx, ctx,
response.TreeId, treeId,
response.TreeHeader, header,
response.Changes, response.Changes,
func(obj interface{}) error { func(obj interface{}) error {
return nil return nil

View File

@ -6,7 +6,6 @@ import (
"github.com/anytypeio/go-anytype-infrastructure-experiments/app" "github.com/anytypeio/go-anytype-infrastructure-experiments/app"
"github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger" "github.com/anytypeio/go-anytype-infrastructure-experiments/app/logger"
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/aclchanges/aclpb" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/aclchanges/aclpb"
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/acltree"
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/tree" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/tree"
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/treestorage/treepb" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/treestorage/treepb"
"github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/ocache" "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/ocache"
@ -19,7 +18,6 @@ const CName = "treecache"
// TODO: add context // TODO: add context
type TreeFunc = func(tree interface{}) error type TreeFunc = func(tree interface{}) error
type ChangeBuildFunc = func(builder acltree.ChangeBuilder) error
var log = logger.NewNamed("treecache") var log = logger.NewNamed("treecache")

View File

@ -1,19 +1,33 @@
package syncproto package syncproto
func WrapHeadUpdate(update *SyncHeadUpdate) *Sync { import "github.com/anytypeio/go-anytype-infrastructure-experiments/pkg/acl/treestorage/treepb"
return &Sync{Message: &SyncContentValue{
Value: &SyncContentValueValueOfHeadUpdate{HeadUpdate: update}, func WrapHeadUpdate(update *SyncHeadUpdate, header *treepb.TreeHeader, treeId string) *Sync {
}} return &Sync{
Message: &SyncContentValue{
Value: &SyncContentValueValueOfHeadUpdate{HeadUpdate: update},
},
TreeHeader: header,
TreeId: treeId,
}
} }
func WrapFullRequest(request *SyncFullRequest) *Sync { func WrapFullRequest(request *SyncFullRequest, header *treepb.TreeHeader, treeId string) *Sync {
return &Sync{Message: &SyncContentValue{ return &Sync{
Value: &SyncContentValueValueOfFullSyncRequest{FullSyncRequest: request}, Message: &SyncContentValue{
}} Value: &SyncContentValueValueOfFullSyncRequest{FullSyncRequest: request},
},
TreeHeader: header,
TreeId: treeId,
}
} }
func WrapFullResponse(response *SyncFullResponse) *Sync { func WrapFullResponse(response *SyncFullResponse, header *treepb.TreeHeader, treeId string) *Sync {
return &Sync{Message: &SyncContentValue{ return &Sync{
Value: &SyncContentValueValueOfFullSyncResponse{FullSyncResponse: response}, Message: &SyncContentValue{
}} Value: &SyncContentValueValueOfFullSyncResponse{FullSyncResponse: response},
},
TreeHeader: header,
TreeId: treeId,
}
} }

View File

@ -64,6 +64,8 @@ message Subscription {
message Sync { message Sync {
string spaceId = 1; string spaceId = 1;
ContentValue message = 2; ContentValue message = 2;
tree.TreeHeader treeHeader = 3;
string treeId = 4;
message ContentValue { message ContentValue {
oneof value { oneof value {
@ -76,9 +78,7 @@ message Sync {
message HeadUpdate { message HeadUpdate {
repeated string heads = 1; repeated string heads = 1;
repeated acl.RawChange changes = 2; repeated acl.RawChange changes = 2;
string treeId = 3; repeated string snapshotPath = 3;
repeated string snapshotPath = 4;
tree.TreeHeader treeHeader = 5;
} }
message Full { message Full {
@ -86,17 +86,13 @@ message Sync {
message Request { message Request {
repeated string heads = 1; repeated string heads = 1;
repeated acl.RawChange changes = 2; repeated acl.RawChange changes = 2;
string treeId = 3; repeated string snapshotPath = 3;
repeated string snapshotPath = 4;
tree.TreeHeader treeHeader = 5;
} }
message Response { message Response {
repeated string heads = 1; repeated string heads = 1;
repeated acl.RawChange changes = 2; repeated acl.RawChange changes = 2;
string treeId = 3; repeated string snapshotPath = 3;
repeated string snapshotPath = 4;
tree.TreeHeader treeHeader = 5;
} }
} }
} }

View File

@ -590,8 +590,10 @@ func (m *SubscriptionUnsubscribeSpace) GetSpaceId() string {
} }
type Sync struct { type Sync struct {
SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"` SpaceId string `protobuf:"bytes,1,opt,name=spaceId,proto3" json:"spaceId,omitempty"`
Message *SyncContentValue `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` Message *SyncContentValue `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
TreeHeader *treepb.TreeHeader `protobuf:"bytes,3,opt,name=treeHeader,proto3" json:"treeHeader,omitempty"`
TreeId string `protobuf:"bytes,4,opt,name=treeId,proto3" json:"treeId,omitempty"`
} }
func (m *Sync) Reset() { *m = Sync{} } func (m *Sync) Reset() { *m = Sync{} }
@ -641,6 +643,20 @@ func (m *Sync) GetMessage() *SyncContentValue {
return nil return nil
} }
func (m *Sync) GetTreeHeader() *treepb.TreeHeader {
if m != nil {
return m.TreeHeader
}
return nil
}
func (m *Sync) GetTreeId() string {
if m != nil {
return m.TreeId
}
return ""
}
type SyncContentValue struct { type SyncContentValue struct {
// Types that are valid to be assigned to Value: // Types that are valid to be assigned to Value:
// *SyncContentValueValueOfHeadUpdate // *SyncContentValueValueOfHeadUpdate
@ -742,9 +758,7 @@ func (*SyncContentValue) XXX_OneofWrappers() []interface{} {
type SyncHeadUpdate struct { type SyncHeadUpdate struct {
Heads []string `protobuf:"bytes,1,rep,name=heads,proto3" json:"heads,omitempty"` Heads []string `protobuf:"bytes,1,rep,name=heads,proto3" json:"heads,omitempty"`
Changes []*aclpb.RawChange `protobuf:"bytes,2,rep,name=changes,proto3" json:"changes,omitempty"` Changes []*aclpb.RawChange `protobuf:"bytes,2,rep,name=changes,proto3" json:"changes,omitempty"`
TreeId string `protobuf:"bytes,3,opt,name=treeId,proto3" json:"treeId,omitempty"` SnapshotPath []string `protobuf:"bytes,3,rep,name=snapshotPath,proto3" json:"snapshotPath,omitempty"`
SnapshotPath []string `protobuf:"bytes,4,rep,name=snapshotPath,proto3" json:"snapshotPath,omitempty"`
TreeHeader *treepb.TreeHeader `protobuf:"bytes,5,opt,name=treeHeader,proto3" json:"treeHeader,omitempty"`
} }
func (m *SyncHeadUpdate) Reset() { *m = SyncHeadUpdate{} } func (m *SyncHeadUpdate) Reset() { *m = SyncHeadUpdate{} }
@ -794,13 +808,6 @@ func (m *SyncHeadUpdate) GetChanges() []*aclpb.RawChange {
return nil return nil
} }
func (m *SyncHeadUpdate) GetTreeId() string {
if m != nil {
return m.TreeId
}
return ""
}
func (m *SyncHeadUpdate) GetSnapshotPath() []string { func (m *SyncHeadUpdate) GetSnapshotPath() []string {
if m != nil { if m != nil {
return m.SnapshotPath return m.SnapshotPath
@ -808,13 +815,6 @@ func (m *SyncHeadUpdate) GetSnapshotPath() []string {
return nil return nil
} }
func (m *SyncHeadUpdate) GetTreeHeader() *treepb.TreeHeader {
if m != nil {
return m.TreeHeader
}
return nil
}
type SyncFull struct { type SyncFull struct {
} }
@ -855,9 +855,7 @@ var xxx_messageInfo_SyncFull proto.InternalMessageInfo
type SyncFullRequest struct { type SyncFullRequest struct {
Heads []string `protobuf:"bytes,1,rep,name=heads,proto3" json:"heads,omitempty"` Heads []string `protobuf:"bytes,1,rep,name=heads,proto3" json:"heads,omitempty"`
Changes []*aclpb.RawChange `protobuf:"bytes,2,rep,name=changes,proto3" json:"changes,omitempty"` Changes []*aclpb.RawChange `protobuf:"bytes,2,rep,name=changes,proto3" json:"changes,omitempty"`
TreeId string `protobuf:"bytes,3,opt,name=treeId,proto3" json:"treeId,omitempty"` SnapshotPath []string `protobuf:"bytes,3,rep,name=snapshotPath,proto3" json:"snapshotPath,omitempty"`
SnapshotPath []string `protobuf:"bytes,4,rep,name=snapshotPath,proto3" json:"snapshotPath,omitempty"`
TreeHeader *treepb.TreeHeader `protobuf:"bytes,5,opt,name=treeHeader,proto3" json:"treeHeader,omitempty"`
} }
func (m *SyncFullRequest) Reset() { *m = SyncFullRequest{} } func (m *SyncFullRequest) Reset() { *m = SyncFullRequest{} }
@ -907,13 +905,6 @@ func (m *SyncFullRequest) GetChanges() []*aclpb.RawChange {
return nil return nil
} }
func (m *SyncFullRequest) GetTreeId() string {
if m != nil {
return m.TreeId
}
return ""
}
func (m *SyncFullRequest) GetSnapshotPath() []string { func (m *SyncFullRequest) GetSnapshotPath() []string {
if m != nil { if m != nil {
return m.SnapshotPath return m.SnapshotPath
@ -921,19 +912,10 @@ func (m *SyncFullRequest) GetSnapshotPath() []string {
return nil return nil
} }
func (m *SyncFullRequest) GetTreeHeader() *treepb.TreeHeader {
if m != nil {
return m.TreeHeader
}
return nil
}
type SyncFullResponse struct { type SyncFullResponse struct {
Heads []string `protobuf:"bytes,1,rep,name=heads,proto3" json:"heads,omitempty"` Heads []string `protobuf:"bytes,1,rep,name=heads,proto3" json:"heads,omitempty"`
Changes []*aclpb.RawChange `protobuf:"bytes,2,rep,name=changes,proto3" json:"changes,omitempty"` Changes []*aclpb.RawChange `protobuf:"bytes,2,rep,name=changes,proto3" json:"changes,omitempty"`
TreeId string `protobuf:"bytes,3,opt,name=treeId,proto3" json:"treeId,omitempty"` SnapshotPath []string `protobuf:"bytes,3,rep,name=snapshotPath,proto3" json:"snapshotPath,omitempty"`
SnapshotPath []string `protobuf:"bytes,4,rep,name=snapshotPath,proto3" json:"snapshotPath,omitempty"`
TreeHeader *treepb.TreeHeader `protobuf:"bytes,5,opt,name=treeHeader,proto3" json:"treeHeader,omitempty"`
} }
func (m *SyncFullResponse) Reset() { *m = SyncFullResponse{} } func (m *SyncFullResponse) Reset() { *m = SyncFullResponse{} }
@ -983,13 +965,6 @@ func (m *SyncFullResponse) GetChanges() []*aclpb.RawChange {
return nil return nil
} }
func (m *SyncFullResponse) GetTreeId() string {
if m != nil {
return m.TreeId
}
return ""
}
func (m *SyncFullResponse) GetSnapshotPath() []string { func (m *SyncFullResponse) GetSnapshotPath() []string {
if m != nil { if m != nil {
return m.SnapshotPath return m.SnapshotPath
@ -997,13 +972,6 @@ func (m *SyncFullResponse) GetSnapshotPath() []string {
return nil return nil
} }
func (m *SyncFullResponse) GetTreeHeader() *treepb.TreeHeader {
if m != nil {
return m.TreeHeader
}
return nil
}
func init() { func init() {
proto.RegisterEnum("anytype.MessageType", MessageType_name, MessageType_value) proto.RegisterEnum("anytype.MessageType", MessageType_name, MessageType_value)
proto.RegisterEnum("anytype.SystemErrorCode", SystemErrorCode_name, SystemErrorCode_value) proto.RegisterEnum("anytype.SystemErrorCode", SystemErrorCode_name, SystemErrorCode_value)
@ -1028,62 +996,61 @@ func init() {
func init() { proto.RegisterFile("syncproto/proto/sync.proto", fileDescriptor_4b28dfdd48a89166) } func init() { proto.RegisterFile("syncproto/proto/sync.proto", fileDescriptor_4b28dfdd48a89166) }
var fileDescriptor_4b28dfdd48a89166 = []byte{ var fileDescriptor_4b28dfdd48a89166 = []byte{
// 868 bytes of a gzipped FileDescriptorProto // 858 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x56, 0xd1, 0x8e, 0xda, 0x46, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0xd1, 0x8e, 0xda, 0x46,
0x14, 0x65, 0xc0, 0x40, 0xb8, 0x20, 0xd6, 0x9d, 0x24, 0xad, 0xeb, 0x44, 0x08, 0xa1, 0xb4, 0x45, 0x14, 0xc5, 0x60, 0x20, 0x5c, 0x10, 0xeb, 0x4e, 0x92, 0xd6, 0x75, 0x22, 0x84, 0x50, 0xda, 0x5a,
0x69, 0xe4, 0x8d, 0x68, 0xa3, 0x4a, 0x7d, 0x4b, 0xb6, 0xbb, 0x02, 0x35, 0x05, 0x34, 0xc0, 0x56, 0x69, 0xe4, 0x8d, 0x68, 0xa3, 0x4a, 0x7d, 0x4b, 0xb6, 0xbb, 0x02, 0x35, 0x05, 0x34, 0xc0, 0x56,
0xea, 0x4b, 0x34, 0xd8, 0x13, 0x40, 0x78, 0xc7, 0xae, 0xc7, 0xb4, 0xe5, 0x17, 0xfa, 0x94, 0x6f, 0xea, 0x4b, 0x34, 0xd8, 0x13, 0x40, 0x78, 0xc7, 0xae, 0xc7, 0x6e, 0xcb, 0x2f, 0xf4, 0x29, 0xdf,
0xe8, 0x37, 0x54, 0x6a, 0xd5, 0x2f, 0xe8, 0x63, 0x1e, 0xfb, 0x58, 0xed, 0x4a, 0xfd, 0x88, 0xf6, 0xd0, 0x6f, 0xe8, 0x47, 0xf4, 0x31, 0x8f, 0x7d, 0xac, 0x76, 0xd5, 0x7e, 0x47, 0x35, 0x33, 0x36,
0xa5, 0x9a, 0x19, 0x1b, 0x7b, 0x9d, 0xcd, 0x07, 0xe4, 0x01, 0x98, 0x7b, 0xee, 0x39, 0xd7, 0xe7, 0xf6, 0x3a, 0xe4, 0x35, 0x0f, 0xc0, 0xdc, 0x33, 0xe7, 0xdc, 0x7b, 0x2e, 0xe3, 0xb9, 0x06, 0x8b,
0xce, 0x30, 0x17, 0xc0, 0x16, 0x7b, 0xee, 0x86, 0x51, 0x10, 0x07, 0xc7, 0xfa, 0x5d, 0xc6, 0x8e, 0xef, 0x99, 0x1b, 0x46, 0x41, 0x1c, 0x9c, 0xaa, 0x6f, 0x11, 0x3b, 0x72, 0x89, 0x9a, 0x84, 0xed,
0x5a, 0xe2, 0x3a, 0xe5, 0xfb, 0x78, 0x1f, 0x32, 0xfb, 0x71, 0xb8, 0x5d, 0x1d, 0x53, 0xd7, 0x97, 0xe3, 0x7d, 0x48, 0xad, 0xa7, 0xe1, 0x6e, 0x7d, 0x4a, 0x5c, 0x5f, 0x7c, 0xdc, 0x0d, 0x61, 0x6b,
0x2f, 0x77, 0x4d, 0xf9, 0x8a, 0x09, 0xb9, 0x0c, 0x97, 0x5a, 0x23, 0x72, 0xb8, 0x96, 0xda, 0x8f, 0xca, 0xc5, 0x32, 0x5c, 0x29, 0x0d, 0x2f, 0xe0, 0x4a, 0x6a, 0x3d, 0xc9, 0x14, 0x71, 0x44, 0x29,
0x52, 0x45, 0x1c, 0x31, 0x26, 0xe2, 0x20, 0xa2, 0x2b, 0xa6, 0xd6, 0x99, 0x46, 0x46, 0x9a, 0xdd, 0x8f, 0x83, 0x88, 0xac, 0xa9, 0x5c, 0xe7, 0x1a, 0x11, 0x29, 0xf6, 0xe0, 0x02, 0x9a, 0x3f, 0x50,
0x3b, 0x83, 0xfa, 0x37, 0x4c, 0x08, 0xba, 0x62, 0xf8, 0x13, 0xa8, 0xad, 0x19, 0xf5, 0x58, 0x64, 0xce, 0xc9, 0x9a, 0xa2, 0x2f, 0xa0, 0xb1, 0xa1, 0xc4, 0xa3, 0x91, 0xa9, 0xf5, 0x35, 0xbb, 0x3d,
0xa1, 0x2e, 0xea, 0x37, 0x07, 0x47, 0x4e, 0x62, 0xc2, 0x19, 0x2a, 0x98, 0x24, 0x69, 0x8c, 0xc1, 0x3c, 0x71, 0x52, 0x13, 0xce, 0x48, 0xc2, 0x38, 0xdd, 0x46, 0x08, 0x74, 0x8f, 0xc4, 0xc4, 0xac,
0xf0, 0x68, 0x4c, 0xad, 0x72, 0x17, 0xf5, 0x5b, 0x44, 0xad, 0x7b, 0xbf, 0x20, 0xa8, 0x69, 0x1a, 0xf6, 0x35, 0xbb, 0x83, 0xe5, 0x7a, 0xf0, 0x87, 0x06, 0x0d, 0x45, 0x43, 0x26, 0x34, 0xe3, 0x88,
0xb6, 0xa0, 0x1e, 0x47, 0xd4, 0x65, 0x23, 0x4f, 0x15, 0x6a, 0x91, 0x34, 0xc4, 0xf7, 0xa1, 0x11, 0xb8, 0x74, 0xec, 0xc9, 0x44, 0x1d, 0x9c, 0x85, 0xe8, 0x21, 0xb4, 0x22, 0xfa, 0x73, 0x42, 0x79,
0xb1, 0xef, 0x77, 0x4c, 0xc4, 0x23, 0x4f, 0xa9, 0x0d, 0x92, 0x01, 0x52, 0x17, 0xb1, 0xd0, 0xdf, 0x3c, 0xf6, 0xa4, 0x5a, 0xc7, 0x39, 0x20, 0x74, 0x11, 0x0d, 0xfd, 0xfd, 0xd8, 0x33, 0x6b, 0x72,
0x8f, 0x3c, 0xab, 0xa2, 0x72, 0x69, 0x88, 0xfb, 0x60, 0x48, 0x1f, 0x96, 0xd1, 0x45, 0xfd, 0xf6, 0x2f, 0x0b, 0x91, 0x0d, 0xba, 0xf0, 0x61, 0xea, 0x7d, 0xcd, 0xee, 0x0e, 0xef, 0x1d, 0x7c, 0xa5,
0xe0, 0xce, 0xc1, 0x57, 0xe2, 0x7c, 0xbe, 0x0f, 0x19, 0x51, 0x0c, 0xf9, 0x04, 0x8f, 0x2d, 0x77, 0xce, 0x17, 0xfb, 0x90, 0x62, 0xc9, 0x10, 0x15, 0x3c, 0xba, 0x4a, 0xd6, 0x63, 0xf6, 0x3a, 0x30,
0xab, 0x11, 0x7f, 0x19, 0x58, 0xd5, 0x2e, 0xea, 0x37, 0x48, 0x06, 0xf4, 0x7e, 0xad, 0x40, 0x6d, 0xeb, 0x7d, 0xcd, 0x6e, 0xe1, 0x1c, 0x18, 0xfc, 0x59, 0x83, 0xc6, 0x7c, 0xcf, 0x63, 0x7a, 0x85,
0xb6, 0x17, 0x31, 0xbb, 0xc0, 0x5f, 0x40, 0x63, 0x4d, 0xb9, 0x27, 0xd6, 0x74, 0xcb, 0x92, 0x7e, 0xbe, 0x81, 0xd6, 0x86, 0x30, 0x8f, 0x6f, 0xc8, 0x8e, 0xa6, 0xfd, 0x7e, 0x7a, 0xc8, 0xab, 0x38,
0x3f, 0x3c, 0xd4, 0xd5, 0x1c, 0x67, 0x98, 0x12, 0x48, 0xc6, 0x95, 0x5e, 0xc2, 0x0d, 0x5f, 0x29, 0xce, 0x28, 0x23, 0xe0, 0x9c, 0x2b, 0xbc, 0x84, 0x5b, 0xb6, 0x96, 0xf6, 0xdb, 0x05, 0x2f, 0xa9,
0xfb, 0xcd, 0x9c, 0x97, 0x44, 0x33, 0xdd, 0xf0, 0x15, 0x51, 0x0c, 0xfc, 0x11, 0x54, 0xa8, 0xbb, 0x66, 0xb6, 0x65, 0x6b, 0x2c, 0x19, 0xe8, 0x33, 0xa8, 0x11, 0x77, 0x27, 0x7b, 0x69, 0x0f, 0xef,
0x55, 0xbd, 0x34, 0x07, 0xb7, 0x8b, 0xc4, 0xa7, 0xee, 0x96, 0xc8, 0xbc, 0xfd, 0x04, 0x1a, 0xc3, 0x96, 0x89, 0xcf, 0xdd, 0x1d, 0x16, 0xfb, 0xd6, 0x33, 0x68, 0x8d, 0x0a, 0xd9, 0x4f, 0xe4, 0xb9,
0x5c, 0xf5, 0x23, 0x75, 0x2e, 0x6e, 0xe0, 0x9f, 0xb3, 0x48, 0x6c, 0x02, 0xae, 0xcc, 0x35, 0x48, 0xb8, 0x81, 0x7f, 0x49, 0x23, 0xbe, 0x0d, 0x98, 0x34, 0xd7, 0xc2, 0x65, 0xd8, 0x1a, 0x80, 0x2e,
0x11, 0xb6, 0x7b, 0x60, 0xc8, 0x67, 0x61, 0x1b, 0x6e, 0xed, 0xf8, 0xe6, 0xa7, 0xf9, 0xe6, 0x42, 0x6a, 0x21, 0x0b, 0xee, 0x24, 0x6c, 0xfb, 0xdb, 0x62, 0x7b, 0xa5, 0xfa, 0xd0, 0xf1, 0x21, 0xb6,
0xf7, 0x61, 0x90, 0x43, 0x6c, 0x0f, 0xa0, 0xf2, 0xd4, 0xdd, 0xe2, 0x4f, 0xa1, 0xca, 0xa2, 0x28, 0x86, 0x50, 0x7b, 0xee, 0xee, 0xd0, 0x97, 0x50, 0xa7, 0x51, 0x14, 0x44, 0xa9, 0xe7, 0xfb, 0x65,
0x88, 0x12, 0xcf, 0x77, 0x8b, 0x56, 0x4e, 0x65, 0x92, 0x68, 0x8e, 0xfd, 0x0a, 0x41, 0x55, 0x01, 0x2b, 0xe7, 0x62, 0x13, 0x2b, 0x8e, 0xf5, 0x46, 0x83, 0xba, 0x04, 0x90, 0x03, 0xba, 0x1b, 0x78,
0xd8, 0x01, 0xc3, 0x0d, 0x3c, 0x5d, 0xb5, 0x3d, 0xb0, 0x6f, 0x54, 0x39, 0x27, 0x81, 0xc7, 0x88, 0x2a, 0x6b, 0x77, 0x68, 0x1d, 0x55, 0x39, 0x67, 0x81, 0x47, 0xb1, 0xe4, 0xa1, 0x3e, 0xb4, 0x3d,
0xe2, 0xe1, 0x2e, 0x34, 0x3d, 0x26, 0xdc, 0x68, 0x13, 0xc6, 0xd2, 0x77, 0x59, 0xf9, 0xce, 0x43, 0xca, 0xdd, 0x68, 0x1b, 0xc6, 0xc2, 0x77, 0x55, 0xfa, 0x2e, 0x42, 0x83, 0x67, 0xa0, 0x0b, 0x3e,
0xbd, 0x27, 0x60, 0x48, 0x3e, 0x6e, 0x42, 0x7d, 0x31, 0xfe, 0x7a, 0x3c, 0xf9, 0x76, 0x6c, 0x96, 0x6a, 0x43, 0x73, 0x39, 0xf9, 0x7e, 0x32, 0xfd, 0x71, 0x62, 0x54, 0x50, 0x1f, 0x1e, 0x2e, 0x27,
0x70, 0x17, 0xee, 0x2f, 0xc6, 0xb3, 0xc5, 0x74, 0x3a, 0x21, 0xf3, 0xd3, 0xaf, 0x5e, 0x4c, 0xc9, 0xf3, 0xe5, 0x6c, 0x36, 0xc5, 0x8b, 0xf3, 0xef, 0x5e, 0xcd, 0xf0, 0x74, 0x31, 0x3d, 0x9b, 0xbe,
0x64, 0x3e, 0x39, 0x99, 0x3c, 0x7f, 0x71, 0x7e, 0x4a, 0x66, 0xa3, 0xc9, 0xd8, 0x84, 0xde, 0xcf, 0x7c, 0x75, 0x79, 0x8e, 0xe7, 0xe3, 0xe9, 0xc4, 0x80, 0xc1, 0xef, 0x55, 0xe8, 0xcc, 0x93, 0xd5,
0x65, 0x68, 0xcd, 0x76, 0xcb, 0x43, 0x1d, 0xfc, 0x1c, 0xda, 0x42, 0xc7, 0x4b, 0x36, 0x0b, 0xa9, 0x21, 0x0f, 0x7a, 0x09, 0x5d, 0xae, 0xe2, 0x15, 0x9d, 0x87, 0xc4, 0xcd, 0x4e, 0xf0, 0x51, 0xee,
0x9b, 0x9e, 0xe0, 0x83, 0xcc, 0x63, 0x8e, 0x9e, 0x06, 0x09, 0x97, 0x14, 0xb4, 0x98, 0x80, 0xb9, 0xb1, 0x40, 0xcf, 0x82, 0x94, 0x8b, 0x4b, 0x5a, 0x84, 0xc1, 0x48, 0x58, 0x29, 0x9f, 0xfa, 0xa7,
0xe3, 0x85, 0x7a, 0x7a, 0xa7, 0x3e, 0xbe, 0xb9, 0xde, 0xa2, 0xc0, 0x26, 0x6f, 0xe8, 0xed, 0x87, 0x3e, 0x3f, 0x9e, 0x6f, 0x59, 0x62, 0xe3, 0x77, 0xf4, 0xd6, 0x63, 0xe8, 0xde, 0xae, 0x2a, 0x9e,
0xd0, 0xbe, 0xfe, 0x54, 0xf9, 0xed, 0x16, 0x61, 0x76, 0x2b, 0x1a, 0x24, 0x0d, 0xed, 0x47, 0x60, 0x6e, 0x1e, 0xe6, 0xb7, 0xa2, 0x85, 0xb3, 0xd0, 0x7a, 0x02, 0x46, 0x39, 0xe3, 0xfb, 0xd9, 0x83,
0x16, 0x2b, 0xbe, 0x9d, 0xdd, 0xfb, 0xb7, 0x06, 0xc6, 0x6c, 0xcf, 0xdd, 0xb7, 0x53, 0xf0, 0xe7, 0x9b, 0x3a, 0xe8, 0xf3, 0x3d, 0x73, 0xdf, 0x4f, 0x41, 0x5f, 0x43, 0xf3, 0x4a, 0xdd, 0x8c, 0xb4,
0x50, 0xbf, 0xd0, 0x37, 0x23, 0xe9, 0x23, 0x7f, 0x76, 0xdc, 0x75, 0x4e, 0x02, 0x1e, 0x33, 0x1e, 0x8f, 0xe2, 0xd9, 0x31, 0xd7, 0x39, 0x0b, 0x58, 0x4c, 0x59, 0x7c, 0x49, 0xfc, 0x84, 0xe2, 0x8c,
0x9f, 0x53, 0x7f, 0xc7, 0x48, 0x4a, 0xb5, 0xff, 0x41, 0xd0, 0xca, 0x67, 0xf0, 0x97, 0x00, 0xf2, 0x8a, 0x9e, 0x02, 0x88, 0xb9, 0xa0, 0x2e, 0x71, 0xfa, 0xd4, 0x1a, 0x8e, 0x1c, 0x15, 0x8b, 0x03,
0xc2, 0x2f, 0x42, 0x8f, 0xc6, 0xe9, 0x0e, 0x5b, 0xd7, 0x2b, 0x0d, 0x0f, 0xf9, 0x61, 0x89, 0xe4, 0x8e, 0x0b, 0x1c, 0xf4, 0x31, 0x34, 0x44, 0x34, 0xf6, 0xe4, 0xc5, 0x6c, 0xe1, 0x34, 0xb2, 0xfe,
0xd8, 0xf8, 0x0c, 0x8e, 0x5e, 0xee, 0x7c, 0x5f, 0x92, 0x88, 0xbe, 0xe0, 0x37, 0x5b, 0x39, 0xdb, 0xd3, 0xa0, 0x53, 0xac, 0x81, 0xbe, 0x05, 0x10, 0xa3, 0x63, 0x19, 0x7a, 0x24, 0xce, 0xce, 0xca,
0xf9, 0xbe, 0x93, 0x30, 0x86, 0x25, 0x52, 0x14, 0xe1, 0x11, 0x98, 0x19, 0x24, 0xc2, 0x80, 0x0b, 0xbc, 0xed, 0x69, 0x74, 0xd8, 0x1f, 0x55, 0x70, 0x81, 0x8d, 0x2e, 0xe0, 0xe4, 0x75, 0xe2, 0xfb,
0x96, 0x5c, 0xa8, 0x7b, 0x37, 0x16, 0xd2, 0x94, 0x61, 0x89, 0xbc, 0x21, 0x7b, 0x56, 0x87, 0xea, 0x82, 0x84, 0xd5, 0xa8, 0x38, 0xde, 0xd4, 0x45, 0xe2, 0xfb, 0x4e, 0xca, 0x18, 0x55, 0x70, 0x59,
0x0f, 0xb2, 0x2f, 0xfb, 0x0f, 0x04, 0x90, 0x19, 0xc7, 0x77, 0xa0, 0x2a, 0x8d, 0x0b, 0x0b, 0x75, 0x84, 0xc6, 0x60, 0xe4, 0x10, 0x0f, 0x03, 0xc6, 0x69, 0xda, 0xe4, 0x83, 0xa3, 0x89, 0x14, 0x65,
0x2b, 0xfd, 0x06, 0xd1, 0x01, 0xee, 0x43, 0x3d, 0x19, 0xab, 0x56, 0xb9, 0x5b, 0xe9, 0x37, 0x07, 0x54, 0xc1, 0xef, 0xc8, 0x5e, 0x34, 0xa1, 0xfe, 0x8b, 0xe8, 0xcb, 0x0a, 0x01, 0x72, 0xdf, 0xe8,
0x6d, 0x87, 0xba, 0xbe, 0x43, 0xe8, 0x8f, 0x27, 0x0a, 0x26, 0x69, 0x1a, 0xbf, 0x0f, 0x35, 0x39, 0x1e, 0xd4, 0x85, 0x6f, 0x6e, 0x6a, 0xfd, 0x9a, 0xdd, 0xc2, 0x2a, 0x40, 0x36, 0x34, 0xd3, 0xf9,
0x4f, 0x93, 0xa9, 0xd5, 0x20, 0x49, 0x84, 0x7b, 0xd0, 0x12, 0x9c, 0x86, 0x62, 0x1d, 0xc4, 0x53, 0x6c, 0x56, 0xfb, 0x35, 0xbb, 0x3d, 0xec, 0x3a, 0xc4, 0xf5, 0x1d, 0x4c, 0x7e, 0x3d, 0x93, 0x30,
0x1a, 0xaf, 0x2d, 0x43, 0x95, 0xbf, 0x86, 0xe1, 0xc7, 0x00, 0x92, 0xad, 0x07, 0xa7, 0x9a, 0x57, 0xce, 0xb6, 0xd1, 0x00, 0x3a, 0x9c, 0x91, 0x90, 0x6f, 0x82, 0x78, 0x46, 0xe2, 0x8d, 0x59, 0x93,
0xcd, 0x81, 0xe9, 0xa8, 0xf1, 0x3c, 0x3f, 0xe0, 0x24, 0xc7, 0xb1, 0xff, 0x2b, 0x83, 0x21, 0x7b, 0x69, 0x6e, 0x61, 0xd6, 0xbf, 0x1a, 0xe8, 0xc2, 0xa0, 0x75, 0x05, 0xcd, 0xac, 0xb3, 0x0f, 0x51,
0xb5, 0x7f, 0x43, 0x50, 0x4f, 0x77, 0xe9, 0xdd, 0x6a, 0xe1, 0x77, 0x04, 0xb7, 0xd2, 0x53, 0x79, 0x97, 0xc1, 0x9d, 0xac, 0xfd, 0x0f, 0x51, 0xef, 0xf1, 0x25, 0xb4, 0x0b, 0xc3, 0x1d, 0xdd, 0x87,
0xb7, 0xac, 0x3f, 0x3c, 0x87, 0x66, 0xee, 0x37, 0x07, 0xdf, 0x85, 0xf7, 0x72, 0xa1, 0x9e, 0x8b, 0x8f, 0x0a, 0xa1, 0x1a, 0x40, 0x46, 0x05, 0x3d, 0x80, 0x4f, 0x8a, 0x70, 0xe1, 0x8e, 0x1a, 0x1a,
0x66, 0x09, 0xdf, 0x83, 0x0f, 0xf2, 0x70, 0x6e, 0x74, 0x98, 0x08, 0xdf, 0x86, 0xa3, 0x6b, 0x1a, 0xba, 0x0b, 0x27, 0xb7, 0x34, 0xcc, 0x35, 0xaa, 0x2f, 0x1e, 0xfd, 0x75, 0xdd, 0xd3, 0xde, 0x5e,
0xee, 0x9a, 0xe5, 0x67, 0x0f, 0xfe, 0xbc, 0xec, 0xa0, 0xd7, 0x97, 0x1d, 0xf4, 0xf7, 0x65, 0x07, 0xf7, 0xb4, 0x7f, 0xae, 0x7b, 0xda, 0x9b, 0x9b, 0x5e, 0xe5, 0xed, 0x4d, 0xaf, 0xf2, 0xf7, 0x4d,
0xbd, 0xba, 0xea, 0x94, 0x5e, 0x5f, 0x75, 0x4a, 0x7f, 0x5d, 0x75, 0x4a, 0xdf, 0xc1, 0xf1, 0xe1, 0xaf, 0xf2, 0x13, 0x9c, 0x1e, 0x5e, 0xc7, 0xab, 0x86, 0xfc, 0xf9, 0xea, 0xff, 0x00, 0x00, 0x00,
0x5f, 0xc2, 0xb2, 0xa6, 0x3e, 0x3e, 0xfb, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x7a, 0xad, 0xe7, 0x46, 0xff, 0xff, 0x6a, 0x04, 0xc0, 0x87, 0xa2, 0x07, 0x00, 0x00,
0x39, 0x08, 0x00, 0x00,
} }
func (m *Message) Marshal() (dAtA []byte, err error) { func (m *Message) Marshal() (dAtA []byte, err error) {
@ -1494,6 +1461,25 @@ func (m *Sync) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i _ = i
var l int var l int
_ = l _ = l
if len(m.TreeId) > 0 {
i -= len(m.TreeId)
copy(dAtA[i:], m.TreeId)
i = encodeVarintSync(dAtA, i, uint64(len(m.TreeId)))
i--
dAtA[i] = 0x22
}
if m.TreeHeader != nil {
{
size, err := m.TreeHeader.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintSync(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x1a
}
if m.Message != nil { if m.Message != nil {
{ {
size, err := m.Message.MarshalToSizedBuffer(dAtA[:i]) size, err := m.Message.MarshalToSizedBuffer(dAtA[:i])
@ -1631,34 +1617,15 @@ func (m *SyncHeadUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i _ = i
var l int var l int
_ = l _ = l
if m.TreeHeader != nil {
{
size, err := m.TreeHeader.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintSync(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x2a
}
if len(m.SnapshotPath) > 0 { if len(m.SnapshotPath) > 0 {
for iNdEx := len(m.SnapshotPath) - 1; iNdEx >= 0; iNdEx-- { for iNdEx := len(m.SnapshotPath) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.SnapshotPath[iNdEx]) i -= len(m.SnapshotPath[iNdEx])
copy(dAtA[i:], m.SnapshotPath[iNdEx]) copy(dAtA[i:], m.SnapshotPath[iNdEx])
i = encodeVarintSync(dAtA, i, uint64(len(m.SnapshotPath[iNdEx]))) i = encodeVarintSync(dAtA, i, uint64(len(m.SnapshotPath[iNdEx])))
i-- i--
dAtA[i] = 0x22 dAtA[i] = 0x1a
} }
} }
if len(m.TreeId) > 0 {
i -= len(m.TreeId)
copy(dAtA[i:], m.TreeId)
i = encodeVarintSync(dAtA, i, uint64(len(m.TreeId)))
i--
dAtA[i] = 0x1a
}
if len(m.Changes) > 0 { if len(m.Changes) > 0 {
for iNdEx := len(m.Changes) - 1; iNdEx >= 0; iNdEx-- { for iNdEx := len(m.Changes) - 1; iNdEx >= 0; iNdEx-- {
{ {
@ -1728,34 +1695,15 @@ func (m *SyncFullRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i _ = i
var l int var l int
_ = l _ = l
if m.TreeHeader != nil {
{
size, err := m.TreeHeader.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintSync(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x2a
}
if len(m.SnapshotPath) > 0 { if len(m.SnapshotPath) > 0 {
for iNdEx := len(m.SnapshotPath) - 1; iNdEx >= 0; iNdEx-- { for iNdEx := len(m.SnapshotPath) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.SnapshotPath[iNdEx]) i -= len(m.SnapshotPath[iNdEx])
copy(dAtA[i:], m.SnapshotPath[iNdEx]) copy(dAtA[i:], m.SnapshotPath[iNdEx])
i = encodeVarintSync(dAtA, i, uint64(len(m.SnapshotPath[iNdEx]))) i = encodeVarintSync(dAtA, i, uint64(len(m.SnapshotPath[iNdEx])))
i-- i--
dAtA[i] = 0x22 dAtA[i] = 0x1a
} }
} }
if len(m.TreeId) > 0 {
i -= len(m.TreeId)
copy(dAtA[i:], m.TreeId)
i = encodeVarintSync(dAtA, i, uint64(len(m.TreeId)))
i--
dAtA[i] = 0x1a
}
if len(m.Changes) > 0 { if len(m.Changes) > 0 {
for iNdEx := len(m.Changes) - 1; iNdEx >= 0; iNdEx-- { for iNdEx := len(m.Changes) - 1; iNdEx >= 0; iNdEx-- {
{ {
@ -1802,34 +1750,15 @@ func (m *SyncFullResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i _ = i
var l int var l int
_ = l _ = l
if m.TreeHeader != nil {
{
size, err := m.TreeHeader.MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintSync(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x2a
}
if len(m.SnapshotPath) > 0 { if len(m.SnapshotPath) > 0 {
for iNdEx := len(m.SnapshotPath) - 1; iNdEx >= 0; iNdEx-- { for iNdEx := len(m.SnapshotPath) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.SnapshotPath[iNdEx]) i -= len(m.SnapshotPath[iNdEx])
copy(dAtA[i:], m.SnapshotPath[iNdEx]) copy(dAtA[i:], m.SnapshotPath[iNdEx])
i = encodeVarintSync(dAtA, i, uint64(len(m.SnapshotPath[iNdEx]))) i = encodeVarintSync(dAtA, i, uint64(len(m.SnapshotPath[iNdEx])))
i-- i--
dAtA[i] = 0x22 dAtA[i] = 0x1a
} }
} }
if len(m.TreeId) > 0 {
i -= len(m.TreeId)
copy(dAtA[i:], m.TreeId)
i = encodeVarintSync(dAtA, i, uint64(len(m.TreeId)))
i--
dAtA[i] = 0x1a
}
if len(m.Changes) > 0 { if len(m.Changes) > 0 {
for iNdEx := len(m.Changes) - 1; iNdEx >= 0; iNdEx-- { for iNdEx := len(m.Changes) - 1; iNdEx >= 0; iNdEx-- {
{ {
@ -2042,6 +1971,14 @@ func (m *Sync) Size() (n int) {
l = m.Message.Size() l = m.Message.Size()
n += 1 + l + sovSync(uint64(l)) n += 1 + l + sovSync(uint64(l))
} }
if m.TreeHeader != nil {
l = m.TreeHeader.Size()
n += 1 + l + sovSync(uint64(l))
}
l = len(m.TreeId)
if l > 0 {
n += 1 + l + sovSync(uint64(l))
}
return n return n
} }
@ -2111,20 +2048,12 @@ func (m *SyncHeadUpdate) Size() (n int) {
n += 1 + l + sovSync(uint64(l)) n += 1 + l + sovSync(uint64(l))
} }
} }
l = len(m.TreeId)
if l > 0 {
n += 1 + l + sovSync(uint64(l))
}
if len(m.SnapshotPath) > 0 { if len(m.SnapshotPath) > 0 {
for _, s := range m.SnapshotPath { for _, s := range m.SnapshotPath {
l = len(s) l = len(s)
n += 1 + l + sovSync(uint64(l)) n += 1 + l + sovSync(uint64(l))
} }
} }
if m.TreeHeader != nil {
l = m.TreeHeader.Size()
n += 1 + l + sovSync(uint64(l))
}
return n return n
} }
@ -2155,20 +2084,12 @@ func (m *SyncFullRequest) Size() (n int) {
n += 1 + l + sovSync(uint64(l)) n += 1 + l + sovSync(uint64(l))
} }
} }
l = len(m.TreeId)
if l > 0 {
n += 1 + l + sovSync(uint64(l))
}
if len(m.SnapshotPath) > 0 { if len(m.SnapshotPath) > 0 {
for _, s := range m.SnapshotPath { for _, s := range m.SnapshotPath {
l = len(s) l = len(s)
n += 1 + l + sovSync(uint64(l)) n += 1 + l + sovSync(uint64(l))
} }
} }
if m.TreeHeader != nil {
l = m.TreeHeader.Size()
n += 1 + l + sovSync(uint64(l))
}
return n return n
} }
@ -2190,20 +2111,12 @@ func (m *SyncFullResponse) Size() (n int) {
n += 1 + l + sovSync(uint64(l)) n += 1 + l + sovSync(uint64(l))
} }
} }
l = len(m.TreeId)
if l > 0 {
n += 1 + l + sovSync(uint64(l))
}
if len(m.SnapshotPath) > 0 { if len(m.SnapshotPath) > 0 {
for _, s := range m.SnapshotPath { for _, s := range m.SnapshotPath {
l = len(s) l = len(s)
n += 1 + l + sovSync(uint64(l)) n += 1 + l + sovSync(uint64(l))
} }
} }
if m.TreeHeader != nil {
l = m.TreeHeader.Size()
n += 1 + l + sovSync(uint64(l))
}
return n return n
} }
@ -3385,6 +3298,74 @@ func (m *Sync) Unmarshal(dAtA []byte) error {
return err return err
} }
iNdEx = postIndex iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field TreeHeader", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSync
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthSync
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthSync
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.TreeHeader == nil {
m.TreeHeader = &treepb.TreeHeader{}
}
if err := m.TreeHeader.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field TreeId", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSync
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthSync
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthSync
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.TreeId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex
skippy, err := skipSync(dAtA[iNdEx:]) skippy, err := skipSync(dAtA[iNdEx:])
@ -3657,38 +3638,6 @@ func (m *SyncHeadUpdate) Unmarshal(dAtA []byte) error {
} }
iNdEx = postIndex iNdEx = postIndex
case 3: case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field TreeId", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSync
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthSync
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthSync
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.TreeId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 4:
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field SnapshotPath", wireType) return fmt.Errorf("proto: wrong wireType = %d for field SnapshotPath", wireType)
} }
@ -3720,42 +3669,6 @@ func (m *SyncHeadUpdate) Unmarshal(dAtA []byte) error {
} }
m.SnapshotPath = append(m.SnapshotPath, string(dAtA[iNdEx:postIndex])) m.SnapshotPath = append(m.SnapshotPath, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex iNdEx = postIndex
case 5:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field TreeHeader", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSync
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthSync
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthSync
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.TreeHeader == nil {
m.TreeHeader = &treepb.TreeHeader{}
}
if err := m.TreeHeader.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex
skippy, err := skipSync(dAtA[iNdEx:]) skippy, err := skipSync(dAtA[iNdEx:])
@ -3923,38 +3836,6 @@ func (m *SyncFullRequest) Unmarshal(dAtA []byte) error {
} }
iNdEx = postIndex iNdEx = postIndex
case 3: case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field TreeId", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSync
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthSync
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthSync
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.TreeId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 4:
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field SnapshotPath", wireType) return fmt.Errorf("proto: wrong wireType = %d for field SnapshotPath", wireType)
} }
@ -3986,42 +3867,6 @@ func (m *SyncFullRequest) Unmarshal(dAtA []byte) error {
} }
m.SnapshotPath = append(m.SnapshotPath, string(dAtA[iNdEx:postIndex])) m.SnapshotPath = append(m.SnapshotPath, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex iNdEx = postIndex
case 5:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field TreeHeader", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSync
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthSync
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthSync
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.TreeHeader == nil {
m.TreeHeader = &treepb.TreeHeader{}
}
if err := m.TreeHeader.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex
skippy, err := skipSync(dAtA[iNdEx:]) skippy, err := skipSync(dAtA[iNdEx:])
@ -4139,38 +3984,6 @@ func (m *SyncFullResponse) Unmarshal(dAtA []byte) error {
} }
iNdEx = postIndex iNdEx = postIndex
case 3: case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field TreeId", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSync
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthSync
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthSync
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.TreeId = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 4:
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field SnapshotPath", wireType) return fmt.Errorf("proto: wrong wireType = %d for field SnapshotPath", wireType)
} }
@ -4202,42 +4015,6 @@ func (m *SyncFullResponse) Unmarshal(dAtA []byte) error {
} }
m.SnapshotPath = append(m.SnapshotPath, string(dAtA[iNdEx:postIndex])) m.SnapshotPath = append(m.SnapshotPath, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex iNdEx = postIndex
case 5:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field TreeHeader", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowSync
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthSync
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthSync
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.TreeHeader == nil {
m.TreeHeader = &treepb.TreeHeader{}
}
if err := m.TreeHeader.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex
skippy, err := skipSync(dAtA[iNdEx:]) skippy, err := skipSync(dAtA[iNdEx:])