Update any-sync new deletion logic
This commit is contained in:
parent
8a38d54192
commit
73b27c7dac
@ -76,6 +76,9 @@ type ObjectTree interface {
|
||||
AddContent(ctx context.Context, content SignableChangeContent) (AddResult, error)
|
||||
AddRawChanges(ctx context.Context, changes RawChangesPayload) (AddResult, error)
|
||||
|
||||
UnpackChange(raw *treechangeproto.RawTreeChangeWithId) (data []byte, err error)
|
||||
PrepareChange(content SignableChangeContent) (res *treechangeproto.RawTreeChangeWithId, err error)
|
||||
|
||||
Delete() error
|
||||
Close() error
|
||||
}
|
||||
@ -191,6 +194,24 @@ func (ot *objectTree) AddContent(ctx context.Context, content SignableChangeCont
|
||||
return
|
||||
}
|
||||
|
||||
func (ot *objectTree) UnpackChange(raw *treechangeproto.RawTreeChangeWithId) (data []byte, err error) {
|
||||
unmarshalled, err := ot.changeBuilder.Unmarshall(raw, true)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
data = unmarshalled.Data
|
||||
return
|
||||
}
|
||||
|
||||
func (ot *objectTree) PrepareChange(content SignableChangeContent) (res *treechangeproto.RawTreeChangeWithId, err error) {
|
||||
payload, err := ot.prepareBuilderContent(content)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
_, res, err = ot.changeBuilder.Build(payload)
|
||||
return
|
||||
}
|
||||
|
||||
func (ot *objectTree) prepareBuilderContent(content SignableChangeContent) (cnt BuilderContent, err error) {
|
||||
ot.aclList.RLock()
|
||||
defer ot.aclList.RUnlock()
|
||||
|
||||
@ -3,6 +3,7 @@ package settings
|
||||
import (
|
||||
"github.com/anytypeio/any-sync/commonspace/object/treegetter"
|
||||
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate"
|
||||
"github.com/anytypeio/any-sync/util/slice"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -20,12 +21,16 @@ type DeletionManager interface {
|
||||
|
||||
func newDeletionManager(
|
||||
spaceId string,
|
||||
settingsId string,
|
||||
isResponsible bool,
|
||||
deletionInterval time.Duration,
|
||||
deletionState settingsstate.ObjectDeletionState,
|
||||
provider SpaceIdsProvider,
|
||||
onSpaceDelete func()) DeletionManager {
|
||||
return &deletionManager{
|
||||
isResponsible: isResponsible,
|
||||
spaceId: spaceId,
|
||||
settingsId: settingsId,
|
||||
deletionState: deletionState,
|
||||
provider: provider,
|
||||
deletionInterval: deletionInterval,
|
||||
@ -39,6 +44,8 @@ type deletionManager struct {
|
||||
treeGetter treegetter.TreeGetter
|
||||
deletionInterval time.Duration
|
||||
spaceId string
|
||||
settingsId string
|
||||
isResponsible bool
|
||||
onSpaceDelete func()
|
||||
}
|
||||
|
||||
@ -47,15 +54,18 @@ func (d *deletionManager) UpdateState(state *settingsstate.State) (err error) {
|
||||
if err != nil {
|
||||
log.Warn("failed to add deleted ids to deletion state")
|
||||
}
|
||||
if !state.SpaceDeletionDate.IsZero() {
|
||||
|
||||
if state.DeleterId != "" {
|
||||
spaceDeleter, ok := d.treeGetter.(SpaceDeleter)
|
||||
if ok {
|
||||
spaceDeleter.DeleteSpace(d.spaceId)
|
||||
}
|
||||
if state.SpaceDeletionDate.Add(d.deletionInterval).Before(time.Now()) {
|
||||
err = d.deletionState.Add(d.provider.AllIds()) // todo: except deletion tree
|
||||
// todo: compaction in pogreb
|
||||
d.onSpaceDelete()
|
||||
if d.isResponsible {
|
||||
allIds := slice.DiscardFromSlice(d.provider.AllIds(), func(s string) bool {
|
||||
return s == d.settingsId
|
||||
})
|
||||
err = d.deletionState.Add(allIds)
|
||||
}
|
||||
}
|
||||
return
|
||||
|
||||
@ -9,10 +9,15 @@ import (
|
||||
"github.com/anytypeio/any-sync/commonspace/object/tree/objecttree"
|
||||
"github.com/anytypeio/any-sync/commonspace/object/tree/synctree"
|
||||
"github.com/anytypeio/any-sync/commonspace/object/tree/synctree/updatelistener"
|
||||
"github.com/anytypeio/any-sync/commonspace/object/tree/treechangeproto"
|
||||
"github.com/anytypeio/any-sync/commonspace/object/treegetter"
|
||||
"github.com/anytypeio/any-sync/commonspace/settings/settingsstate"
|
||||
spacestorage "github.com/anytypeio/any-sync/commonspace/spacestorage"
|
||||
"github.com/anytypeio/any-sync/commonspace/spacesyncproto"
|
||||
"github.com/anytypeio/any-sync/nodeconf"
|
||||
"github.com/gogo/protobuf/proto"
|
||||
"go.uber.org/zap"
|
||||
"golang.org/x/exp/slices"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -24,16 +29,16 @@ type SettingsObject interface {
|
||||
synctree.SyncTree
|
||||
Init(ctx context.Context) (err error)
|
||||
DeleteObject(id string) (err error)
|
||||
DeleteSpace(t time.Time) (err error)
|
||||
RestoreSpace() (err error)
|
||||
DeleteSpace(ctx context.Context, deleterId string, raw *treechangeproto.RawTreeChangeWithId) (err error)
|
||||
SpaceDeleteRawChange(deleterId string) (raw *treechangeproto.RawTreeChangeWithId, err error)
|
||||
}
|
||||
|
||||
var (
|
||||
ErrDeleteSelf = errors.New("cannot delete self")
|
||||
ErrAlreadyDeleted = errors.New("the object is already deleted")
|
||||
ErrObjDoesNotExist = errors.New("the object does not exist")
|
||||
ErrMarkedDeleted = errors.New("this space is already marked deleted")
|
||||
ErrMarkedNotDeleted = errors.New("this space is not marked not deleted")
|
||||
ErrCantDeleteSpace = errors.New("not able to delete space")
|
||||
ErrIncorrectDeleteChange = errors.New("incorrect delete change")
|
||||
)
|
||||
|
||||
type BuildTreeFunc func(ctx context.Context, id string, listener updatelistener.UpdateListener) (t synctree.SyncTree, err error)
|
||||
@ -43,6 +48,7 @@ type Deps struct {
|
||||
Account accountservice.Service
|
||||
TreeGetter treegetter.TreeGetter
|
||||
Store spacestorage.SpaceStorage
|
||||
Configuration nodeconf.Configuration
|
||||
DeletionState settingsstate.ObjectDeletionState
|
||||
Provider SpaceIdsProvider
|
||||
OnSpaceDelete func()
|
||||
@ -82,7 +88,14 @@ func NewSettingsObject(deps Deps, spaceId string) (obj SettingsObject) {
|
||||
deleter = deps.del
|
||||
}
|
||||
if deps.delManager == nil {
|
||||
deletionManager = newDeletionManager(spaceId, spaceDeletionInterval, deps.DeletionState, deps.Provider, deps.OnSpaceDelete)
|
||||
deletionManager = newDeletionManager(
|
||||
spaceId,
|
||||
deps.Store.SpaceSettingsId(),
|
||||
deps.Configuration.IsResponsible(spaceId),
|
||||
spaceDeletionInterval,
|
||||
deps.DeletionState,
|
||||
deps.Provider,
|
||||
deps.OnSpaceDelete)
|
||||
} else {
|
||||
deletionManager = deps.delManager
|
||||
}
|
||||
@ -160,36 +173,39 @@ func (s *settingsObject) Close() error {
|
||||
return s.SyncTree.Close()
|
||||
}
|
||||
|
||||
func (s *settingsObject) DeleteSpace(t time.Time) (err error) {
|
||||
func (s *settingsObject) DeleteSpace(ctx context.Context, deleterId string, raw *treechangeproto.RawTreeChangeWithId) (err error) {
|
||||
s.Lock()
|
||||
defer s.Unlock()
|
||||
if !s.state.SpaceDeletionDate.IsZero() {
|
||||
return ErrMarkedDeleted
|
||||
}
|
||||
|
||||
// TODO: add snapshot logic
|
||||
res, err := s.changeFactory.CreateSpaceDeleteChange(t, s.state, false)
|
||||
err = s.verifyDeleteSpace(deleterId, raw)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return s.addContent(res)
|
||||
res, err := s.AddRawChanges(ctx, objecttree.RawChangesPayload{
|
||||
NewHeads: []string{raw.Id},
|
||||
RawChanges: []*treechangeproto.RawTreeChangeWithId{raw},
|
||||
})
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if !slices.Contains(res.Heads, raw.Id) {
|
||||
return ErrCantDeleteSpace
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (s *settingsObject) RestoreSpace() (err error) {
|
||||
s.Lock()
|
||||
defer s.Unlock()
|
||||
if s.state.SpaceDeletionDate.IsZero() {
|
||||
return ErrMarkedNotDeleted
|
||||
}
|
||||
|
||||
// TODO: add snapshot logic
|
||||
res, err := s.changeFactory.CreateSpaceRestoreChange(s.state, false)
|
||||
func (s *settingsObject) SpaceDeleteRawChange(deleterId string) (raw *treechangeproto.RawTreeChangeWithId, err error) {
|
||||
data, err := s.changeFactory.CreateSpaceDeleteChange(deleterId, s.state, false)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return s.addContent(res)
|
||||
accountData := s.account.Account()
|
||||
return s.PrepareChange(objecttree.SignableChangeContent{
|
||||
Data: data,
|
||||
Key: accountData.SignKey,
|
||||
Identity: accountData.Identity,
|
||||
IsSnapshot: false,
|
||||
IsEncrypted: false,
|
||||
})
|
||||
}
|
||||
|
||||
func (s *settingsObject) DeleteObject(id string) (err error) {
|
||||
@ -218,6 +234,24 @@ func (s *settingsObject) DeleteObject(id string) (err error) {
|
||||
return s.addContent(res)
|
||||
}
|
||||
|
||||
func (s *settingsObject) verifyDeleteSpace(peerId string, raw *treechangeproto.RawTreeChangeWithId) (err error) {
|
||||
data, err := s.UnpackChange(raw)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
content := &spacesyncproto.SettingsData{}
|
||||
err = proto.Unmarshal(data, content)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if len(content.GetContent()) != 1 ||
|
||||
content.GetContent()[0].GetSpaceDelete() == nil ||
|
||||
content.GetContent()[0].GetSpaceDelete().GetDeleterPeerId() != peerId {
|
||||
return ErrIncorrectDeleteChange
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (s *settingsObject) addContent(data []byte) (err error) {
|
||||
accountData := s.account.Account()
|
||||
_, err = s.AddContent(context.Background(), objecttree.SignableChangeContent{
|
||||
|
||||
@ -2,13 +2,11 @@ package settingsstate
|
||||
|
||||
import (
|
||||
"github.com/anytypeio/any-sync/commonspace/spacesyncproto"
|
||||
"time"
|
||||
)
|
||||
|
||||
type ChangeFactory interface {
|
||||
CreateObjectDeleteChange(id string, state *State, isSnapshot bool) (res []byte, err error)
|
||||
CreateSpaceDeleteChange(t time.Time, state *State, isSnapshot bool) (res []byte, err error)
|
||||
CreateSpaceRestoreChange(state *State, isSnapshot bool) (res []byte, err error)
|
||||
CreateSpaceDeleteChange(peerId string, state *State, isSnapshot bool) (res []byte, err error)
|
||||
}
|
||||
|
||||
func NewChangeFactory() ChangeFactory {
|
||||
@ -33,24 +31,9 @@ func (c *changeFactory) CreateObjectDeleteChange(id string, state *State, isSnap
|
||||
return
|
||||
}
|
||||
|
||||
func (c *changeFactory) CreateSpaceDeleteChange(t time.Time, state *State, isSnapshot bool) (res []byte, err error) {
|
||||
func (c *changeFactory) CreateSpaceDeleteChange(peerId string, state *State, isSnapshot bool) (res []byte, err error) {
|
||||
content := &spacesyncproto.SpaceSettingsContent_SpaceDelete{
|
||||
SpaceDelete: &spacesyncproto.SpaceDelete{Timestamp: t.UnixNano()},
|
||||
}
|
||||
change := &spacesyncproto.SettingsData{
|
||||
Content: []*spacesyncproto.SpaceSettingsContent{
|
||||
{Value: content},
|
||||
},
|
||||
Snapshot: nil,
|
||||
}
|
||||
// TODO: add snapshot logic
|
||||
res, err = change.Marshal()
|
||||
return
|
||||
}
|
||||
|
||||
func (c *changeFactory) CreateSpaceRestoreChange(state *State, isSnapshot bool) (res []byte, err error) {
|
||||
content := &spacesyncproto.SpaceSettingsContent_SpaceDelete{
|
||||
SpaceDelete: &spacesyncproto.SpaceDelete{},
|
||||
SpaceDelete: &spacesyncproto.SpaceDelete{DeleterPeerId: peerId},
|
||||
}
|
||||
change := &spacesyncproto.SettingsData{
|
||||
Content: []*spacesyncproto.SpaceSettingsContent{
|
||||
|
||||
@ -1,9 +1,7 @@
|
||||
package settingsstate
|
||||
|
||||
import "time"
|
||||
|
||||
type State struct {
|
||||
DeletedIds []string
|
||||
SpaceDeletionDate time.Time
|
||||
DeleterId string
|
||||
LastIteratedId string
|
||||
}
|
||||
|
||||
@ -4,7 +4,6 @@ import (
|
||||
"github.com/anytypeio/any-sync/commonspace/object/tree/objecttree"
|
||||
"github.com/anytypeio/any-sync/commonspace/spacesyncproto"
|
||||
"github.com/gogo/protobuf/proto"
|
||||
"time"
|
||||
)
|
||||
|
||||
type StateBuilder interface {
|
||||
@ -60,7 +59,7 @@ func (s *stateBuilder) processChange(change *objecttree.Change, rootId, startId
|
||||
if change.Id == rootId {
|
||||
state = &State{
|
||||
DeletedIds: deleteChange.Snapshot.DeletedIds,
|
||||
SpaceDeletionDate: time.Unix(0, deleteChange.Snapshot.SpaceDeletionTimestamp),
|
||||
DeleterId: deleteChange.Snapshot.DeleterPeerId,
|
||||
LastIteratedId: rootId,
|
||||
}
|
||||
return state
|
||||
@ -72,7 +71,7 @@ func (s *stateBuilder) processChange(change *objecttree.Change, rootId, startId
|
||||
case cnt.GetObjectDelete() != nil:
|
||||
state.DeletedIds = append(state.DeletedIds, cnt.GetObjectDelete().GetId())
|
||||
case cnt.GetSpaceDelete() != nil:
|
||||
state.SpaceDeletionDate = time.Unix(0, cnt.GetSpaceDelete().GetTimestamp())
|
||||
state.DeleterId = cnt.GetSpaceDelete().GetDeleterPeerId()
|
||||
}
|
||||
}
|
||||
return state
|
||||
|
||||
@ -99,8 +99,8 @@ type Space interface {
|
||||
DeleteTree(ctx context.Context, id string) (err error)
|
||||
BuildHistoryTree(ctx context.Context, id string, opts HistoryTreeOpts) (t objecttree.HistoryTree, err error)
|
||||
|
||||
DeleteSpace(ctx context.Context, t time.Time) (err error)
|
||||
RestoreSpace(ctx context.Context) (err error)
|
||||
SpaceDeleteRawChange(ctx context.Context, deleterPeer string) (raw *treechangeproto.RawTreeChangeWithId, err error)
|
||||
DeleteSpace(ctx context.Context, deleterPeer string, deleteChange *treechangeproto.RawTreeChangeWithId) (err error)
|
||||
|
||||
HeadSync() headsync.HeadSync
|
||||
ObjectSync() objectsync.ObjectSync
|
||||
@ -213,6 +213,7 @@ func (s *space) Init(ctx context.Context) (err error) {
|
||||
Store: s.storage,
|
||||
DeletionState: deletionState,
|
||||
Provider: s.headSync,
|
||||
Configuration: s.configuration,
|
||||
OnSpaceDelete: s.onSpaceDelete,
|
||||
}
|
||||
s.settingsObject = settings.NewSettingsObject(deps, s.id)
|
||||
@ -368,12 +369,12 @@ func (s *space) DeleteTree(ctx context.Context, id string) (err error) {
|
||||
return s.settingsObject.DeleteObject(id)
|
||||
}
|
||||
|
||||
func (s *space) DeleteSpace(ctx context.Context, t time.Time) (err error) {
|
||||
return s.settingsObject.DeleteSpace(t)
|
||||
func (s *space) SpaceDeleteRawChange(ctx context.Context, deleterPeer string) (raw *treechangeproto.RawTreeChangeWithId, err error) {
|
||||
return s.settingsObject.SpaceDeleteRawChange(deleterPeer)
|
||||
}
|
||||
|
||||
func (s *space) RestoreSpace(ctx context.Context) (err error) {
|
||||
return s.settingsObject.RestoreSpace()
|
||||
func (s *space) DeleteSpace(ctx context.Context, deleterPeer string, deleteChange *treechangeproto.RawTreeChangeWithId) (err error) {
|
||||
return s.settingsObject.DeleteSpace(ctx, deleterPeer, deleteChange)
|
||||
}
|
||||
|
||||
func (s *space) HandleMessage(ctx context.Context, hm HandleMessage) (err error) {
|
||||
|
||||
@ -124,15 +124,15 @@ message ObjectDelete {
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
// SpaceDelete is a message containing timestamp when space was deleted
|
||||
// SpaceDelete is a message containing deleter peer id
|
||||
message SpaceDelete {
|
||||
int64 timestamp = 1;
|
||||
string deleterPeerId = 1;
|
||||
}
|
||||
|
||||
// SpaceSettingsSnapshot contains all the deleted ids in a snapshot
|
||||
message SpaceSettingsSnapshot {
|
||||
repeated string deletedIds = 1;
|
||||
int64 spaceDeletionTimestamp = 2;
|
||||
string deleterPeerId = 2;
|
||||
}
|
||||
|
||||
// SettingsData contains ObjectTree change payload
|
||||
|
||||
@ -999,9 +999,9 @@ func (m *ObjectDelete) GetId() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
// SpaceDelete is a message containing timestamp when space was deleted
|
||||
// SpaceDelete is a message containing deleter peer id
|
||||
type SpaceDelete struct {
|
||||
Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
||||
DeleterPeerId string `protobuf:"bytes,1,opt,name=deleterPeerId,proto3" json:"deleterPeerId,omitempty"`
|
||||
}
|
||||
|
||||
func (m *SpaceDelete) Reset() { *m = SpaceDelete{} }
|
||||
@ -1037,17 +1037,17 @@ func (m *SpaceDelete) XXX_DiscardUnknown() {
|
||||
|
||||
var xxx_messageInfo_SpaceDelete proto.InternalMessageInfo
|
||||
|
||||
func (m *SpaceDelete) GetTimestamp() int64 {
|
||||
func (m *SpaceDelete) GetDeleterPeerId() string {
|
||||
if m != nil {
|
||||
return m.Timestamp
|
||||
return m.DeleterPeerId
|
||||
}
|
||||
return 0
|
||||
return ""
|
||||
}
|
||||
|
||||
// SpaceSettingsSnapshot contains all the deleted ids in a snapshot
|
||||
type SpaceSettingsSnapshot struct {
|
||||
DeletedIds []string `protobuf:"bytes,1,rep,name=deletedIds,proto3" json:"deletedIds,omitempty"`
|
||||
SpaceDeletionTimestamp int64 `protobuf:"varint,2,opt,name=spaceDeletionTimestamp,proto3" json:"spaceDeletionTimestamp,omitempty"`
|
||||
DeleterPeerId string `protobuf:"bytes,2,opt,name=deleterPeerId,proto3" json:"deleterPeerId,omitempty"`
|
||||
}
|
||||
|
||||
func (m *SpaceSettingsSnapshot) Reset() { *m = SpaceSettingsSnapshot{} }
|
||||
@ -1090,11 +1090,11 @@ func (m *SpaceSettingsSnapshot) GetDeletedIds() []string {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *SpaceSettingsSnapshot) GetSpaceDeletionTimestamp() int64 {
|
||||
func (m *SpaceSettingsSnapshot) GetDeleterPeerId() string {
|
||||
if m != nil {
|
||||
return m.SpaceDeletionTimestamp
|
||||
return m.DeleterPeerId
|
||||
}
|
||||
return 0
|
||||
return ""
|
||||
}
|
||||
|
||||
// SettingsData contains ObjectTree change payload
|
||||
@ -1232,71 +1232,71 @@ func init() {
|
||||
}
|
||||
|
||||
var fileDescriptor_80e49f1f4ac27799 = []byte{
|
||||
// 1021 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcd, 0x6f, 0x1b, 0x45,
|
||||
0x14, 0xf7, 0x6e, 0xdc, 0x24, 0x7e, 0x71, 0x9c, 0xed, 0x34, 0x6d, 0x8d, 0x1b, 0xb9, 0xd6, 0x1c,
|
||||
0x50, 0x54, 0xa4, 0x7e, 0xb8, 0x08, 0xa9, 0x05, 0x0e, 0x6d, 0xe2, 0x52, 0x0b, 0x95, 0x44, 0xe3,
|
||||
0x56, 0x48, 0x48, 0x1c, 0x26, 0xbb, 0x13, 0x7b, 0x61, 0x3d, 0xb3, 0xec, 0x8c, 0x49, 0x7c, 0xe4,
|
||||
0xc4, 0x95, 0x33, 0x9c, 0xf8, 0x1f, 0xf8, 0x23, 0x38, 0xf6, 0xc8, 0x11, 0x25, 0xff, 0x08, 0x9a,
|
||||
0xd9, 0xd9, 0x0f, 0xdb, 0xeb, 0x1e, 0xb8, 0x38, 0x3b, 0xef, 0xe3, 0xf7, 0x3e, 0x7e, 0x33, 0xef,
|
||||
0x05, 0x9e, 0xf8, 0x62, 0x3a, 0x15, 0x5c, 0xc6, 0xd4, 0x67, 0x8f, 0xcc, 0xaf, 0x9c, 0x73, 0x3f,
|
||||
0x4e, 0x84, 0x12, 0x8f, 0xcc, 0xaf, 0x2c, 0xa4, 0x0f, 0x8d, 0x00, 0x35, 0x72, 0x01, 0x1e, 0xc2,
|
||||
0xee, 0x6b, 0x46, 0x83, 0xd1, 0x9c, 0xfb, 0x84, 0xf2, 0x31, 0x43, 0x08, 0xea, 0xe7, 0x89, 0x98,
|
||||
0xb6, 0x9d, 0x9e, 0x73, 0x58, 0x27, 0xe6, 0x1b, 0xb5, 0xc0, 0x55, 0xa2, 0xed, 0x1a, 0x89, 0xab,
|
||||
0x04, 0xda, 0x87, 0x1b, 0x51, 0x38, 0x0d, 0x55, 0x7b, 0xa3, 0xe7, 0x1c, 0xee, 0x92, 0xf4, 0x80,
|
||||
0x2f, 0xa1, 0x95, 0x43, 0x31, 0x39, 0x8b, 0x94, 0xc6, 0x9a, 0x50, 0x39, 0x31, 0x58, 0x4d, 0x62,
|
||||
0xbe, 0xd1, 0x17, 0xb0, 0xcd, 0x22, 0x36, 0x65, 0x5c, 0xc9, 0xb6, 0xdb, 0xdb, 0x38, 0xdc, 0xe9,
|
||||
0xf7, 0x1e, 0x16, 0xf9, 0x2d, 0x02, 0x0c, 0x52, 0x43, 0x92, 0x7b, 0xe8, 0xc8, 0xbe, 0x98, 0xf1,
|
||||
0x3c, 0xb2, 0x39, 0xe0, 0xcf, 0xe1, 0x76, 0xa5, 0xa3, 0x4e, 0x3c, 0x0c, 0x4c, 0xf8, 0x06, 0x71,
|
||||
0xc3, 0xc0, 0x24, 0xc4, 0x68, 0x60, 0x4a, 0x69, 0x10, 0xf3, 0x8d, 0xbf, 0x87, 0xbd, 0xc2, 0xf9,
|
||||
0xa7, 0x19, 0x93, 0x0a, 0xb5, 0x61, 0xcb, 0xa4, 0x34, 0xcc, 0x7c, 0xb3, 0x23, 0x7a, 0x0c, 0x9b,
|
||||
0x89, 0x6e, 0x53, 0x96, 0x7b, 0xbb, 0x2a, 0x77, 0x6d, 0x40, 0xac, 0x1d, 0xfe, 0x0a, 0xbc, 0x52,
|
||||
0x6e, 0xb1, 0xe0, 0x92, 0xa1, 0xa7, 0xb0, 0x95, 0x98, 0x3c, 0x65, 0xdb, 0x31, 0x30, 0x1f, 0xad,
|
||||
0x6d, 0x01, 0xc9, 0x2c, 0xf1, 0x1f, 0x0e, 0xdc, 0x3c, 0x39, 0xfb, 0x81, 0xf9, 0x4a, 0x6b, 0xdf,
|
||||
0x30, 0x29, 0xe9, 0x98, 0x7d, 0x20, 0xd5, 0x03, 0x68, 0x24, 0x69, 0x3d, 0xc3, 0xac, 0xe0, 0x42,
|
||||
0xa0, 0xfd, 0x12, 0x16, 0x47, 0xf3, 0x61, 0x60, 0x5a, 0xd9, 0x20, 0xd9, 0x51, 0x6b, 0x62, 0x3a,
|
||||
0x8f, 0x04, 0x0d, 0xda, 0x75, 0xc3, 0x5b, 0x76, 0x44, 0x1d, 0xd8, 0x16, 0x26, 0x81, 0x61, 0xd0,
|
||||
0xbe, 0x61, 0x9c, 0xf2, 0x33, 0x1e, 0x80, 0x37, 0xd2, 0x81, 0x4f, 0x67, 0x72, 0x92, 0xb5, 0xf1,
|
||||
0x49, 0x81, 0xa4, 0x73, 0xdb, 0xe9, 0xdf, 0x2d, 0x95, 0x99, 0x5a, 0xa7, 0xea, 0x3c, 0x04, 0xbe,
|
||||
0x05, 0x37, 0x4b, 0x30, 0x69, 0xbb, 0x30, 0xce, 0xb1, 0xa3, 0x28, 0xc3, 0x5e, 0x62, 0x16, 0xbf,
|
||||
0xca, 0x1d, 0xb5, 0x8d, 0xed, 0xf3, 0xff, 0x48, 0xe0, 0x17, 0x17, 0x9a, 0x65, 0x0d, 0x7a, 0x01,
|
||||
0x3b, 0xc6, 0x47, 0xd3, 0xc2, 0x12, 0x8b, 0x73, 0xbf, 0x84, 0x43, 0xe8, 0xc5, 0xa8, 0x30, 0xf8,
|
||||
0x36, 0x54, 0x93, 0x61, 0x40, 0xca, 0x3e, 0xa8, 0x0b, 0x40, 0xfd, 0xc8, 0x02, 0x1a, 0x2a, 0x9a,
|
||||
0xa4, 0x24, 0x41, 0x18, 0x9a, 0xc5, 0x29, 0x27, 0x64, 0x41, 0x86, 0xfa, 0xb0, 0x6f, 0x20, 0x47,
|
||||
0x4c, 0xa9, 0x90, 0x8f, 0xe5, 0xe9, 0x02, 0x45, 0x95, 0x3a, 0xf4, 0x19, 0xdc, 0xa9, 0x92, 0xe7,
|
||||
0xec, 0xad, 0xd1, 0xe2, 0x3f, 0x1d, 0xd8, 0x29, 0x95, 0xa4, 0x79, 0x0f, 0x03, 0xc6, 0x55, 0xa8,
|
||||
0xe6, 0xf6, 0x29, 0xe7, 0x67, 0x7d, 0xcb, 0x54, 0x38, 0x65, 0x52, 0xd1, 0x69, 0x6c, 0x4a, 0xdb,
|
||||
0x20, 0x85, 0x40, 0x6b, 0x4d, 0x8c, 0xb7, 0xf3, 0x98, 0xd9, 0xb2, 0x0a, 0x01, 0xfa, 0x18, 0x5a,
|
||||
0xfa, 0xd2, 0x85, 0x3e, 0x55, 0xa1, 0xe0, 0x5f, 0xb3, 0xb9, 0xa9, 0xa6, 0x4e, 0x96, 0xa4, 0xfa,
|
||||
0xd5, 0x4a, 0xc6, 0xd2, 0xac, 0x9b, 0xc4, 0x7c, 0xe3, 0x53, 0x68, 0x2d, 0x36, 0x1e, 0xf5, 0x56,
|
||||
0x89, 0x6a, 0x2e, 0xf2, 0xa0, 0xb3, 0x09, 0xc7, 0x9c, 0xaa, 0x59, 0xc2, 0x2c, 0x0d, 0x85, 0x00,
|
||||
0x1f, 0xc3, 0x7e, 0x15, 0x95, 0xe6, 0x1d, 0xd1, 0x8b, 0x05, 0xd4, 0x42, 0x60, 0xef, 0xa1, 0x9b,
|
||||
0xdf, 0xc3, 0xdf, 0x1d, 0xd8, 0x1f, 0x95, 0xdb, 0x7a, 0x24, 0xb8, 0xd2, 0xa3, 0xe8, 0x4b, 0x68,
|
||||
0xa6, 0x8f, 0xe5, 0x98, 0x45, 0x4c, 0xb1, 0x8a, 0x0b, 0x79, 0x52, 0x52, 0xbf, 0xae, 0x91, 0x05,
|
||||
0x73, 0xf4, 0xdc, 0x56, 0x67, 0xbd, 0x5d, 0xe3, 0x7d, 0x67, 0xf9, 0x3a, 0xe7, 0xce, 0x65, 0xe3,
|
||||
0x97, 0x5b, 0x70, 0xe3, 0x67, 0x1a, 0xcd, 0x18, 0xee, 0x42, 0xb3, 0x1c, 0x64, 0xe5, 0x11, 0x7d,
|
||||
0x62, 0x79, 0xb7, 0xea, 0x05, 0x6e, 0x9d, 0x25, 0x6e, 0xb1, 0x80, 0xdb, 0x0b, 0x85, 0x8e, 0x38,
|
||||
0x8d, 0xe5, 0x44, 0x28, 0x7d, 0xdd, 0x03, 0x03, 0x10, 0x0c, 0x83, 0x74, 0xc0, 0x35, 0x48, 0x49,
|
||||
0x92, 0x5f, 0x4b, 0x13, 0x25, 0x14, 0xfc, 0xed, 0xd2, 0xfd, 0x59, 0xa3, 0xc5, 0xbf, 0x3a, 0xd0,
|
||||
0xcc, 0x82, 0x1d, 0x53, 0x45, 0xd1, 0x33, 0xd8, 0xf2, 0xd3, 0xee, 0xda, 0x31, 0x7a, 0x7f, 0xb9,
|
||||
0x1f, 0x4b, 0x24, 0x90, 0xcc, 0x5e, 0x6f, 0x21, 0x69, 0xf3, 0xb5, 0xbd, 0xec, 0xad, 0xf3, 0xcd,
|
||||
0xea, 0x22, 0xb9, 0x07, 0xfe, 0xd1, 0x0e, 0x9b, 0xd1, 0xec, 0x4c, 0xfa, 0x49, 0x18, 0xeb, 0x3c,
|
||||
0xf5, 0x2b, 0xb1, 0xa3, 0x37, 0x2b, 0x3a, 0x3f, 0xa3, 0xe7, 0xb0, 0x49, 0x7d, 0x6d, 0x65, 0x82,
|
||||
0xb5, 0xfa, 0x78, 0x25, 0x58, 0x09, 0xe9, 0x85, 0xb1, 0x24, 0xd6, 0xe3, 0xc1, 0x05, 0x6c, 0x0f,
|
||||
0x92, 0xe4, 0x48, 0x04, 0x4c, 0xa2, 0x16, 0xc0, 0x3b, 0xce, 0x2e, 0x63, 0xe6, 0x2b, 0x16, 0x78,
|
||||
0x35, 0xe4, 0xd9, 0x61, 0xf5, 0x26, 0x94, 0x32, 0xe4, 0x63, 0xcf, 0x41, 0x7b, 0x96, 0xc2, 0xc1,
|
||||
0x65, 0x28, 0x95, 0xf4, 0x5c, 0x74, 0x0b, 0xf6, 0x8c, 0xe0, 0x1b, 0xa1, 0x86, 0xfc, 0x88, 0xfa,
|
||||
0x13, 0xe6, 0x6d, 0x20, 0x04, 0x2d, 0x23, 0x1c, 0xca, 0x94, 0xea, 0xc0, 0xab, 0x6b, 0xcf, 0x41,
|
||||
0x92, 0x88, 0xe4, 0xe4, 0xfc, 0x5c, 0x32, 0xe5, 0x05, 0x0f, 0x9e, 0xc1, 0xdd, 0x35, 0xb9, 0xa1,
|
||||
0x5d, 0x68, 0x58, 0xe9, 0x19, 0xf3, 0x6a, 0xda, 0xf5, 0x1d, 0x97, 0xb9, 0xc0, 0xe9, 0xff, 0xe5,
|
||||
0x42, 0x23, 0xf5, 0x9d, 0x73, 0x1f, 0x1d, 0xc1, 0x76, 0xb6, 0xd4, 0x50, 0xa7, 0x72, 0xd3, 0x99,
|
||||
0x99, 0xde, 0xb9, 0x57, 0xbd, 0x05, 0xd3, 0x59, 0xfe, 0xca, 0x22, 0xea, 0xcd, 0x80, 0xee, 0xad,
|
||||
0xcc, 0xf1, 0x62, 0xed, 0x74, 0x0e, 0xaa, 0x95, 0x2b, 0x38, 0x51, 0x54, 0x85, 0x93, 0xaf, 0x98,
|
||||
0x2a, 0x9c, 0xd2, 0x6e, 0x21, 0xe0, 0x15, 0xdb, 0x78, 0xa4, 0x12, 0x46, 0xa7, 0xe8, 0x60, 0xe5,
|
||||
0x35, 0x97, 0x56, 0x75, 0xe7, 0x83, 0xda, 0x43, 0xe7, 0xb1, 0xf3, 0xf2, 0xd3, 0xbf, 0xaf, 0xba,
|
||||
0xce, 0xfb, 0xab, 0xae, 0xf3, 0xef, 0x55, 0xd7, 0xf9, 0xed, 0xba, 0x5b, 0x7b, 0x7f, 0xdd, 0xad,
|
||||
0xfd, 0x73, 0xdd, 0xad, 0x7d, 0xd7, 0x59, 0xff, 0x4f, 0xde, 0xd9, 0xa6, 0xf9, 0xf3, 0xf4, 0xbf,
|
||||
0x00, 0x00, 0x00, 0xff, 0xff, 0xd5, 0xd9, 0x0b, 0xc0, 0x09, 0x0a, 0x00, 0x00,
|
||||
// 1019 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4b, 0x6f, 0xdb, 0x46,
|
||||
0x10, 0x16, 0xe9, 0xa7, 0xc6, 0xb2, 0xcc, 0x6c, 0x9c, 0x44, 0x55, 0x0c, 0x45, 0x58, 0x14, 0x85,
|
||||
0x91, 0x43, 0x1e, 0x72, 0x51, 0x20, 0x69, 0x7b, 0x48, 0x6c, 0xa5, 0x11, 0x8a, 0xd4, 0xc6, 0xaa,
|
||||
0x41, 0x81, 0x02, 0x39, 0xac, 0xc9, 0xb1, 0xc4, 0x96, 0x22, 0x59, 0xee, 0xaa, 0xb6, 0x8e, 0x3d,
|
||||
0xf5, 0xda, 0x73, 0x7b, 0xea, 0x7f, 0xe8, 0x8f, 0xe8, 0x31, 0xc7, 0x1e, 0x0b, 0xfb, 0x8f, 0x14,
|
||||
0xbb, 0x5c, 0x3e, 0x24, 0x51, 0x39, 0xf4, 0x22, 0x73, 0xbf, 0x99, 0xf9, 0xe6, 0xb5, 0x3b, 0x63,
|
||||
0x78, 0xea, 0x46, 0x93, 0x49, 0x14, 0x8a, 0x98, 0xbb, 0xf8, 0x58, 0xff, 0x8a, 0x59, 0xe8, 0xc6,
|
||||
0x49, 0x24, 0xa3, 0xc7, 0xfa, 0x57, 0x14, 0xe8, 0x23, 0x0d, 0x90, 0x7a, 0x0e, 0xd0, 0x01, 0xec,
|
||||
0xbe, 0x46, 0xee, 0x0d, 0x67, 0xa1, 0xcb, 0x78, 0x38, 0x42, 0x42, 0x60, 0xfd, 0x22, 0x89, 0x26,
|
||||
0x2d, 0xab, 0x6b, 0x1d, 0xae, 0x33, 0xfd, 0x4d, 0x9a, 0x60, 0xcb, 0xa8, 0x65, 0x6b, 0xc4, 0x96,
|
||||
0x11, 0xd9, 0x87, 0x8d, 0xc0, 0x9f, 0xf8, 0xb2, 0xb5, 0xd6, 0xb5, 0x0e, 0x77, 0x59, 0x7a, 0xa0,
|
||||
0x57, 0xd0, 0xcc, 0xa9, 0x50, 0x4c, 0x03, 0xa9, 0xb8, 0xc6, 0x5c, 0x8c, 0x35, 0x57, 0x83, 0xe9,
|
||||
0x6f, 0xf2, 0x05, 0x6c, 0x63, 0x80, 0x13, 0x0c, 0xa5, 0x68, 0xd9, 0xdd, 0xb5, 0xc3, 0x9d, 0x5e,
|
||||
0xf7, 0x51, 0x11, 0xdf, 0x3c, 0x41, 0x3f, 0x55, 0x64, 0xb9, 0x85, 0xf2, 0xec, 0x46, 0xd3, 0x30,
|
||||
0xf7, 0xac, 0x0f, 0xf4, 0x73, 0xb8, 0x53, 0x69, 0xa8, 0x02, 0xf7, 0x3d, 0xed, 0xbe, 0xce, 0x6c,
|
||||
0xdf, 0xd3, 0x01, 0x21, 0xf7, 0x74, 0x2a, 0x75, 0xa6, 0xbf, 0xe9, 0x3b, 0xd8, 0x2b, 0x8c, 0x7f,
|
||||
0x9a, 0xa2, 0x90, 0xa4, 0x05, 0x5b, 0x3a, 0xa4, 0x41, 0x66, 0x9b, 0x1d, 0xc9, 0x13, 0xd8, 0x4c,
|
||||
0x54, 0x99, 0xb2, 0xd8, 0x5b, 0x55, 0xb1, 0x2b, 0x05, 0x66, 0xf4, 0xe8, 0x57, 0xe0, 0x94, 0x62,
|
||||
0x8b, 0xa3, 0x50, 0x20, 0x39, 0x82, 0xad, 0x44, 0xc7, 0x29, 0x5a, 0x96, 0xa6, 0xf9, 0x68, 0x65,
|
||||
0x09, 0x58, 0xa6, 0x49, 0xff, 0xb0, 0xe0, 0xd6, 0xe9, 0xf9, 0x0f, 0xe8, 0x4a, 0x25, 0x7d, 0x83,
|
||||
0x42, 0xf0, 0x11, 0x7e, 0x20, 0xd4, 0x03, 0xa8, 0x27, 0x69, 0x3e, 0x83, 0x2c, 0xe1, 0x02, 0x50,
|
||||
0x76, 0x09, 0xc6, 0xc1, 0x6c, 0xe0, 0xe9, 0x52, 0xd6, 0x59, 0x76, 0x54, 0x92, 0x98, 0xcf, 0x82,
|
||||
0x88, 0x7b, 0xad, 0x75, 0xdd, 0xb7, 0xec, 0x48, 0xda, 0xb0, 0x1d, 0xe9, 0x00, 0x06, 0x5e, 0x6b,
|
||||
0x43, 0x1b, 0xe5, 0x67, 0xda, 0x07, 0x67, 0xa8, 0x1c, 0x9f, 0x4d, 0xc5, 0x38, 0x2b, 0xe3, 0xd3,
|
||||
0x82, 0x49, 0xc5, 0xb6, 0xd3, 0xbb, 0x57, 0x4a, 0x33, 0xd5, 0x4e, 0xc5, 0xb9, 0x0b, 0x7a, 0x1b,
|
||||
0x6e, 0x95, 0x68, 0xd2, 0x72, 0x51, 0x9a, 0x73, 0x07, 0x41, 0xc6, 0xbd, 0xd0, 0x59, 0xfa, 0x2a,
|
||||
0x37, 0x54, 0x3a, 0xa6, 0xce, 0xff, 0x23, 0x80, 0x5f, 0x6c, 0x68, 0x94, 0x25, 0xe4, 0x05, 0xec,
|
||||
0x68, 0x1b, 0xd5, 0x16, 0x4c, 0x0c, 0xcf, 0x83, 0x12, 0x0f, 0xe3, 0x97, 0xc3, 0x42, 0xe1, 0x3b,
|
||||
0x5f, 0x8e, 0x07, 0x1e, 0x2b, 0xdb, 0x90, 0x0e, 0x00, 0x77, 0x03, 0x43, 0xa8, 0x5b, 0xd1, 0x60,
|
||||
0x25, 0x84, 0x50, 0x68, 0x14, 0xa7, 0xbc, 0x21, 0x73, 0x18, 0xe9, 0xc1, 0xbe, 0xa6, 0x1c, 0xa2,
|
||||
0x94, 0x7e, 0x38, 0x12, 0x67, 0x73, 0x2d, 0xaa, 0x94, 0x91, 0xcf, 0xe0, 0x6e, 0x15, 0x9e, 0x77,
|
||||
0x6f, 0x85, 0x94, 0xfe, 0x69, 0xc1, 0x4e, 0x29, 0x25, 0xd5, 0x77, 0xdf, 0xc3, 0x50, 0xfa, 0x72,
|
||||
0x66, 0x9e, 0x72, 0x7e, 0x56, 0xb7, 0x4c, 0xfa, 0x13, 0x14, 0x92, 0x4f, 0x62, 0x9d, 0xda, 0x1a,
|
||||
0x2b, 0x00, 0x25, 0xd5, 0x3e, 0xbe, 0x9d, 0xc5, 0x68, 0xd2, 0x2a, 0x00, 0xf2, 0x09, 0x34, 0xd5,
|
||||
0xa5, 0xf3, 0x5d, 0x2e, 0xfd, 0x28, 0xfc, 0x1a, 0x67, 0x3a, 0x9b, 0x75, 0xb6, 0x80, 0xaa, 0x57,
|
||||
0x2b, 0x10, 0xd3, 0xa8, 0x1b, 0x4c, 0x7f, 0xd3, 0x33, 0x68, 0xce, 0x17, 0x9e, 0x74, 0x97, 0x1b,
|
||||
0xd5, 0x98, 0xef, 0x83, 0x8a, 0xc6, 0x1f, 0x85, 0x5c, 0x4e, 0x13, 0x34, 0x6d, 0x28, 0x00, 0x7a,
|
||||
0x02, 0xfb, 0x55, 0xad, 0xd4, 0xef, 0x88, 0x5f, 0xce, 0xb1, 0x16, 0x80, 0xb9, 0x87, 0x76, 0x7e,
|
||||
0x0f, 0x7f, 0xb7, 0x60, 0x7f, 0x58, 0x2e, 0xeb, 0x71, 0x14, 0x4a, 0x35, 0x8a, 0xbe, 0x84, 0x46,
|
||||
0xfa, 0x58, 0x4e, 0x30, 0x40, 0x89, 0x15, 0x17, 0xf2, 0xb4, 0x24, 0x7e, 0x5d, 0x63, 0x73, 0xea,
|
||||
0xe4, 0xb9, 0xc9, 0xce, 0x58, 0xdb, 0xda, 0xfa, 0xee, 0xe2, 0x75, 0xce, 0x8d, 0xcb, 0xca, 0x2f,
|
||||
0xb7, 0x60, 0xe3, 0x67, 0x1e, 0x4c, 0x91, 0x76, 0xa0, 0x51, 0x76, 0xb2, 0xf4, 0x88, 0x8e, 0x4c,
|
||||
0xdf, 0x8d, 0xf8, 0x63, 0xd8, 0xf5, 0xf4, 0x57, 0x72, 0x86, 0x98, 0xe4, 0x13, 0x66, 0x1e, 0xa4,
|
||||
0xef, 0xe0, 0xce, 0x5c, 0xc2, 0xc3, 0x90, 0xc7, 0x62, 0x1c, 0x49, 0x75, 0xed, 0x53, 0x4d, 0x6f,
|
||||
0xe0, 0xa5, 0x83, 0xae, 0xce, 0x4a, 0xc8, 0x32, 0xbd, 0x5d, 0x45, 0xff, 0xab, 0x05, 0x8d, 0x8c,
|
||||
0xfa, 0x84, 0x4b, 0x4e, 0x9e, 0xc1, 0x96, 0x9b, 0xd6, 0xd4, 0x0c, 0xcf, 0x07, 0x8b, 0x55, 0x58,
|
||||
0x28, 0x3d, 0xcb, 0xf4, 0xd5, 0xee, 0x11, 0x26, 0x3a, 0x53, 0xc1, 0xee, 0x2a, 0xdb, 0x2c, 0x0b,
|
||||
0x96, 0x5b, 0xd0, 0x1f, 0xcd, 0x88, 0x19, 0x4e, 0xcf, 0x85, 0x9b, 0xf8, 0xb1, 0xba, 0x9e, 0xea,
|
||||
0x6d, 0x98, 0x81, 0x9b, 0xa5, 0x98, 0x9f, 0xc9, 0x73, 0xd8, 0xe4, 0xae, 0xd2, 0xd2, 0xce, 0x9a,
|
||||
0x3d, 0xba, 0xe4, 0xac, 0xc4, 0xf4, 0x42, 0x6b, 0x32, 0x63, 0xf1, 0xf0, 0x12, 0xb6, 0xfb, 0x49,
|
||||
0x72, 0x1c, 0x79, 0x28, 0x48, 0x13, 0xe0, 0x6d, 0x88, 0x57, 0x31, 0xba, 0x12, 0x3d, 0xa7, 0x46,
|
||||
0x1c, 0x33, 0xa2, 0xde, 0xf8, 0x42, 0xf8, 0xe1, 0xc8, 0xb1, 0xc8, 0x9e, 0x69, 0x5c, 0xff, 0xca,
|
||||
0x17, 0x52, 0x38, 0x36, 0xb9, 0x0d, 0x7b, 0x1a, 0xf8, 0x26, 0x92, 0x83, 0xf0, 0x98, 0xbb, 0x63,
|
||||
0x74, 0xd6, 0x08, 0x81, 0xa6, 0x06, 0x07, 0x22, 0x6d, 0xb0, 0xe7, 0xac, 0x2b, 0xcb, 0x7e, 0x92,
|
||||
0x44, 0xc9, 0xe9, 0xc5, 0x85, 0x40, 0xe9, 0x78, 0x0f, 0x9f, 0xc1, 0xbd, 0x15, 0xb1, 0x91, 0x5d,
|
||||
0xa8, 0x1b, 0xf4, 0x1c, 0x9d, 0x9a, 0x32, 0x7d, 0x1b, 0x8a, 0x1c, 0xb0, 0x7a, 0x7f, 0xd9, 0x50,
|
||||
0x4f, 0x6d, 0x67, 0xa1, 0x4b, 0x8e, 0x61, 0x3b, 0x5b, 0x65, 0xa4, 0x5d, 0xb9, 0xdf, 0xf4, 0x24,
|
||||
0x6f, 0xdf, 0xaf, 0xde, 0x7d, 0xe9, 0x04, 0x7f, 0x65, 0x18, 0xd5, 0x3e, 0x20, 0xf7, 0x97, 0xa6,
|
||||
0x77, 0xb1, 0x6c, 0xda, 0x07, 0xd5, 0xc2, 0x25, 0x9e, 0x20, 0xa8, 0xe2, 0xc9, 0x17, 0x4b, 0x15,
|
||||
0x4f, 0x69, 0xa3, 0x30, 0x70, 0x8a, 0x1d, 0x3c, 0x94, 0x09, 0xf2, 0x09, 0x39, 0x58, 0x7a, 0xc3,
|
||||
0xa5, 0x05, 0xdd, 0xfe, 0xa0, 0xf4, 0xd0, 0x7a, 0x62, 0xbd, 0xfc, 0xf4, 0xef, 0xeb, 0x8e, 0xf5,
|
||||
0xfe, 0xba, 0x63, 0xfd, 0x7b, 0xdd, 0xb1, 0x7e, 0xbb, 0xe9, 0xd4, 0xde, 0xdf, 0x74, 0x6a, 0xff,
|
||||
0xdc, 0x74, 0x6a, 0xdf, 0xb7, 0x57, 0xff, 0x6b, 0x77, 0xbe, 0xa9, 0xff, 0x1c, 0xfd, 0x17, 0x00,
|
||||
0x00, 0xff, 0xff, 0xa1, 0xe4, 0x04, 0x3d, 0xff, 0x09, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func (m *HeadSyncRange) Marshal() (dAtA []byte, err error) {
|
||||
@ -2000,10 +2000,12 @@ func (m *SpaceDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
if m.Timestamp != 0 {
|
||||
i = encodeVarintSpacesync(dAtA, i, uint64(m.Timestamp))
|
||||
if len(m.DeleterPeerId) > 0 {
|
||||
i -= len(m.DeleterPeerId)
|
||||
copy(dAtA[i:], m.DeleterPeerId)
|
||||
i = encodeVarintSpacesync(dAtA, i, uint64(len(m.DeleterPeerId)))
|
||||
i--
|
||||
dAtA[i] = 0x8
|
||||
dAtA[i] = 0xa
|
||||
}
|
||||
return len(dAtA) - i, nil
|
||||
}
|
||||
@ -2028,10 +2030,12 @@ func (m *SpaceSettingsSnapshot) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
if m.SpaceDeletionTimestamp != 0 {
|
||||
i = encodeVarintSpacesync(dAtA, i, uint64(m.SpaceDeletionTimestamp))
|
||||
if len(m.DeleterPeerId) > 0 {
|
||||
i -= len(m.DeleterPeerId)
|
||||
copy(dAtA[i:], m.DeleterPeerId)
|
||||
i = encodeVarintSpacesync(dAtA, i, uint64(len(m.DeleterPeerId)))
|
||||
i--
|
||||
dAtA[i] = 0x10
|
||||
dAtA[i] = 0x12
|
||||
}
|
||||
if len(m.DeletedIds) > 0 {
|
||||
for iNdEx := len(m.DeletedIds) - 1; iNdEx >= 0; iNdEx-- {
|
||||
@ -2455,8 +2459,9 @@ func (m *SpaceDelete) Size() (n int) {
|
||||
}
|
||||
var l int
|
||||
_ = l
|
||||
if m.Timestamp != 0 {
|
||||
n += 1 + sovSpacesync(uint64(m.Timestamp))
|
||||
l = len(m.DeleterPeerId)
|
||||
if l > 0 {
|
||||
n += 1 + l + sovSpacesync(uint64(l))
|
||||
}
|
||||
return n
|
||||
}
|
||||
@ -2473,8 +2478,9 @@ func (m *SpaceSettingsSnapshot) Size() (n int) {
|
||||
n += 1 + l + sovSpacesync(uint64(l))
|
||||
}
|
||||
}
|
||||
if m.SpaceDeletionTimestamp != 0 {
|
||||
n += 1 + sovSpacesync(uint64(m.SpaceDeletionTimestamp))
|
||||
l = len(m.DeleterPeerId)
|
||||
if l > 0 {
|
||||
n += 1 + l + sovSpacesync(uint64(l))
|
||||
}
|
||||
return n
|
||||
}
|
||||
@ -4468,10 +4474,10 @@ func (m *SpaceDelete) Unmarshal(dAtA []byte) error {
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
if wireType != 0 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType)
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field DeleterPeerId", wireType)
|
||||
}
|
||||
m.Timestamp = 0
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowSpacesync
|
||||
@ -4481,11 +4487,24 @@ func (m *SpaceDelete) Unmarshal(dAtA []byte) error {
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
m.Timestamp |= int64(b&0x7F) << shift
|
||||
stringLen |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthSpacesync
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthSpacesync
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.DeleterPeerId = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipSpacesync(dAtA[iNdEx:])
|
||||
@ -4569,10 +4588,10 @@ func (m *SpaceSettingsSnapshot) Unmarshal(dAtA []byte) error {
|
||||
m.DeletedIds = append(m.DeletedIds, string(dAtA[iNdEx:postIndex]))
|
||||
iNdEx = postIndex
|
||||
case 2:
|
||||
if wireType != 0 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field SpaceDeletionTimestamp", wireType)
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field DeleterPeerId", wireType)
|
||||
}
|
||||
m.SpaceDeletionTimestamp = 0
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowSpacesync
|
||||
@ -4582,11 +4601,24 @@ func (m *SpaceSettingsSnapshot) Unmarshal(dAtA []byte) error {
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
m.SpaceDeletionTimestamp |= int64(b&0x7F) << shift
|
||||
stringLen |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return ErrInvalidLengthSpacesync
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthSpacesync
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.DeleterPeerId = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipSpacesync(dAtA[iNdEx:])
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user