// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 // protoc v4.24.2 // source: remote/kv.proto package remote import ( types "github.com/ledgerwatch/erigon-lib/gointerfaces/types" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Op int32 const ( Op_FIRST Op = 0 Op_FIRST_DUP Op = 1 Op_SEEK Op = 2 Op_SEEK_BOTH Op = 3 Op_CURRENT Op = 4 Op_LAST Op = 6 Op_LAST_DUP Op = 7 Op_NEXT Op = 8 Op_NEXT_DUP Op = 9 Op_NEXT_NO_DUP Op = 11 Op_PREV Op = 12 Op_PREV_DUP Op = 13 Op_PREV_NO_DUP Op = 14 Op_SEEK_EXACT Op = 15 Op_SEEK_BOTH_EXACT Op = 16 Op_OPEN Op = 30 Op_CLOSE Op = 31 Op_OPEN_DUP_SORT Op = 32 Op_COUNT Op = 33 ) // Enum value maps for Op. var ( Op_name = map[int32]string{ 0: "FIRST", 1: "FIRST_DUP", 2: "SEEK", 3: "SEEK_BOTH", 4: "CURRENT", 6: "LAST", 7: "LAST_DUP", 8: "NEXT", 9: "NEXT_DUP", 11: "NEXT_NO_DUP", 12: "PREV", 13: "PREV_DUP", 14: "PREV_NO_DUP", 15: "SEEK_EXACT", 16: "SEEK_BOTH_EXACT", 30: "OPEN", 31: "CLOSE", 32: "OPEN_DUP_SORT", 33: "COUNT", } Op_value = map[string]int32{ "FIRST": 0, "FIRST_DUP": 1, "SEEK": 2, "SEEK_BOTH": 3, "CURRENT": 4, "LAST": 6, "LAST_DUP": 7, "NEXT": 8, "NEXT_DUP": 9, "NEXT_NO_DUP": 11, "PREV": 12, "PREV_DUP": 13, "PREV_NO_DUP": 14, "SEEK_EXACT": 15, "SEEK_BOTH_EXACT": 16, "OPEN": 30, "CLOSE": 31, "OPEN_DUP_SORT": 32, "COUNT": 33, } ) func (x Op) Enum() *Op { p := new(Op) *p = x return p } func (x Op) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Op) Descriptor() protoreflect.EnumDescriptor { return file_remote_kv_proto_enumTypes[0].Descriptor() } func (Op) Type() protoreflect.EnumType { return &file_remote_kv_proto_enumTypes[0] } func (x Op) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Op.Descriptor instead. func (Op) EnumDescriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{0} } type Action int32 const ( Action_STORAGE Action = 0 // Change only in the storage Action_UPSERT Action = 1 // Change of balance or nonce (and optionally storage) Action_CODE Action = 2 // Change of code (and optionally storage) Action_UPSERT_CODE Action = 3 // Change in (balance or nonce) and code (and optinally storage) Action_REMOVE Action = 4 // Account is deleted ) // Enum value maps for Action. var ( Action_name = map[int32]string{ 0: "STORAGE", 1: "UPSERT", 2: "CODE", 3: "UPSERT_CODE", 4: "REMOVE", } Action_value = map[string]int32{ "STORAGE": 0, "UPSERT": 1, "CODE": 2, "UPSERT_CODE": 3, "REMOVE": 4, } ) func (x Action) Enum() *Action { p := new(Action) *p = x return p } func (x Action) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Action) Descriptor() protoreflect.EnumDescriptor { return file_remote_kv_proto_enumTypes[1].Descriptor() } func (Action) Type() protoreflect.EnumType { return &file_remote_kv_proto_enumTypes[1] } func (x Action) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Action.Descriptor instead. func (Action) EnumDescriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{1} } type Direction int32 const ( Direction_FORWARD Direction = 0 Direction_UNWIND Direction = 1 ) // Enum value maps for Direction. var ( Direction_name = map[int32]string{ 0: "FORWARD", 1: "UNWIND", } Direction_value = map[string]int32{ "FORWARD": 0, "UNWIND": 1, } ) func (x Direction) Enum() *Direction { p := new(Direction) *p = x return p } func (x Direction) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Direction) Descriptor() protoreflect.EnumDescriptor { return file_remote_kv_proto_enumTypes[2].Descriptor() } func (Direction) Type() protoreflect.EnumType { return &file_remote_kv_proto_enumTypes[2] } func (x Direction) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Direction.Descriptor instead. func (Direction) EnumDescriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{2} } type Cursor struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Op Op `protobuf:"varint,1,opt,name=op,proto3,enum=remote.Op" json:"op,omitempty"` BucketName string `protobuf:"bytes,2,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"` Cursor uint32 `protobuf:"varint,3,opt,name=cursor,proto3" json:"cursor,omitempty"` K []byte `protobuf:"bytes,4,opt,name=k,proto3" json:"k,omitempty"` V []byte `protobuf:"bytes,5,opt,name=v,proto3" json:"v,omitempty"` } func (x *Cursor) Reset() { *x = Cursor{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Cursor) String() string { return protoimpl.X.MessageStringOf(x) } func (*Cursor) ProtoMessage() {} func (x *Cursor) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Cursor.ProtoReflect.Descriptor instead. func (*Cursor) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{0} } func (x *Cursor) GetOp() Op { if x != nil { return x.Op } return Op_FIRST } func (x *Cursor) GetBucketName() string { if x != nil { return x.BucketName } return "" } func (x *Cursor) GetCursor() uint32 { if x != nil { return x.Cursor } return 0 } func (x *Cursor) GetK() []byte { if x != nil { return x.K } return nil } func (x *Cursor) GetV() []byte { if x != nil { return x.V } return nil } type Pair struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields K []byte `protobuf:"bytes,1,opt,name=k,proto3" json:"k,omitempty"` V []byte `protobuf:"bytes,2,opt,name=v,proto3" json:"v,omitempty"` CursorId uint32 `protobuf:"varint,3,opt,name=cursor_id,json=cursorId,proto3" json:"cursor_id,omitempty"` // send once after new cursor open ViewId uint64 `protobuf:"varint,4,opt,name=view_id,json=viewId,proto3" json:"view_id,omitempty"` // return once after tx open. mdbx's tx.ViewID() - id of write transaction in db TxId uint64 `protobuf:"varint,5,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // return once after tx open. internal identifier - use it in other methods - to achieve consistant DB view (to read data from same DB tx on server). } func (x *Pair) Reset() { *x = Pair{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Pair) String() string { return protoimpl.X.MessageStringOf(x) } func (*Pair) ProtoMessage() {} func (x *Pair) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Pair.ProtoReflect.Descriptor instead. func (*Pair) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{1} } func (x *Pair) GetK() []byte { if x != nil { return x.K } return nil } func (x *Pair) GetV() []byte { if x != nil { return x.V } return nil } func (x *Pair) GetCursorId() uint32 { if x != nil { return x.CursorId } return 0 } func (x *Pair) GetViewId() uint64 { if x != nil { return x.ViewId } return 0 } func (x *Pair) GetTxId() uint64 { if x != nil { return x.TxId } return 0 } type StorageChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Location *types.H256 `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } func (x *StorageChange) Reset() { *x = StorageChange{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StorageChange) String() string { return protoimpl.X.MessageStringOf(x) } func (*StorageChange) ProtoMessage() {} func (x *StorageChange) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StorageChange.ProtoReflect.Descriptor instead. func (*StorageChange) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{2} } func (x *StorageChange) GetLocation() *types.H256 { if x != nil { return x.Location } return nil } func (x *StorageChange) GetData() []byte { if x != nil { return x.Data } return nil } type AccountChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Address *types.H160 `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` Incarnation uint64 `protobuf:"varint,2,opt,name=incarnation,proto3" json:"incarnation,omitempty"` Action Action `protobuf:"varint,3,opt,name=action,proto3,enum=remote.Action" json:"action,omitempty"` Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"` // nil if there is no UPSERT in action Code []byte `protobuf:"bytes,5,opt,name=code,proto3" json:"code,omitempty"` // nil if there is no CODE in action StorageChanges []*StorageChange `protobuf:"bytes,6,rep,name=storage_changes,json=storageChanges,proto3" json:"storage_changes,omitempty"` } func (x *AccountChange) Reset() { *x = AccountChange{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AccountChange) String() string { return protoimpl.X.MessageStringOf(x) } func (*AccountChange) ProtoMessage() {} func (x *AccountChange) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AccountChange.ProtoReflect.Descriptor instead. func (*AccountChange) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{3} } func (x *AccountChange) GetAddress() *types.H160 { if x != nil { return x.Address } return nil } func (x *AccountChange) GetIncarnation() uint64 { if x != nil { return x.Incarnation } return 0 } func (x *AccountChange) GetAction() Action { if x != nil { return x.Action } return Action_STORAGE } func (x *AccountChange) GetData() []byte { if x != nil { return x.Data } return nil } func (x *AccountChange) GetCode() []byte { if x != nil { return x.Code } return nil } func (x *AccountChange) GetStorageChanges() []*StorageChange { if x != nil { return x.StorageChanges } return nil } // StateChangeBatch - list of StateDiff done in one DB transaction type StateChangeBatch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields StateVersionId uint64 `protobuf:"varint,1,opt,name=state_version_id,json=stateVersionId,proto3" json:"state_version_id,omitempty"` // mdbx's tx.ID() - id of write transaction in db - where this changes happened ChangeBatch []*StateChange `protobuf:"bytes,2,rep,name=change_batch,json=changeBatch,proto3" json:"change_batch,omitempty"` PendingBlockBaseFee uint64 `protobuf:"varint,3,opt,name=pending_block_base_fee,json=pendingBlockBaseFee,proto3" json:"pending_block_base_fee,omitempty"` // BaseFee of the next block to be produced BlockGasLimit uint64 `protobuf:"varint,4,opt,name=block_gas_limit,json=blockGasLimit,proto3" json:"block_gas_limit,omitempty"` // GasLimit of the latest block - proxy for the gas limit of the next block to be produced FinalizedBlock uint64 `protobuf:"varint,5,opt,name=finalized_block,json=finalizedBlock,proto3" json:"finalized_block,omitempty"` PendingBlobFeePerGas uint64 `protobuf:"varint,6,opt,name=pending_blob_fee_per_gas,json=pendingBlobFeePerGas,proto3" json:"pending_blob_fee_per_gas,omitempty"` // Base Blob Fee for the next block to be produced } func (x *StateChangeBatch) Reset() { *x = StateChangeBatch{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StateChangeBatch) String() string { return protoimpl.X.MessageStringOf(x) } func (*StateChangeBatch) ProtoMessage() {} func (x *StateChangeBatch) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StateChangeBatch.ProtoReflect.Descriptor instead. func (*StateChangeBatch) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{4} } func (x *StateChangeBatch) GetStateVersionId() uint64 { if x != nil { return x.StateVersionId } return 0 } func (x *StateChangeBatch) GetChangeBatch() []*StateChange { if x != nil { return x.ChangeBatch } return nil } func (x *StateChangeBatch) GetPendingBlockBaseFee() uint64 { if x != nil { return x.PendingBlockBaseFee } return 0 } func (x *StateChangeBatch) GetBlockGasLimit() uint64 { if x != nil { return x.BlockGasLimit } return 0 } func (x *StateChangeBatch) GetFinalizedBlock() uint64 { if x != nil { return x.FinalizedBlock } return 0 } func (x *StateChangeBatch) GetPendingBlobFeePerGas() uint64 { if x != nil { return x.PendingBlobFeePerGas } return 0 } // StateChange - changes done by 1 block or by 1 unwind type StateChange struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Direction Direction `protobuf:"varint,1,opt,name=direction,proto3,enum=remote.Direction" json:"direction,omitempty"` BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` BlockHash *types.H256 `protobuf:"bytes,3,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` Changes []*AccountChange `protobuf:"bytes,4,rep,name=changes,proto3" json:"changes,omitempty"` Txs [][]byte `protobuf:"bytes,5,rep,name=txs,proto3" json:"txs,omitempty"` // enable by withTransactions=true } func (x *StateChange) Reset() { *x = StateChange{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StateChange) String() string { return protoimpl.X.MessageStringOf(x) } func (*StateChange) ProtoMessage() {} func (x *StateChange) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StateChange.ProtoReflect.Descriptor instead. func (*StateChange) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{5} } func (x *StateChange) GetDirection() Direction { if x != nil { return x.Direction } return Direction_FORWARD } func (x *StateChange) GetBlockHeight() uint64 { if x != nil { return x.BlockHeight } return 0 } func (x *StateChange) GetBlockHash() *types.H256 { if x != nil { return x.BlockHash } return nil } func (x *StateChange) GetChanges() []*AccountChange { if x != nil { return x.Changes } return nil } func (x *StateChange) GetTxs() [][]byte { if x != nil { return x.Txs } return nil } type StateChangeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields WithStorage bool `protobuf:"varint,1,opt,name=with_storage,json=withStorage,proto3" json:"with_storage,omitempty"` WithTransactions bool `protobuf:"varint,2,opt,name=with_transactions,json=withTransactions,proto3" json:"with_transactions,omitempty"` } func (x *StateChangeRequest) Reset() { *x = StateChangeRequest{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StateChangeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StateChangeRequest) ProtoMessage() {} func (x *StateChangeRequest) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StateChangeRequest.ProtoReflect.Descriptor instead. func (*StateChangeRequest) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{6} } func (x *StateChangeRequest) GetWithStorage() bool { if x != nil { return x.WithStorage } return false } func (x *StateChangeRequest) GetWithTransactions() bool { if x != nil { return x.WithTransactions } return false } type SnapshotsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *SnapshotsRequest) Reset() { *x = SnapshotsRequest{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SnapshotsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SnapshotsRequest) ProtoMessage() {} func (x *SnapshotsRequest) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SnapshotsRequest.ProtoReflect.Descriptor instead. func (*SnapshotsRequest) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{7} } type SnapshotsReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields BlocksFiles []string `protobuf:"bytes,1,rep,name=blocks_files,json=blocksFiles,proto3" json:"blocks_files,omitempty"` HistoryFiles []string `protobuf:"bytes,2,rep,name=history_files,json=historyFiles,proto3" json:"history_files,omitempty"` } func (x *SnapshotsReply) Reset() { *x = SnapshotsReply{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SnapshotsReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*SnapshotsReply) ProtoMessage() {} func (x *SnapshotsReply) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SnapshotsReply.ProtoReflect.Descriptor instead. func (*SnapshotsReply) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{8} } func (x *SnapshotsReply) GetBlocksFiles() []string { if x != nil { return x.BlocksFiles } return nil } func (x *SnapshotsReply) GetHistoryFiles() []string { if x != nil { return x.HistoryFiles } return nil } type RangeReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TxId uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx() // query params Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` FromPrefix []byte `protobuf:"bytes,3,opt,name=from_prefix,json=fromPrefix,proto3" json:"from_prefix,omitempty"` ToPrefix []byte `protobuf:"bytes,4,opt,name=to_prefix,json=toPrefix,proto3" json:"to_prefix,omitempty"` OrderAscend bool `protobuf:"varint,5,opt,name=order_ascend,json=orderAscend,proto3" json:"order_ascend,omitempty"` Limit int64 `protobuf:"zigzag64,6,opt,name=limit,proto3" json:"limit,omitempty"` // <= 0 means no limit // pagination params PageSize int32 `protobuf:"varint,7,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // <= 0 means server will choose PageToken string `protobuf:"bytes,8,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *RangeReq) Reset() { *x = RangeReq{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RangeReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*RangeReq) ProtoMessage() {} func (x *RangeReq) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RangeReq.ProtoReflect.Descriptor instead. func (*RangeReq) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{9} } func (x *RangeReq) GetTxId() uint64 { if x != nil { return x.TxId } return 0 } func (x *RangeReq) GetTable() string { if x != nil { return x.Table } return "" } func (x *RangeReq) GetFromPrefix() []byte { if x != nil { return x.FromPrefix } return nil } func (x *RangeReq) GetToPrefix() []byte { if x != nil { return x.ToPrefix } return nil } func (x *RangeReq) GetOrderAscend() bool { if x != nil { return x.OrderAscend } return false } func (x *RangeReq) GetLimit() int64 { if x != nil { return x.Limit } return 0 } func (x *RangeReq) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *RangeReq) GetPageToken() string { if x != nil { return x.PageToken } return "" } // Temporal methods type DomainGetReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TxId uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx() // query params Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` K []byte `protobuf:"bytes,3,opt,name=k,proto3" json:"k,omitempty"` Ts uint64 `protobuf:"varint,4,opt,name=ts,proto3" json:"ts,omitempty"` K2 []byte `protobuf:"bytes,5,opt,name=k2,proto3" json:"k2,omitempty"` Latest bool `protobuf:"varint,6,opt,name=latest,proto3" json:"latest,omitempty"` // if true, then `ts` ignored and return latest state (without history lookup) } func (x *DomainGetReq) Reset() { *x = DomainGetReq{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DomainGetReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*DomainGetReq) ProtoMessage() {} func (x *DomainGetReq) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DomainGetReq.ProtoReflect.Descriptor instead. func (*DomainGetReq) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{10} } func (x *DomainGetReq) GetTxId() uint64 { if x != nil { return x.TxId } return 0 } func (x *DomainGetReq) GetTable() string { if x != nil { return x.Table } return "" } func (x *DomainGetReq) GetK() []byte { if x != nil { return x.K } return nil } func (x *DomainGetReq) GetTs() uint64 { if x != nil { return x.Ts } return 0 } func (x *DomainGetReq) GetK2() []byte { if x != nil { return x.K2 } return nil } func (x *DomainGetReq) GetLatest() bool { if x != nil { return x.Latest } return false } type DomainGetReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields V []byte `protobuf:"bytes,1,opt,name=v,proto3" json:"v,omitempty"` Ok bool `protobuf:"varint,2,opt,name=ok,proto3" json:"ok,omitempty"` } func (x *DomainGetReply) Reset() { *x = DomainGetReply{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DomainGetReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*DomainGetReply) ProtoMessage() {} func (x *DomainGetReply) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DomainGetReply.ProtoReflect.Descriptor instead. func (*DomainGetReply) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{11} } func (x *DomainGetReply) GetV() []byte { if x != nil { return x.V } return nil } func (x *DomainGetReply) GetOk() bool { if x != nil { return x.Ok } return false } type HistoryGetReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TxId uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx() Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` K []byte `protobuf:"bytes,3,opt,name=k,proto3" json:"k,omitempty"` Ts uint64 `protobuf:"varint,4,opt,name=ts,proto3" json:"ts,omitempty"` } func (x *HistoryGetReq) Reset() { *x = HistoryGetReq{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HistoryGetReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*HistoryGetReq) ProtoMessage() {} func (x *HistoryGetReq) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HistoryGetReq.ProtoReflect.Descriptor instead. func (*HistoryGetReq) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{12} } func (x *HistoryGetReq) GetTxId() uint64 { if x != nil { return x.TxId } return 0 } func (x *HistoryGetReq) GetTable() string { if x != nil { return x.Table } return "" } func (x *HistoryGetReq) GetK() []byte { if x != nil { return x.K } return nil } func (x *HistoryGetReq) GetTs() uint64 { if x != nil { return x.Ts } return 0 } type HistoryGetReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields V []byte `protobuf:"bytes,1,opt,name=v,proto3" json:"v,omitempty"` Ok bool `protobuf:"varint,2,opt,name=ok,proto3" json:"ok,omitempty"` } func (x *HistoryGetReply) Reset() { *x = HistoryGetReply{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HistoryGetReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*HistoryGetReply) ProtoMessage() {} func (x *HistoryGetReply) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HistoryGetReply.ProtoReflect.Descriptor instead. func (*HistoryGetReply) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{13} } func (x *HistoryGetReply) GetV() []byte { if x != nil { return x.V } return nil } func (x *HistoryGetReply) GetOk() bool { if x != nil { return x.Ok } return false } type IndexRangeReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TxId uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx() // query params Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` K []byte `protobuf:"bytes,3,opt,name=k,proto3" json:"k,omitempty"` FromTs int64 `protobuf:"zigzag64,4,opt,name=from_ts,json=fromTs,proto3" json:"from_ts,omitempty"` // -1 means Inf ToTs int64 `protobuf:"zigzag64,5,opt,name=to_ts,json=toTs,proto3" json:"to_ts,omitempty"` // -1 means Inf OrderAscend bool `protobuf:"varint,6,opt,name=order_ascend,json=orderAscend,proto3" json:"order_ascend,omitempty"` Limit int64 `protobuf:"zigzag64,7,opt,name=limit,proto3" json:"limit,omitempty"` // <= 0 means no limit // pagination params PageSize int32 `protobuf:"varint,8,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // <= 0 means server will choose PageToken string `protobuf:"bytes,9,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *IndexRangeReq) Reset() { *x = IndexRangeReq{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IndexRangeReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*IndexRangeReq) ProtoMessage() {} func (x *IndexRangeReq) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IndexRangeReq.ProtoReflect.Descriptor instead. func (*IndexRangeReq) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{14} } func (x *IndexRangeReq) GetTxId() uint64 { if x != nil { return x.TxId } return 0 } func (x *IndexRangeReq) GetTable() string { if x != nil { return x.Table } return "" } func (x *IndexRangeReq) GetK() []byte { if x != nil { return x.K } return nil } func (x *IndexRangeReq) GetFromTs() int64 { if x != nil { return x.FromTs } return 0 } func (x *IndexRangeReq) GetToTs() int64 { if x != nil { return x.ToTs } return 0 } func (x *IndexRangeReq) GetOrderAscend() bool { if x != nil { return x.OrderAscend } return false } func (x *IndexRangeReq) GetLimit() int64 { if x != nil { return x.Limit } return 0 } func (x *IndexRangeReq) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *IndexRangeReq) GetPageToken() string { if x != nil { return x.PageToken } return "" } type IndexRangeReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Timestamps []uint64 `protobuf:"varint,1,rep,packed,name=timestamps,proto3" json:"timestamps,omitempty"` //TODO: it can be a bitmap NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` } func (x *IndexRangeReply) Reset() { *x = IndexRangeReply{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IndexRangeReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*IndexRangeReply) ProtoMessage() {} func (x *IndexRangeReply) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IndexRangeReply.ProtoReflect.Descriptor instead. func (*IndexRangeReply) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{15} } func (x *IndexRangeReply) GetTimestamps() []uint64 { if x != nil { return x.Timestamps } return nil } func (x *IndexRangeReply) GetNextPageToken() string { if x != nil { return x.NextPageToken } return "" } type HistoryRangeReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TxId uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx() // query params Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` FromTs int64 `protobuf:"zigzag64,4,opt,name=from_ts,json=fromTs,proto3" json:"from_ts,omitempty"` // -1 means Inf ToTs int64 `protobuf:"zigzag64,5,opt,name=to_ts,json=toTs,proto3" json:"to_ts,omitempty"` // -1 means Inf OrderAscend bool `protobuf:"varint,6,opt,name=order_ascend,json=orderAscend,proto3" json:"order_ascend,omitempty"` Limit int64 `protobuf:"zigzag64,7,opt,name=limit,proto3" json:"limit,omitempty"` // <= 0 means no limit // pagination params PageSize int32 `protobuf:"varint,8,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // <= 0 means server will choose PageToken string `protobuf:"bytes,9,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *HistoryRangeReq) Reset() { *x = HistoryRangeReq{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HistoryRangeReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*HistoryRangeReq) ProtoMessage() {} func (x *HistoryRangeReq) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use HistoryRangeReq.ProtoReflect.Descriptor instead. func (*HistoryRangeReq) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{16} } func (x *HistoryRangeReq) GetTxId() uint64 { if x != nil { return x.TxId } return 0 } func (x *HistoryRangeReq) GetTable() string { if x != nil { return x.Table } return "" } func (x *HistoryRangeReq) GetFromTs() int64 { if x != nil { return x.FromTs } return 0 } func (x *HistoryRangeReq) GetToTs() int64 { if x != nil { return x.ToTs } return 0 } func (x *HistoryRangeReq) GetOrderAscend() bool { if x != nil { return x.OrderAscend } return false } func (x *HistoryRangeReq) GetLimit() int64 { if x != nil { return x.Limit } return 0 } func (x *HistoryRangeReq) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *HistoryRangeReq) GetPageToken() string { if x != nil { return x.PageToken } return "" } type DomainRangeReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TxId uint64 `protobuf:"varint,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // returned by .Tx() // query params Table string `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` FromKey []byte `protobuf:"bytes,3,opt,name=from_key,json=fromKey,proto3" json:"from_key,omitempty"` // nil means Inf ToKey []byte `protobuf:"bytes,4,opt,name=to_key,json=toKey,proto3" json:"to_key,omitempty"` // nil means Inf Ts uint64 `protobuf:"varint,5,opt,name=ts,proto3" json:"ts,omitempty"` Latest bool `protobuf:"varint,6,opt,name=latest,proto3" json:"latest,omitempty"` // if true, then `ts` ignored and return latest state (without history lookup) OrderAscend bool `protobuf:"varint,7,opt,name=order_ascend,json=orderAscend,proto3" json:"order_ascend,omitempty"` Limit int64 `protobuf:"zigzag64,8,opt,name=limit,proto3" json:"limit,omitempty"` // <= 0 means no limit // pagination params PageSize int32 `protobuf:"varint,9,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` // <= 0 means server will choose PageToken string `protobuf:"bytes,10,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` } func (x *DomainRangeReq) Reset() { *x = DomainRangeReq{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DomainRangeReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*DomainRangeReq) ProtoMessage() {} func (x *DomainRangeReq) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DomainRangeReq.ProtoReflect.Descriptor instead. func (*DomainRangeReq) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{17} } func (x *DomainRangeReq) GetTxId() uint64 { if x != nil { return x.TxId } return 0 } func (x *DomainRangeReq) GetTable() string { if x != nil { return x.Table } return "" } func (x *DomainRangeReq) GetFromKey() []byte { if x != nil { return x.FromKey } return nil } func (x *DomainRangeReq) GetToKey() []byte { if x != nil { return x.ToKey } return nil } func (x *DomainRangeReq) GetTs() uint64 { if x != nil { return x.Ts } return 0 } func (x *DomainRangeReq) GetLatest() bool { if x != nil { return x.Latest } return false } func (x *DomainRangeReq) GetOrderAscend() bool { if x != nil { return x.OrderAscend } return false } func (x *DomainRangeReq) GetLimit() int64 { if x != nil { return x.Limit } return 0 } func (x *DomainRangeReq) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *DomainRangeReq) GetPageToken() string { if x != nil { return x.PageToken } return "" } type Pairs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Keys [][]byte `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"` // TODO: replace by lengtsh+arena? Anyway on server we need copy (serialization happening outside tx) Values [][]byte `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"` NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` // uint32 estimateTotal = 3; // send once after stream creation } func (x *Pairs) Reset() { *x = Pairs{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Pairs) String() string { return protoimpl.X.MessageStringOf(x) } func (*Pairs) ProtoMessage() {} func (x *Pairs) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Pairs.ProtoReflect.Descriptor instead. func (*Pairs) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{18} } func (x *Pairs) GetKeys() [][]byte { if x != nil { return x.Keys } return nil } func (x *Pairs) GetValues() [][]byte { if x != nil { return x.Values } return nil } func (x *Pairs) GetNextPageToken() string { if x != nil { return x.NextPageToken } return "" } type ParisPagination struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextKey []byte `protobuf:"bytes,1,opt,name=next_key,json=nextKey,proto3" json:"next_key,omitempty"` Limit int64 `protobuf:"zigzag64,2,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *ParisPagination) Reset() { *x = ParisPagination{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ParisPagination) String() string { return protoimpl.X.MessageStringOf(x) } func (*ParisPagination) ProtoMessage() {} func (x *ParisPagination) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ParisPagination.ProtoReflect.Descriptor instead. func (*ParisPagination) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{19} } func (x *ParisPagination) GetNextKey() []byte { if x != nil { return x.NextKey } return nil } func (x *ParisPagination) GetLimit() int64 { if x != nil { return x.Limit } return 0 } type IndexPagination struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields NextTimeStamp int64 `protobuf:"zigzag64,1,opt,name=next_time_stamp,json=nextTimeStamp,proto3" json:"next_time_stamp,omitempty"` Limit int64 `protobuf:"zigzag64,2,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *IndexPagination) Reset() { *x = IndexPagination{} if protoimpl.UnsafeEnabled { mi := &file_remote_kv_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IndexPagination) String() string { return protoimpl.X.MessageStringOf(x) } func (*IndexPagination) ProtoMessage() {} func (x *IndexPagination) ProtoReflect() protoreflect.Message { mi := &file_remote_kv_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IndexPagination.ProtoReflect.Descriptor instead. func (*IndexPagination) Descriptor() ([]byte, []int) { return file_remote_kv_proto_rawDescGZIP(), []int{20} } func (x *IndexPagination) GetNextTimeStamp() int64 { if x != nil { return x.NextTimeStamp } return 0 } func (x *IndexPagination) GetLimit() int64 { if x != nil { return x.Limit } return 0 } var File_remote_kv_proto protoreflect.FileDescriptor var file_remote_kv_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2f, 0x6b, 0x76, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x79, 0x0a, 0x06, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0a, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x4f, 0x70, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x6b, 0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x76, 0x22, 0x6d, 0x0a, 0x04, 0x50, 0x61, 0x69, 0x72, 0x12, 0x0c, 0x0a, 0x01, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x6b, 0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x76, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x76, 0x69, 0x65, 0x77, 0x49, 0x64, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x22, 0x4c, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe8, 0x01, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x31, 0x36, 0x30, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x63, 0x61, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x63, 0x61, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xb2, 0x02, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x33, 0x0a, 0x16, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x47, 0x61, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x36, 0x0a, 0x18, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x6f, 0x62, 0x46, 0x65, 0x65, 0x50, 0x65, 0x72, 0x47, 0x61, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2a, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x48, 0x32, 0x35, 0x36, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2f, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x03, 0x74, 0x78, 0x73, 0x22, 0x64, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x77, 0x69, 0x74, 0x68, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x77, 0x69, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x58, 0x0a, 0x0e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x74, 0x6f, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7f, 0x0a, 0x0c, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x6b, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x6b, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x22, 0x2e, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x76, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0x58, 0x0a, 0x0d, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x74, 0x73, 0x22, 0x2f, 0x0a, 0x0f, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x76, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x22, 0xeb, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x73, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x6f, 0x5f, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x04, 0x74, 0x6f, 0x54, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x59, 0x0a, 0x0f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdf, 0x01, 0x0a, 0x0f, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x54, 0x73, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x6f, 0x5f, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x04, 0x74, 0x6f, 0x54, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8a, 0x02, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x13, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x66, 0x72, 0x6f, 0x6d, 0x4b, 0x65, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5b, 0x0a, 0x05, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x42, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x69, 0x73, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x4f, 0x0a, 0x0f, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2a, 0x86, 0x02, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x44, 0x55, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45, 0x45, 0x4b, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x45, 0x45, 0x4b, 0x5f, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x41, 0x53, 0x54, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x41, 0x53, 0x54, 0x5f, 0x44, 0x55, 0x50, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x45, 0x58, 0x54, 0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x55, 0x50, 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x4e, 0x4f, 0x5f, 0x44, 0x55, 0x50, 0x10, 0x0b, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x52, 0x45, 0x56, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x45, 0x56, 0x5f, 0x44, 0x55, 0x50, 0x10, 0x0d, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x45, 0x56, 0x5f, 0x4e, 0x4f, 0x5f, 0x44, 0x55, 0x50, 0x10, 0x0e, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x45, 0x45, 0x4b, 0x5f, 0x45, 0x58, 0x41, 0x43, 0x54, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x45, 0x4b, 0x5f, 0x42, 0x4f, 0x54, 0x48, 0x5f, 0x45, 0x58, 0x41, 0x43, 0x54, 0x10, 0x10, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x1e, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x44, 0x55, 0x50, 0x5f, 0x53, 0x4f, 0x52, 0x54, 0x10, 0x20, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x21, 0x2a, 0x48, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x53, 0x45, 0x52, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x50, 0x53, 0x45, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x04, 0x2a, 0x24, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x4e, 0x57, 0x49, 0x4e, 0x44, 0x10, 0x01, 0x32, 0xba, 0x04, 0x0a, 0x02, 0x4b, 0x56, 0x12, 0x36, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x13, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x26, 0x0a, 0x02, 0x54, 0x78, 0x12, 0x0e, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x43, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x1a, 0x0c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x28, 0x01, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x30, 0x01, 0x12, 0x3d, 0x0a, 0x09, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x18, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0d, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x09, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x12, 0x14, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x15, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x36, 0x0a, 0x0c, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x17, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0d, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x0b, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0d, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x73, 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x3b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_remote_kv_proto_rawDescOnce sync.Once file_remote_kv_proto_rawDescData = file_remote_kv_proto_rawDesc ) func file_remote_kv_proto_rawDescGZIP() []byte { file_remote_kv_proto_rawDescOnce.Do(func() { file_remote_kv_proto_rawDescData = protoimpl.X.CompressGZIP(file_remote_kv_proto_rawDescData) }) return file_remote_kv_proto_rawDescData } var file_remote_kv_proto_enumTypes = make([]protoimpl.EnumInfo, 3) var file_remote_kv_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_remote_kv_proto_goTypes = []interface{}{ (Op)(0), // 0: remote.Op (Action)(0), // 1: remote.Action (Direction)(0), // 2: remote.Direction (*Cursor)(nil), // 3: remote.Cursor (*Pair)(nil), // 4: remote.Pair (*StorageChange)(nil), // 5: remote.StorageChange (*AccountChange)(nil), // 6: remote.AccountChange (*StateChangeBatch)(nil), // 7: remote.StateChangeBatch (*StateChange)(nil), // 8: remote.StateChange (*StateChangeRequest)(nil), // 9: remote.StateChangeRequest (*SnapshotsRequest)(nil), // 10: remote.SnapshotsRequest (*SnapshotsReply)(nil), // 11: remote.SnapshotsReply (*RangeReq)(nil), // 12: remote.RangeReq (*DomainGetReq)(nil), // 13: remote.DomainGetReq (*DomainGetReply)(nil), // 14: remote.DomainGetReply (*HistoryGetReq)(nil), // 15: remote.HistoryGetReq (*HistoryGetReply)(nil), // 16: remote.HistoryGetReply (*IndexRangeReq)(nil), // 17: remote.IndexRangeReq (*IndexRangeReply)(nil), // 18: remote.IndexRangeReply (*HistoryRangeReq)(nil), // 19: remote.HistoryRangeReq (*DomainRangeReq)(nil), // 20: remote.DomainRangeReq (*Pairs)(nil), // 21: remote.Pairs (*ParisPagination)(nil), // 22: remote.ParisPagination (*IndexPagination)(nil), // 23: remote.IndexPagination (*types.H256)(nil), // 24: types.H256 (*types.H160)(nil), // 25: types.H160 (*emptypb.Empty)(nil), // 26: google.protobuf.Empty (*types.VersionReply)(nil), // 27: types.VersionReply } var file_remote_kv_proto_depIdxs = []int32{ 0, // 0: remote.Cursor.op:type_name -> remote.Op 24, // 1: remote.StorageChange.location:type_name -> types.H256 25, // 2: remote.AccountChange.address:type_name -> types.H160 1, // 3: remote.AccountChange.action:type_name -> remote.Action 5, // 4: remote.AccountChange.storage_changes:type_name -> remote.StorageChange 8, // 5: remote.StateChangeBatch.change_batch:type_name -> remote.StateChange 2, // 6: remote.StateChange.direction:type_name -> remote.Direction 24, // 7: remote.StateChange.block_hash:type_name -> types.H256 6, // 8: remote.StateChange.changes:type_name -> remote.AccountChange 26, // 9: remote.KV.Version:input_type -> google.protobuf.Empty 3, // 10: remote.KV.Tx:input_type -> remote.Cursor 9, // 11: remote.KV.StateChanges:input_type -> remote.StateChangeRequest 10, // 12: remote.KV.Snapshots:input_type -> remote.SnapshotsRequest 12, // 13: remote.KV.Range:input_type -> remote.RangeReq 13, // 14: remote.KV.DomainGet:input_type -> remote.DomainGetReq 15, // 15: remote.KV.HistoryGet:input_type -> remote.HistoryGetReq 17, // 16: remote.KV.IndexRange:input_type -> remote.IndexRangeReq 19, // 17: remote.KV.HistoryRange:input_type -> remote.HistoryRangeReq 20, // 18: remote.KV.DomainRange:input_type -> remote.DomainRangeReq 27, // 19: remote.KV.Version:output_type -> types.VersionReply 4, // 20: remote.KV.Tx:output_type -> remote.Pair 7, // 21: remote.KV.StateChanges:output_type -> remote.StateChangeBatch 11, // 22: remote.KV.Snapshots:output_type -> remote.SnapshotsReply 21, // 23: remote.KV.Range:output_type -> remote.Pairs 14, // 24: remote.KV.DomainGet:output_type -> remote.DomainGetReply 16, // 25: remote.KV.HistoryGet:output_type -> remote.HistoryGetReply 18, // 26: remote.KV.IndexRange:output_type -> remote.IndexRangeReply 21, // 27: remote.KV.HistoryRange:output_type -> remote.Pairs 21, // 28: remote.KV.DomainRange:output_type -> remote.Pairs 19, // [19:29] is the sub-list for method output_type 9, // [9:19] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_remote_kv_proto_init() } func file_remote_kv_proto_init() { if File_remote_kv_proto != nil { return } if !protoimpl.UnsafeEnabled { file_remote_kv_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Cursor); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pair); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StorageChange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AccountChange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StateChangeBatch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StateChange); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StateChangeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SnapshotsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SnapshotsReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RangeReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DomainGetReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DomainGetReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HistoryGetReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HistoryGetReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IndexRangeReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IndexRangeReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HistoryRangeReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DomainRangeReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Pairs); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ParisPagination); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_remote_kv_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IndexPagination); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_remote_kv_proto_rawDesc, NumEnums: 3, NumMessages: 21, NumExtensions: 0, NumServices: 1, }, GoTypes: file_remote_kv_proto_goTypes, DependencyIndexes: file_remote_kv_proto_depIdxs, EnumInfos: file_remote_kv_proto_enumTypes, MessageInfos: file_remote_kv_proto_msgTypes, }.Build() File_remote_kv_proto = out.File file_remote_kv_proto_rawDesc = nil file_remote_kv_proto_goTypes = nil file_remote_kv_proto_depIdxs = nil }