github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/storage/enginepb/rocksdb.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: storage/enginepb/rocksdb.proto
     3  
     4  package enginepb
     5  
     6  import proto "github.com/gogo/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  import hlc "github.com/cockroachdb/cockroach/pkg/util/hlc"
    10  
    11  import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
    12  import encoding_binary "encoding/binary"
    13  
    14  import io "io"
    15  
    16  // Reference imports to suppress errors if they are not otherwise used.
    17  var _ = proto.Marshal
    18  var _ = fmt.Errorf
    19  var _ = math.Inf
    20  
    21  // This is a compile-time assertion to ensure that this generated file
    22  // is compatible with the proto package it is being compiled against.
    23  // A compilation error at this line likely means your copy of the
    24  // proto package needs to be updated.
    25  const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
    26  
    27  // SSTUserProperties contains the user-added properties of a single sstable.
    28  type SSTUserProperties struct {
    29  	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
    30  	// ts_min is the minimum mvcc timestamp present in this sstable.
    31  	TsMin *hlc.Timestamp `protobuf:"bytes,2,opt,name=ts_min,json=tsMin,proto3" json:"ts_min,omitempty"`
    32  	// ts_max is the maximum mvcc timestamp present in this sstable.
    33  	TsMax *hlc.Timestamp `protobuf:"bytes,3,opt,name=ts_max,json=tsMax,proto3" json:"ts_max,omitempty"`
    34  }
    35  
    36  func (m *SSTUserProperties) Reset()         { *m = SSTUserProperties{} }
    37  func (m *SSTUserProperties) String() string { return proto.CompactTextString(m) }
    38  func (*SSTUserProperties) ProtoMessage()    {}
    39  func (*SSTUserProperties) Descriptor() ([]byte, []int) {
    40  	return fileDescriptor_rocksdb_e0dede928993ad0c, []int{0}
    41  }
    42  func (m *SSTUserProperties) XXX_Unmarshal(b []byte) error {
    43  	return m.Unmarshal(b)
    44  }
    45  func (m *SSTUserProperties) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    46  	b = b[:cap(b)]
    47  	n, err := m.MarshalTo(b)
    48  	if err != nil {
    49  		return nil, err
    50  	}
    51  	return b[:n], nil
    52  }
    53  func (dst *SSTUserProperties) XXX_Merge(src proto.Message) {
    54  	xxx_messageInfo_SSTUserProperties.Merge(dst, src)
    55  }
    56  func (m *SSTUserProperties) XXX_Size() int {
    57  	return m.Size()
    58  }
    59  func (m *SSTUserProperties) XXX_DiscardUnknown() {
    60  	xxx_messageInfo_SSTUserProperties.DiscardUnknown(m)
    61  }
    62  
    63  var xxx_messageInfo_SSTUserProperties proto.InternalMessageInfo
    64  
    65  // SSTUserPropertiesCollection contains the user-added properties of every
    66  // sstable in a RocksDB instance.
    67  type SSTUserPropertiesCollection struct {
    68  	Sst   []SSTUserProperties `protobuf:"bytes,1,rep,name=sst,proto3" json:"sst"`
    69  	Error string              `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
    70  }
    71  
    72  func (m *SSTUserPropertiesCollection) Reset()         { *m = SSTUserPropertiesCollection{} }
    73  func (m *SSTUserPropertiesCollection) String() string { return proto.CompactTextString(m) }
    74  func (*SSTUserPropertiesCollection) ProtoMessage()    {}
    75  func (*SSTUserPropertiesCollection) Descriptor() ([]byte, []int) {
    76  	return fileDescriptor_rocksdb_e0dede928993ad0c, []int{1}
    77  }
    78  func (m *SSTUserPropertiesCollection) XXX_Unmarshal(b []byte) error {
    79  	return m.Unmarshal(b)
    80  }
    81  func (m *SSTUserPropertiesCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    82  	b = b[:cap(b)]
    83  	n, err := m.MarshalTo(b)
    84  	if err != nil {
    85  		return nil, err
    86  	}
    87  	return b[:n], nil
    88  }
    89  func (dst *SSTUserPropertiesCollection) XXX_Merge(src proto.Message) {
    90  	xxx_messageInfo_SSTUserPropertiesCollection.Merge(dst, src)
    91  }
    92  func (m *SSTUserPropertiesCollection) XXX_Size() int {
    93  	return m.Size()
    94  }
    95  func (m *SSTUserPropertiesCollection) XXX_DiscardUnknown() {
    96  	xxx_messageInfo_SSTUserPropertiesCollection.DiscardUnknown(m)
    97  }
    98  
    99  var xxx_messageInfo_SSTUserPropertiesCollection proto.InternalMessageInfo
   100  
   101  // HistogramData holds the relevant metrics returned by a call to
   102  // `rocksdb::Statistics::histogramData()`.
   103  type HistogramData struct {
   104  	Mean  float64 `protobuf:"fixed64,1,opt,name=mean,proto3" json:"mean,omitempty"`
   105  	P50   float64 `protobuf:"fixed64,2,opt,name=p50,proto3" json:"p50,omitempty"`
   106  	P95   float64 `protobuf:"fixed64,3,opt,name=p95,proto3" json:"p95,omitempty"`
   107  	P99   float64 `protobuf:"fixed64,4,opt,name=p99,proto3" json:"p99,omitempty"`
   108  	Max   float64 `protobuf:"fixed64,5,opt,name=max,proto3" json:"max,omitempty"`
   109  	Count uint64  `protobuf:"varint,6,opt,name=count,proto3" json:"count,omitempty"`
   110  	Sum   uint64  `protobuf:"varint,7,opt,name=sum,proto3" json:"sum,omitempty"`
   111  }
   112  
   113  func (m *HistogramData) Reset()         { *m = HistogramData{} }
   114  func (m *HistogramData) String() string { return proto.CompactTextString(m) }
   115  func (*HistogramData) ProtoMessage()    {}
   116  func (*HistogramData) Descriptor() ([]byte, []int) {
   117  	return fileDescriptor_rocksdb_e0dede928993ad0c, []int{2}
   118  }
   119  func (m *HistogramData) XXX_Unmarshal(b []byte) error {
   120  	return m.Unmarshal(b)
   121  }
   122  func (m *HistogramData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   123  	b = b[:cap(b)]
   124  	n, err := m.MarshalTo(b)
   125  	if err != nil {
   126  		return nil, err
   127  	}
   128  	return b[:n], nil
   129  }
   130  func (dst *HistogramData) XXX_Merge(src proto.Message) {
   131  	xxx_messageInfo_HistogramData.Merge(dst, src)
   132  }
   133  func (m *HistogramData) XXX_Size() int {
   134  	return m.Size()
   135  }
   136  func (m *HistogramData) XXX_DiscardUnknown() {
   137  	xxx_messageInfo_HistogramData.DiscardUnknown(m)
   138  }
   139  
   140  var xxx_messageInfo_HistogramData proto.InternalMessageInfo
   141  
   142  // TickersAndHistograms holds maps from ticker/histogram name to its value for
   143  // all stats measured by a `rocksdb::Statistics` object.
   144  type TickersAndHistograms struct {
   145  	Tickers    map[string]uint64        `protobuf:"bytes,1,rep,name=tickers,proto3" json:"tickers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   146  	Histograms map[string]HistogramData `protobuf:"bytes,2,rep,name=histograms,proto3" json:"histograms" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   147  }
   148  
   149  func (m *TickersAndHistograms) Reset()         { *m = TickersAndHistograms{} }
   150  func (m *TickersAndHistograms) String() string { return proto.CompactTextString(m) }
   151  func (*TickersAndHistograms) ProtoMessage()    {}
   152  func (*TickersAndHistograms) Descriptor() ([]byte, []int) {
   153  	return fileDescriptor_rocksdb_e0dede928993ad0c, []int{3}
   154  }
   155  func (m *TickersAndHistograms) XXX_Unmarshal(b []byte) error {
   156  	return m.Unmarshal(b)
   157  }
   158  func (m *TickersAndHistograms) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   159  	b = b[:cap(b)]
   160  	n, err := m.MarshalTo(b)
   161  	if err != nil {
   162  		return nil, err
   163  	}
   164  	return b[:n], nil
   165  }
   166  func (dst *TickersAndHistograms) XXX_Merge(src proto.Message) {
   167  	xxx_messageInfo_TickersAndHistograms.Merge(dst, src)
   168  }
   169  func (m *TickersAndHistograms) XXX_Size() int {
   170  	return m.Size()
   171  }
   172  func (m *TickersAndHistograms) XXX_DiscardUnknown() {
   173  	xxx_messageInfo_TickersAndHistograms.DiscardUnknown(m)
   174  }
   175  
   176  var xxx_messageInfo_TickersAndHistograms proto.InternalMessageInfo
   177  
   178  func init() {
   179  	proto.RegisterType((*SSTUserProperties)(nil), "cockroach.storage.enginepb.SSTUserProperties")
   180  	proto.RegisterType((*SSTUserPropertiesCollection)(nil), "cockroach.storage.enginepb.SSTUserPropertiesCollection")
   181  	proto.RegisterType((*HistogramData)(nil), "cockroach.storage.enginepb.HistogramData")
   182  	proto.RegisterType((*TickersAndHistograms)(nil), "cockroach.storage.enginepb.TickersAndHistograms")
   183  	proto.RegisterMapType((map[string]HistogramData)(nil), "cockroach.storage.enginepb.TickersAndHistograms.HistogramsEntry")
   184  	proto.RegisterMapType((map[string]uint64)(nil), "cockroach.storage.enginepb.TickersAndHistograms.TickersEntry")
   185  }
   186  func (m *SSTUserProperties) Marshal() (dAtA []byte, err error) {
   187  	size := m.Size()
   188  	dAtA = make([]byte, size)
   189  	n, err := m.MarshalTo(dAtA)
   190  	if err != nil {
   191  		return nil, err
   192  	}
   193  	return dAtA[:n], nil
   194  }
   195  
   196  func (m *SSTUserProperties) MarshalTo(dAtA []byte) (int, error) {
   197  	var i int
   198  	_ = i
   199  	var l int
   200  	_ = l
   201  	if len(m.Path) > 0 {
   202  		dAtA[i] = 0xa
   203  		i++
   204  		i = encodeVarintRocksdb(dAtA, i, uint64(len(m.Path)))
   205  		i += copy(dAtA[i:], m.Path)
   206  	}
   207  	if m.TsMin != nil {
   208  		dAtA[i] = 0x12
   209  		i++
   210  		i = encodeVarintRocksdb(dAtA, i, uint64(m.TsMin.Size()))
   211  		n1, err := m.TsMin.MarshalTo(dAtA[i:])
   212  		if err != nil {
   213  			return 0, err
   214  		}
   215  		i += n1
   216  	}
   217  	if m.TsMax != nil {
   218  		dAtA[i] = 0x1a
   219  		i++
   220  		i = encodeVarintRocksdb(dAtA, i, uint64(m.TsMax.Size()))
   221  		n2, err := m.TsMax.MarshalTo(dAtA[i:])
   222  		if err != nil {
   223  			return 0, err
   224  		}
   225  		i += n2
   226  	}
   227  	return i, nil
   228  }
   229  
   230  func (m *SSTUserPropertiesCollection) Marshal() (dAtA []byte, err error) {
   231  	size := m.Size()
   232  	dAtA = make([]byte, size)
   233  	n, err := m.MarshalTo(dAtA)
   234  	if err != nil {
   235  		return nil, err
   236  	}
   237  	return dAtA[:n], nil
   238  }
   239  
   240  func (m *SSTUserPropertiesCollection) MarshalTo(dAtA []byte) (int, error) {
   241  	var i int
   242  	_ = i
   243  	var l int
   244  	_ = l
   245  	if len(m.Sst) > 0 {
   246  		for _, msg := range m.Sst {
   247  			dAtA[i] = 0xa
   248  			i++
   249  			i = encodeVarintRocksdb(dAtA, i, uint64(msg.Size()))
   250  			n, err := msg.MarshalTo(dAtA[i:])
   251  			if err != nil {
   252  				return 0, err
   253  			}
   254  			i += n
   255  		}
   256  	}
   257  	if len(m.Error) > 0 {
   258  		dAtA[i] = 0x12
   259  		i++
   260  		i = encodeVarintRocksdb(dAtA, i, uint64(len(m.Error)))
   261  		i += copy(dAtA[i:], m.Error)
   262  	}
   263  	return i, nil
   264  }
   265  
   266  func (m *HistogramData) Marshal() (dAtA []byte, err error) {
   267  	size := m.Size()
   268  	dAtA = make([]byte, size)
   269  	n, err := m.MarshalTo(dAtA)
   270  	if err != nil {
   271  		return nil, err
   272  	}
   273  	return dAtA[:n], nil
   274  }
   275  
   276  func (m *HistogramData) MarshalTo(dAtA []byte) (int, error) {
   277  	var i int
   278  	_ = i
   279  	var l int
   280  	_ = l
   281  	if m.Mean != 0 {
   282  		dAtA[i] = 0x9
   283  		i++
   284  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Mean))))
   285  		i += 8
   286  	}
   287  	if m.P50 != 0 {
   288  		dAtA[i] = 0x11
   289  		i++
   290  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.P50))))
   291  		i += 8
   292  	}
   293  	if m.P95 != 0 {
   294  		dAtA[i] = 0x19
   295  		i++
   296  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.P95))))
   297  		i += 8
   298  	}
   299  	if m.P99 != 0 {
   300  		dAtA[i] = 0x21
   301  		i++
   302  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.P99))))
   303  		i += 8
   304  	}
   305  	if m.Max != 0 {
   306  		dAtA[i] = 0x29
   307  		i++
   308  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Max))))
   309  		i += 8
   310  	}
   311  	if m.Count != 0 {
   312  		dAtA[i] = 0x30
   313  		i++
   314  		i = encodeVarintRocksdb(dAtA, i, uint64(m.Count))
   315  	}
   316  	if m.Sum != 0 {
   317  		dAtA[i] = 0x38
   318  		i++
   319  		i = encodeVarintRocksdb(dAtA, i, uint64(m.Sum))
   320  	}
   321  	return i, nil
   322  }
   323  
   324  func (m *TickersAndHistograms) Marshal() (dAtA []byte, err error) {
   325  	size := m.Size()
   326  	dAtA = make([]byte, size)
   327  	n, err := m.MarshalTo(dAtA)
   328  	if err != nil {
   329  		return nil, err
   330  	}
   331  	return dAtA[:n], nil
   332  }
   333  
   334  func (m *TickersAndHistograms) MarshalTo(dAtA []byte) (int, error) {
   335  	var i int
   336  	_ = i
   337  	var l int
   338  	_ = l
   339  	if len(m.Tickers) > 0 {
   340  		keysForTickers := make([]string, 0, len(m.Tickers))
   341  		for k := range m.Tickers {
   342  			keysForTickers = append(keysForTickers, string(k))
   343  		}
   344  		github_com_gogo_protobuf_sortkeys.Strings(keysForTickers)
   345  		for _, k := range keysForTickers {
   346  			dAtA[i] = 0xa
   347  			i++
   348  			v := m.Tickers[string(k)]
   349  			mapSize := 1 + len(k) + sovRocksdb(uint64(len(k))) + 1 + sovRocksdb(uint64(v))
   350  			i = encodeVarintRocksdb(dAtA, i, uint64(mapSize))
   351  			dAtA[i] = 0xa
   352  			i++
   353  			i = encodeVarintRocksdb(dAtA, i, uint64(len(k)))
   354  			i += copy(dAtA[i:], k)
   355  			dAtA[i] = 0x10
   356  			i++
   357  			i = encodeVarintRocksdb(dAtA, i, uint64(v))
   358  		}
   359  	}
   360  	if len(m.Histograms) > 0 {
   361  		keysForHistograms := make([]string, 0, len(m.Histograms))
   362  		for k := range m.Histograms {
   363  			keysForHistograms = append(keysForHistograms, string(k))
   364  		}
   365  		github_com_gogo_protobuf_sortkeys.Strings(keysForHistograms)
   366  		for _, k := range keysForHistograms {
   367  			dAtA[i] = 0x12
   368  			i++
   369  			v := m.Histograms[string(k)]
   370  			msgSize := 0
   371  			if (&v) != nil {
   372  				msgSize = (&v).Size()
   373  				msgSize += 1 + sovRocksdb(uint64(msgSize))
   374  			}
   375  			mapSize := 1 + len(k) + sovRocksdb(uint64(len(k))) + msgSize
   376  			i = encodeVarintRocksdb(dAtA, i, uint64(mapSize))
   377  			dAtA[i] = 0xa
   378  			i++
   379  			i = encodeVarintRocksdb(dAtA, i, uint64(len(k)))
   380  			i += copy(dAtA[i:], k)
   381  			dAtA[i] = 0x12
   382  			i++
   383  			i = encodeVarintRocksdb(dAtA, i, uint64((&v).Size()))
   384  			n3, err := (&v).MarshalTo(dAtA[i:])
   385  			if err != nil {
   386  				return 0, err
   387  			}
   388  			i += n3
   389  		}
   390  	}
   391  	return i, nil
   392  }
   393  
   394  func encodeVarintRocksdb(dAtA []byte, offset int, v uint64) int {
   395  	for v >= 1<<7 {
   396  		dAtA[offset] = uint8(v&0x7f | 0x80)
   397  		v >>= 7
   398  		offset++
   399  	}
   400  	dAtA[offset] = uint8(v)
   401  	return offset + 1
   402  }
   403  func (m *SSTUserProperties) Size() (n int) {
   404  	if m == nil {
   405  		return 0
   406  	}
   407  	var l int
   408  	_ = l
   409  	l = len(m.Path)
   410  	if l > 0 {
   411  		n += 1 + l + sovRocksdb(uint64(l))
   412  	}
   413  	if m.TsMin != nil {
   414  		l = m.TsMin.Size()
   415  		n += 1 + l + sovRocksdb(uint64(l))
   416  	}
   417  	if m.TsMax != nil {
   418  		l = m.TsMax.Size()
   419  		n += 1 + l + sovRocksdb(uint64(l))
   420  	}
   421  	return n
   422  }
   423  
   424  func (m *SSTUserPropertiesCollection) Size() (n int) {
   425  	if m == nil {
   426  		return 0
   427  	}
   428  	var l int
   429  	_ = l
   430  	if len(m.Sst) > 0 {
   431  		for _, e := range m.Sst {
   432  			l = e.Size()
   433  			n += 1 + l + sovRocksdb(uint64(l))
   434  		}
   435  	}
   436  	l = len(m.Error)
   437  	if l > 0 {
   438  		n += 1 + l + sovRocksdb(uint64(l))
   439  	}
   440  	return n
   441  }
   442  
   443  func (m *HistogramData) Size() (n int) {
   444  	if m == nil {
   445  		return 0
   446  	}
   447  	var l int
   448  	_ = l
   449  	if m.Mean != 0 {
   450  		n += 9
   451  	}
   452  	if m.P50 != 0 {
   453  		n += 9
   454  	}
   455  	if m.P95 != 0 {
   456  		n += 9
   457  	}
   458  	if m.P99 != 0 {
   459  		n += 9
   460  	}
   461  	if m.Max != 0 {
   462  		n += 9
   463  	}
   464  	if m.Count != 0 {
   465  		n += 1 + sovRocksdb(uint64(m.Count))
   466  	}
   467  	if m.Sum != 0 {
   468  		n += 1 + sovRocksdb(uint64(m.Sum))
   469  	}
   470  	return n
   471  }
   472  
   473  func (m *TickersAndHistograms) Size() (n int) {
   474  	if m == nil {
   475  		return 0
   476  	}
   477  	var l int
   478  	_ = l
   479  	if len(m.Tickers) > 0 {
   480  		for k, v := range m.Tickers {
   481  			_ = k
   482  			_ = v
   483  			mapEntrySize := 1 + len(k) + sovRocksdb(uint64(len(k))) + 1 + sovRocksdb(uint64(v))
   484  			n += mapEntrySize + 1 + sovRocksdb(uint64(mapEntrySize))
   485  		}
   486  	}
   487  	if len(m.Histograms) > 0 {
   488  		for k, v := range m.Histograms {
   489  			_ = k
   490  			_ = v
   491  			l = v.Size()
   492  			mapEntrySize := 1 + len(k) + sovRocksdb(uint64(len(k))) + 1 + l + sovRocksdb(uint64(l))
   493  			n += mapEntrySize + 1 + sovRocksdb(uint64(mapEntrySize))
   494  		}
   495  	}
   496  	return n
   497  }
   498  
   499  func sovRocksdb(x uint64) (n int) {
   500  	for {
   501  		n++
   502  		x >>= 7
   503  		if x == 0 {
   504  			break
   505  		}
   506  	}
   507  	return n
   508  }
   509  func sozRocksdb(x uint64) (n int) {
   510  	return sovRocksdb(uint64((x << 1) ^ uint64((int64(x) >> 63))))
   511  }
   512  func (m *SSTUserProperties) Unmarshal(dAtA []byte) error {
   513  	l := len(dAtA)
   514  	iNdEx := 0
   515  	for iNdEx < l {
   516  		preIndex := iNdEx
   517  		var wire uint64
   518  		for shift := uint(0); ; shift += 7 {
   519  			if shift >= 64 {
   520  				return ErrIntOverflowRocksdb
   521  			}
   522  			if iNdEx >= l {
   523  				return io.ErrUnexpectedEOF
   524  			}
   525  			b := dAtA[iNdEx]
   526  			iNdEx++
   527  			wire |= (uint64(b) & 0x7F) << shift
   528  			if b < 0x80 {
   529  				break
   530  			}
   531  		}
   532  		fieldNum := int32(wire >> 3)
   533  		wireType := int(wire & 0x7)
   534  		if wireType == 4 {
   535  			return fmt.Errorf("proto: SSTUserProperties: wiretype end group for non-group")
   536  		}
   537  		if fieldNum <= 0 {
   538  			return fmt.Errorf("proto: SSTUserProperties: illegal tag %d (wire type %d)", fieldNum, wire)
   539  		}
   540  		switch fieldNum {
   541  		case 1:
   542  			if wireType != 2 {
   543  				return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType)
   544  			}
   545  			var stringLen uint64
   546  			for shift := uint(0); ; shift += 7 {
   547  				if shift >= 64 {
   548  					return ErrIntOverflowRocksdb
   549  				}
   550  				if iNdEx >= l {
   551  					return io.ErrUnexpectedEOF
   552  				}
   553  				b := dAtA[iNdEx]
   554  				iNdEx++
   555  				stringLen |= (uint64(b) & 0x7F) << shift
   556  				if b < 0x80 {
   557  					break
   558  				}
   559  			}
   560  			intStringLen := int(stringLen)
   561  			if intStringLen < 0 {
   562  				return ErrInvalidLengthRocksdb
   563  			}
   564  			postIndex := iNdEx + intStringLen
   565  			if postIndex > l {
   566  				return io.ErrUnexpectedEOF
   567  			}
   568  			m.Path = string(dAtA[iNdEx:postIndex])
   569  			iNdEx = postIndex
   570  		case 2:
   571  			if wireType != 2 {
   572  				return fmt.Errorf("proto: wrong wireType = %d for field TsMin", wireType)
   573  			}
   574  			var msglen int
   575  			for shift := uint(0); ; shift += 7 {
   576  				if shift >= 64 {
   577  					return ErrIntOverflowRocksdb
   578  				}
   579  				if iNdEx >= l {
   580  					return io.ErrUnexpectedEOF
   581  				}
   582  				b := dAtA[iNdEx]
   583  				iNdEx++
   584  				msglen |= (int(b) & 0x7F) << shift
   585  				if b < 0x80 {
   586  					break
   587  				}
   588  			}
   589  			if msglen < 0 {
   590  				return ErrInvalidLengthRocksdb
   591  			}
   592  			postIndex := iNdEx + msglen
   593  			if postIndex > l {
   594  				return io.ErrUnexpectedEOF
   595  			}
   596  			if m.TsMin == nil {
   597  				m.TsMin = &hlc.Timestamp{}
   598  			}
   599  			if err := m.TsMin.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   600  				return err
   601  			}
   602  			iNdEx = postIndex
   603  		case 3:
   604  			if wireType != 2 {
   605  				return fmt.Errorf("proto: wrong wireType = %d for field TsMax", wireType)
   606  			}
   607  			var msglen int
   608  			for shift := uint(0); ; shift += 7 {
   609  				if shift >= 64 {
   610  					return ErrIntOverflowRocksdb
   611  				}
   612  				if iNdEx >= l {
   613  					return io.ErrUnexpectedEOF
   614  				}
   615  				b := dAtA[iNdEx]
   616  				iNdEx++
   617  				msglen |= (int(b) & 0x7F) << shift
   618  				if b < 0x80 {
   619  					break
   620  				}
   621  			}
   622  			if msglen < 0 {
   623  				return ErrInvalidLengthRocksdb
   624  			}
   625  			postIndex := iNdEx + msglen
   626  			if postIndex > l {
   627  				return io.ErrUnexpectedEOF
   628  			}
   629  			if m.TsMax == nil {
   630  				m.TsMax = &hlc.Timestamp{}
   631  			}
   632  			if err := m.TsMax.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   633  				return err
   634  			}
   635  			iNdEx = postIndex
   636  		default:
   637  			iNdEx = preIndex
   638  			skippy, err := skipRocksdb(dAtA[iNdEx:])
   639  			if err != nil {
   640  				return err
   641  			}
   642  			if skippy < 0 {
   643  				return ErrInvalidLengthRocksdb
   644  			}
   645  			if (iNdEx + skippy) > l {
   646  				return io.ErrUnexpectedEOF
   647  			}
   648  			iNdEx += skippy
   649  		}
   650  	}
   651  
   652  	if iNdEx > l {
   653  		return io.ErrUnexpectedEOF
   654  	}
   655  	return nil
   656  }
   657  func (m *SSTUserPropertiesCollection) Unmarshal(dAtA []byte) error {
   658  	l := len(dAtA)
   659  	iNdEx := 0
   660  	for iNdEx < l {
   661  		preIndex := iNdEx
   662  		var wire uint64
   663  		for shift := uint(0); ; shift += 7 {
   664  			if shift >= 64 {
   665  				return ErrIntOverflowRocksdb
   666  			}
   667  			if iNdEx >= l {
   668  				return io.ErrUnexpectedEOF
   669  			}
   670  			b := dAtA[iNdEx]
   671  			iNdEx++
   672  			wire |= (uint64(b) & 0x7F) << shift
   673  			if b < 0x80 {
   674  				break
   675  			}
   676  		}
   677  		fieldNum := int32(wire >> 3)
   678  		wireType := int(wire & 0x7)
   679  		if wireType == 4 {
   680  			return fmt.Errorf("proto: SSTUserPropertiesCollection: wiretype end group for non-group")
   681  		}
   682  		if fieldNum <= 0 {
   683  			return fmt.Errorf("proto: SSTUserPropertiesCollection: illegal tag %d (wire type %d)", fieldNum, wire)
   684  		}
   685  		switch fieldNum {
   686  		case 1:
   687  			if wireType != 2 {
   688  				return fmt.Errorf("proto: wrong wireType = %d for field Sst", wireType)
   689  			}
   690  			var msglen int
   691  			for shift := uint(0); ; shift += 7 {
   692  				if shift >= 64 {
   693  					return ErrIntOverflowRocksdb
   694  				}
   695  				if iNdEx >= l {
   696  					return io.ErrUnexpectedEOF
   697  				}
   698  				b := dAtA[iNdEx]
   699  				iNdEx++
   700  				msglen |= (int(b) & 0x7F) << shift
   701  				if b < 0x80 {
   702  					break
   703  				}
   704  			}
   705  			if msglen < 0 {
   706  				return ErrInvalidLengthRocksdb
   707  			}
   708  			postIndex := iNdEx + msglen
   709  			if postIndex > l {
   710  				return io.ErrUnexpectedEOF
   711  			}
   712  			m.Sst = append(m.Sst, SSTUserProperties{})
   713  			if err := m.Sst[len(m.Sst)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   714  				return err
   715  			}
   716  			iNdEx = postIndex
   717  		case 2:
   718  			if wireType != 2 {
   719  				return fmt.Errorf("proto: wrong wireType = %d for field Error", wireType)
   720  			}
   721  			var stringLen uint64
   722  			for shift := uint(0); ; shift += 7 {
   723  				if shift >= 64 {
   724  					return ErrIntOverflowRocksdb
   725  				}
   726  				if iNdEx >= l {
   727  					return io.ErrUnexpectedEOF
   728  				}
   729  				b := dAtA[iNdEx]
   730  				iNdEx++
   731  				stringLen |= (uint64(b) & 0x7F) << shift
   732  				if b < 0x80 {
   733  					break
   734  				}
   735  			}
   736  			intStringLen := int(stringLen)
   737  			if intStringLen < 0 {
   738  				return ErrInvalidLengthRocksdb
   739  			}
   740  			postIndex := iNdEx + intStringLen
   741  			if postIndex > l {
   742  				return io.ErrUnexpectedEOF
   743  			}
   744  			m.Error = string(dAtA[iNdEx:postIndex])
   745  			iNdEx = postIndex
   746  		default:
   747  			iNdEx = preIndex
   748  			skippy, err := skipRocksdb(dAtA[iNdEx:])
   749  			if err != nil {
   750  				return err
   751  			}
   752  			if skippy < 0 {
   753  				return ErrInvalidLengthRocksdb
   754  			}
   755  			if (iNdEx + skippy) > l {
   756  				return io.ErrUnexpectedEOF
   757  			}
   758  			iNdEx += skippy
   759  		}
   760  	}
   761  
   762  	if iNdEx > l {
   763  		return io.ErrUnexpectedEOF
   764  	}
   765  	return nil
   766  }
   767  func (m *HistogramData) Unmarshal(dAtA []byte) error {
   768  	l := len(dAtA)
   769  	iNdEx := 0
   770  	for iNdEx < l {
   771  		preIndex := iNdEx
   772  		var wire uint64
   773  		for shift := uint(0); ; shift += 7 {
   774  			if shift >= 64 {
   775  				return ErrIntOverflowRocksdb
   776  			}
   777  			if iNdEx >= l {
   778  				return io.ErrUnexpectedEOF
   779  			}
   780  			b := dAtA[iNdEx]
   781  			iNdEx++
   782  			wire |= (uint64(b) & 0x7F) << shift
   783  			if b < 0x80 {
   784  				break
   785  			}
   786  		}
   787  		fieldNum := int32(wire >> 3)
   788  		wireType := int(wire & 0x7)
   789  		if wireType == 4 {
   790  			return fmt.Errorf("proto: HistogramData: wiretype end group for non-group")
   791  		}
   792  		if fieldNum <= 0 {
   793  			return fmt.Errorf("proto: HistogramData: illegal tag %d (wire type %d)", fieldNum, wire)
   794  		}
   795  		switch fieldNum {
   796  		case 1:
   797  			if wireType != 1 {
   798  				return fmt.Errorf("proto: wrong wireType = %d for field Mean", wireType)
   799  			}
   800  			var v uint64
   801  			if (iNdEx + 8) > l {
   802  				return io.ErrUnexpectedEOF
   803  			}
   804  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
   805  			iNdEx += 8
   806  			m.Mean = float64(math.Float64frombits(v))
   807  		case 2:
   808  			if wireType != 1 {
   809  				return fmt.Errorf("proto: wrong wireType = %d for field P50", wireType)
   810  			}
   811  			var v uint64
   812  			if (iNdEx + 8) > l {
   813  				return io.ErrUnexpectedEOF
   814  			}
   815  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
   816  			iNdEx += 8
   817  			m.P50 = float64(math.Float64frombits(v))
   818  		case 3:
   819  			if wireType != 1 {
   820  				return fmt.Errorf("proto: wrong wireType = %d for field P95", wireType)
   821  			}
   822  			var v uint64
   823  			if (iNdEx + 8) > l {
   824  				return io.ErrUnexpectedEOF
   825  			}
   826  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
   827  			iNdEx += 8
   828  			m.P95 = float64(math.Float64frombits(v))
   829  		case 4:
   830  			if wireType != 1 {
   831  				return fmt.Errorf("proto: wrong wireType = %d for field P99", wireType)
   832  			}
   833  			var v uint64
   834  			if (iNdEx + 8) > l {
   835  				return io.ErrUnexpectedEOF
   836  			}
   837  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
   838  			iNdEx += 8
   839  			m.P99 = float64(math.Float64frombits(v))
   840  		case 5:
   841  			if wireType != 1 {
   842  				return fmt.Errorf("proto: wrong wireType = %d for field Max", wireType)
   843  			}
   844  			var v uint64
   845  			if (iNdEx + 8) > l {
   846  				return io.ErrUnexpectedEOF
   847  			}
   848  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
   849  			iNdEx += 8
   850  			m.Max = float64(math.Float64frombits(v))
   851  		case 6:
   852  			if wireType != 0 {
   853  				return fmt.Errorf("proto: wrong wireType = %d for field Count", wireType)
   854  			}
   855  			m.Count = 0
   856  			for shift := uint(0); ; shift += 7 {
   857  				if shift >= 64 {
   858  					return ErrIntOverflowRocksdb
   859  				}
   860  				if iNdEx >= l {
   861  					return io.ErrUnexpectedEOF
   862  				}
   863  				b := dAtA[iNdEx]
   864  				iNdEx++
   865  				m.Count |= (uint64(b) & 0x7F) << shift
   866  				if b < 0x80 {
   867  					break
   868  				}
   869  			}
   870  		case 7:
   871  			if wireType != 0 {
   872  				return fmt.Errorf("proto: wrong wireType = %d for field Sum", wireType)
   873  			}
   874  			m.Sum = 0
   875  			for shift := uint(0); ; shift += 7 {
   876  				if shift >= 64 {
   877  					return ErrIntOverflowRocksdb
   878  				}
   879  				if iNdEx >= l {
   880  					return io.ErrUnexpectedEOF
   881  				}
   882  				b := dAtA[iNdEx]
   883  				iNdEx++
   884  				m.Sum |= (uint64(b) & 0x7F) << shift
   885  				if b < 0x80 {
   886  					break
   887  				}
   888  			}
   889  		default:
   890  			iNdEx = preIndex
   891  			skippy, err := skipRocksdb(dAtA[iNdEx:])
   892  			if err != nil {
   893  				return err
   894  			}
   895  			if skippy < 0 {
   896  				return ErrInvalidLengthRocksdb
   897  			}
   898  			if (iNdEx + skippy) > l {
   899  				return io.ErrUnexpectedEOF
   900  			}
   901  			iNdEx += skippy
   902  		}
   903  	}
   904  
   905  	if iNdEx > l {
   906  		return io.ErrUnexpectedEOF
   907  	}
   908  	return nil
   909  }
   910  func (m *TickersAndHistograms) Unmarshal(dAtA []byte) error {
   911  	l := len(dAtA)
   912  	iNdEx := 0
   913  	for iNdEx < l {
   914  		preIndex := iNdEx
   915  		var wire uint64
   916  		for shift := uint(0); ; shift += 7 {
   917  			if shift >= 64 {
   918  				return ErrIntOverflowRocksdb
   919  			}
   920  			if iNdEx >= l {
   921  				return io.ErrUnexpectedEOF
   922  			}
   923  			b := dAtA[iNdEx]
   924  			iNdEx++
   925  			wire |= (uint64(b) & 0x7F) << shift
   926  			if b < 0x80 {
   927  				break
   928  			}
   929  		}
   930  		fieldNum := int32(wire >> 3)
   931  		wireType := int(wire & 0x7)
   932  		if wireType == 4 {
   933  			return fmt.Errorf("proto: TickersAndHistograms: wiretype end group for non-group")
   934  		}
   935  		if fieldNum <= 0 {
   936  			return fmt.Errorf("proto: TickersAndHistograms: illegal tag %d (wire type %d)", fieldNum, wire)
   937  		}
   938  		switch fieldNum {
   939  		case 1:
   940  			if wireType != 2 {
   941  				return fmt.Errorf("proto: wrong wireType = %d for field Tickers", wireType)
   942  			}
   943  			var msglen int
   944  			for shift := uint(0); ; shift += 7 {
   945  				if shift >= 64 {
   946  					return ErrIntOverflowRocksdb
   947  				}
   948  				if iNdEx >= l {
   949  					return io.ErrUnexpectedEOF
   950  				}
   951  				b := dAtA[iNdEx]
   952  				iNdEx++
   953  				msglen |= (int(b) & 0x7F) << shift
   954  				if b < 0x80 {
   955  					break
   956  				}
   957  			}
   958  			if msglen < 0 {
   959  				return ErrInvalidLengthRocksdb
   960  			}
   961  			postIndex := iNdEx + msglen
   962  			if postIndex > l {
   963  				return io.ErrUnexpectedEOF
   964  			}
   965  			if m.Tickers == nil {
   966  				m.Tickers = make(map[string]uint64)
   967  			}
   968  			var mapkey string
   969  			var mapvalue uint64
   970  			for iNdEx < postIndex {
   971  				entryPreIndex := iNdEx
   972  				var wire uint64
   973  				for shift := uint(0); ; shift += 7 {
   974  					if shift >= 64 {
   975  						return ErrIntOverflowRocksdb
   976  					}
   977  					if iNdEx >= l {
   978  						return io.ErrUnexpectedEOF
   979  					}
   980  					b := dAtA[iNdEx]
   981  					iNdEx++
   982  					wire |= (uint64(b) & 0x7F) << shift
   983  					if b < 0x80 {
   984  						break
   985  					}
   986  				}
   987  				fieldNum := int32(wire >> 3)
   988  				if fieldNum == 1 {
   989  					var stringLenmapkey uint64
   990  					for shift := uint(0); ; shift += 7 {
   991  						if shift >= 64 {
   992  							return ErrIntOverflowRocksdb
   993  						}
   994  						if iNdEx >= l {
   995  							return io.ErrUnexpectedEOF
   996  						}
   997  						b := dAtA[iNdEx]
   998  						iNdEx++
   999  						stringLenmapkey |= (uint64(b) & 0x7F) << shift
  1000  						if b < 0x80 {
  1001  							break
  1002  						}
  1003  					}
  1004  					intStringLenmapkey := int(stringLenmapkey)
  1005  					if intStringLenmapkey < 0 {
  1006  						return ErrInvalidLengthRocksdb
  1007  					}
  1008  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  1009  					if postStringIndexmapkey > l {
  1010  						return io.ErrUnexpectedEOF
  1011  					}
  1012  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  1013  					iNdEx = postStringIndexmapkey
  1014  				} else if fieldNum == 2 {
  1015  					for shift := uint(0); ; shift += 7 {
  1016  						if shift >= 64 {
  1017  							return ErrIntOverflowRocksdb
  1018  						}
  1019  						if iNdEx >= l {
  1020  							return io.ErrUnexpectedEOF
  1021  						}
  1022  						b := dAtA[iNdEx]
  1023  						iNdEx++
  1024  						mapvalue |= (uint64(b) & 0x7F) << shift
  1025  						if b < 0x80 {
  1026  							break
  1027  						}
  1028  					}
  1029  				} else {
  1030  					iNdEx = entryPreIndex
  1031  					skippy, err := skipRocksdb(dAtA[iNdEx:])
  1032  					if err != nil {
  1033  						return err
  1034  					}
  1035  					if skippy < 0 {
  1036  						return ErrInvalidLengthRocksdb
  1037  					}
  1038  					if (iNdEx + skippy) > postIndex {
  1039  						return io.ErrUnexpectedEOF
  1040  					}
  1041  					iNdEx += skippy
  1042  				}
  1043  			}
  1044  			m.Tickers[mapkey] = mapvalue
  1045  			iNdEx = postIndex
  1046  		case 2:
  1047  			if wireType != 2 {
  1048  				return fmt.Errorf("proto: wrong wireType = %d for field Histograms", wireType)
  1049  			}
  1050  			var msglen int
  1051  			for shift := uint(0); ; shift += 7 {
  1052  				if shift >= 64 {
  1053  					return ErrIntOverflowRocksdb
  1054  				}
  1055  				if iNdEx >= l {
  1056  					return io.ErrUnexpectedEOF
  1057  				}
  1058  				b := dAtA[iNdEx]
  1059  				iNdEx++
  1060  				msglen |= (int(b) & 0x7F) << shift
  1061  				if b < 0x80 {
  1062  					break
  1063  				}
  1064  			}
  1065  			if msglen < 0 {
  1066  				return ErrInvalidLengthRocksdb
  1067  			}
  1068  			postIndex := iNdEx + msglen
  1069  			if postIndex > l {
  1070  				return io.ErrUnexpectedEOF
  1071  			}
  1072  			if m.Histograms == nil {
  1073  				m.Histograms = make(map[string]HistogramData)
  1074  			}
  1075  			var mapkey string
  1076  			mapvalue := &HistogramData{}
  1077  			for iNdEx < postIndex {
  1078  				entryPreIndex := iNdEx
  1079  				var wire uint64
  1080  				for shift := uint(0); ; shift += 7 {
  1081  					if shift >= 64 {
  1082  						return ErrIntOverflowRocksdb
  1083  					}
  1084  					if iNdEx >= l {
  1085  						return io.ErrUnexpectedEOF
  1086  					}
  1087  					b := dAtA[iNdEx]
  1088  					iNdEx++
  1089  					wire |= (uint64(b) & 0x7F) << shift
  1090  					if b < 0x80 {
  1091  						break
  1092  					}
  1093  				}
  1094  				fieldNum := int32(wire >> 3)
  1095  				if fieldNum == 1 {
  1096  					var stringLenmapkey uint64
  1097  					for shift := uint(0); ; shift += 7 {
  1098  						if shift >= 64 {
  1099  							return ErrIntOverflowRocksdb
  1100  						}
  1101  						if iNdEx >= l {
  1102  							return io.ErrUnexpectedEOF
  1103  						}
  1104  						b := dAtA[iNdEx]
  1105  						iNdEx++
  1106  						stringLenmapkey |= (uint64(b) & 0x7F) << shift
  1107  						if b < 0x80 {
  1108  							break
  1109  						}
  1110  					}
  1111  					intStringLenmapkey := int(stringLenmapkey)
  1112  					if intStringLenmapkey < 0 {
  1113  						return ErrInvalidLengthRocksdb
  1114  					}
  1115  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  1116  					if postStringIndexmapkey > l {
  1117  						return io.ErrUnexpectedEOF
  1118  					}
  1119  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  1120  					iNdEx = postStringIndexmapkey
  1121  				} else if fieldNum == 2 {
  1122  					var mapmsglen int
  1123  					for shift := uint(0); ; shift += 7 {
  1124  						if shift >= 64 {
  1125  							return ErrIntOverflowRocksdb
  1126  						}
  1127  						if iNdEx >= l {
  1128  							return io.ErrUnexpectedEOF
  1129  						}
  1130  						b := dAtA[iNdEx]
  1131  						iNdEx++
  1132  						mapmsglen |= (int(b) & 0x7F) << shift
  1133  						if b < 0x80 {
  1134  							break
  1135  						}
  1136  					}
  1137  					if mapmsglen < 0 {
  1138  						return ErrInvalidLengthRocksdb
  1139  					}
  1140  					postmsgIndex := iNdEx + mapmsglen
  1141  					if mapmsglen < 0 {
  1142  						return ErrInvalidLengthRocksdb
  1143  					}
  1144  					if postmsgIndex > l {
  1145  						return io.ErrUnexpectedEOF
  1146  					}
  1147  					mapvalue = &HistogramData{}
  1148  					if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
  1149  						return err
  1150  					}
  1151  					iNdEx = postmsgIndex
  1152  				} else {
  1153  					iNdEx = entryPreIndex
  1154  					skippy, err := skipRocksdb(dAtA[iNdEx:])
  1155  					if err != nil {
  1156  						return err
  1157  					}
  1158  					if skippy < 0 {
  1159  						return ErrInvalidLengthRocksdb
  1160  					}
  1161  					if (iNdEx + skippy) > postIndex {
  1162  						return io.ErrUnexpectedEOF
  1163  					}
  1164  					iNdEx += skippy
  1165  				}
  1166  			}
  1167  			m.Histograms[mapkey] = *mapvalue
  1168  			iNdEx = postIndex
  1169  		default:
  1170  			iNdEx = preIndex
  1171  			skippy, err := skipRocksdb(dAtA[iNdEx:])
  1172  			if err != nil {
  1173  				return err
  1174  			}
  1175  			if skippy < 0 {
  1176  				return ErrInvalidLengthRocksdb
  1177  			}
  1178  			if (iNdEx + skippy) > l {
  1179  				return io.ErrUnexpectedEOF
  1180  			}
  1181  			iNdEx += skippy
  1182  		}
  1183  	}
  1184  
  1185  	if iNdEx > l {
  1186  		return io.ErrUnexpectedEOF
  1187  	}
  1188  	return nil
  1189  }
  1190  func skipRocksdb(dAtA []byte) (n int, err error) {
  1191  	l := len(dAtA)
  1192  	iNdEx := 0
  1193  	for iNdEx < l {
  1194  		var wire uint64
  1195  		for shift := uint(0); ; shift += 7 {
  1196  			if shift >= 64 {
  1197  				return 0, ErrIntOverflowRocksdb
  1198  			}
  1199  			if iNdEx >= l {
  1200  				return 0, io.ErrUnexpectedEOF
  1201  			}
  1202  			b := dAtA[iNdEx]
  1203  			iNdEx++
  1204  			wire |= (uint64(b) & 0x7F) << shift
  1205  			if b < 0x80 {
  1206  				break
  1207  			}
  1208  		}
  1209  		wireType := int(wire & 0x7)
  1210  		switch wireType {
  1211  		case 0:
  1212  			for shift := uint(0); ; shift += 7 {
  1213  				if shift >= 64 {
  1214  					return 0, ErrIntOverflowRocksdb
  1215  				}
  1216  				if iNdEx >= l {
  1217  					return 0, io.ErrUnexpectedEOF
  1218  				}
  1219  				iNdEx++
  1220  				if dAtA[iNdEx-1] < 0x80 {
  1221  					break
  1222  				}
  1223  			}
  1224  			return iNdEx, nil
  1225  		case 1:
  1226  			iNdEx += 8
  1227  			return iNdEx, nil
  1228  		case 2:
  1229  			var length int
  1230  			for shift := uint(0); ; shift += 7 {
  1231  				if shift >= 64 {
  1232  					return 0, ErrIntOverflowRocksdb
  1233  				}
  1234  				if iNdEx >= l {
  1235  					return 0, io.ErrUnexpectedEOF
  1236  				}
  1237  				b := dAtA[iNdEx]
  1238  				iNdEx++
  1239  				length |= (int(b) & 0x7F) << shift
  1240  				if b < 0x80 {
  1241  					break
  1242  				}
  1243  			}
  1244  			iNdEx += length
  1245  			if length < 0 {
  1246  				return 0, ErrInvalidLengthRocksdb
  1247  			}
  1248  			return iNdEx, nil
  1249  		case 3:
  1250  			for {
  1251  				var innerWire uint64
  1252  				var start int = iNdEx
  1253  				for shift := uint(0); ; shift += 7 {
  1254  					if shift >= 64 {
  1255  						return 0, ErrIntOverflowRocksdb
  1256  					}
  1257  					if iNdEx >= l {
  1258  						return 0, io.ErrUnexpectedEOF
  1259  					}
  1260  					b := dAtA[iNdEx]
  1261  					iNdEx++
  1262  					innerWire |= (uint64(b) & 0x7F) << shift
  1263  					if b < 0x80 {
  1264  						break
  1265  					}
  1266  				}
  1267  				innerWireType := int(innerWire & 0x7)
  1268  				if innerWireType == 4 {
  1269  					break
  1270  				}
  1271  				next, err := skipRocksdb(dAtA[start:])
  1272  				if err != nil {
  1273  					return 0, err
  1274  				}
  1275  				iNdEx = start + next
  1276  			}
  1277  			return iNdEx, nil
  1278  		case 4:
  1279  			return iNdEx, nil
  1280  		case 5:
  1281  			iNdEx += 4
  1282  			return iNdEx, nil
  1283  		default:
  1284  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  1285  		}
  1286  	}
  1287  	panic("unreachable")
  1288  }
  1289  
  1290  var (
  1291  	ErrInvalidLengthRocksdb = fmt.Errorf("proto: negative length found during unmarshaling")
  1292  	ErrIntOverflowRocksdb   = fmt.Errorf("proto: integer overflow")
  1293  )
  1294  
  1295  func init() {
  1296  	proto.RegisterFile("storage/enginepb/rocksdb.proto", fileDescriptor_rocksdb_e0dede928993ad0c)
  1297  }
  1298  
  1299  var fileDescriptor_rocksdb_e0dede928993ad0c = []byte{
  1300  	// 495 bytes of a gzipped FileDescriptorProto
  1301  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0x41, 0x6b, 0x13, 0x41,
  1302  	0x14, 0xde, 0x49, 0xb6, 0xa9, 0x9d, 0x28, 0xea, 0x92, 0xc3, 0xb2, 0xe2, 0x18, 0x72, 0x8a, 0x82,
  1303  	0xbb, 0x12, 0x0d, 0x98, 0x82, 0xa8, 0xd5, 0x82, 0x17, 0x41, 0xa6, 0x11, 0xc1, 0x8b, 0x4c, 0xa6,
  1304  	0xe3, 0xee, 0x90, 0xdd, 0x99, 0x65, 0x66, 0x22, 0xa9, 0xbf, 0x42, 0xf0, 0x4f, 0xe5, 0xd8, 0x63,
  1305  	0x4f, 0xa2, 0xc9, 0xef, 0x10, 0x64, 0x66, 0xb3, 0x6d, 0xb4, 0xb5, 0xe8, 0xed, 0x7b, 0x1f, 0xef,
  1306  	0xfb, 0xde, 0x7b, 0xdf, 0xee, 0x40, 0xa4, 0x8d, 0x54, 0x24, 0x65, 0x09, 0x13, 0x29, 0x17, 0xac,
  1307  	0x9c, 0x24, 0x4a, 0xd2, 0xa9, 0x3e, 0x9c, 0xc4, 0xa5, 0x92, 0x46, 0x06, 0x11, 0x95, 0x74, 0xaa,
  1308  	0x24, 0xa1, 0x59, 0xbc, 0xee, 0x8c, 0xeb, 0xce, 0x28, 0x9c, 0x19, 0x9e, 0x27, 0x59, 0x4e, 0x13,
  1309  	0xc3, 0x0b, 0xa6, 0x0d, 0x29, 0xca, 0x4a, 0x15, 0x75, 0x52, 0x99, 0x4a, 0x07, 0x13, 0x8b, 0x2a,
  1310  	0xb6, 0xf7, 0x15, 0xc0, 0x9b, 0x07, 0x07, 0xe3, 0xb7, 0x9a, 0xa9, 0x37, 0x4a, 0x96, 0x4c, 0x19,
  1311  	0xce, 0x74, 0x10, 0x40, 0xbf, 0x24, 0x26, 0x0b, 0x41, 0x17, 0xf4, 0x77, 0xb0, 0xc3, 0xc1, 0x23,
  1312  	0xd8, 0x32, 0xfa, 0x43, 0xc1, 0x45, 0xd8, 0xe8, 0x82, 0x7e, 0x7b, 0x70, 0x3b, 0x3e, 0x5b, 0xc3,
  1313  	0x0e, 0x8d, 0xb3, 0x9c, 0xc6, 0xe3, 0x7a, 0x28, 0xde, 0x32, 0xfa, 0x35, 0x17, 0xb5, 0x8a, 0xcc,
  1314  	0xc3, 0xe6, 0xbf, 0xaa, 0xc8, 0xbc, 0xf7, 0x19, 0xde, 0x3a, 0xb7, 0xd4, 0x0b, 0x99, 0xe7, 0x8c,
  1315  	0x1a, 0x2e, 0x45, 0xb0, 0x0f, 0x9b, 0x5a, 0x9b, 0x10, 0x74, 0x9b, 0xfd, 0xf6, 0xe0, 0x7e, 0xfc,
  1316  	0xf7, 0x38, 0xe2, 0x73, 0x2e, 0x7b, 0xfe, 0xe2, 0xdb, 0x1d, 0x0f, 0x5b, 0x7d, 0xd0, 0x81, 0x5b,
  1317  	0x4c, 0x29, 0xa9, 0xdc, 0x41, 0x3b, 0xb8, 0x2a, 0x6c, 0x22, 0xd7, 0x5e, 0x71, 0x6d, 0x64, 0xaa,
  1318  	0x48, 0xf1, 0x92, 0x18, 0x62, 0xd3, 0x28, 0x18, 0x11, 0x2e, 0x0d, 0x80, 0x1d, 0x0e, 0x6e, 0xc0,
  1319  	0x66, 0x39, 0x7c, 0xe0, 0x94, 0x00, 0x5b, 0xe8, 0x98, 0xd1, 0xd0, 0x9d, 0x69, 0x99, 0xd1, 0xb0,
  1320  	0x62, 0x46, 0xa1, 0x5f, 0x33, 0x23, 0xcb, 0xd8, 0x28, 0xb6, 0x2a, 0xa6, 0x20, 0x73, 0xbb, 0x03,
  1321  	0x95, 0x33, 0x61, 0xc2, 0x56, 0x17, 0xf4, 0x7d, 0x5c, 0x15, 0xb6, 0x4f, 0xcf, 0x8a, 0x70, 0xdb,
  1322  	0x71, 0x16, 0xf6, 0x7e, 0x36, 0x60, 0x67, 0xcc, 0xe9, 0x94, 0x29, 0xfd, 0x5c, 0x1c, 0x9e, 0xee,
  1323  	0xa7, 0x83, 0x77, 0x70, 0xdb, 0x54, 0xfc, 0x3a, 0x8f, 0x27, 0x97, 0xe5, 0x71, 0x91, 0x45, 0x4d,
  1324  	0xee, 0x0b, 0xa3, 0x8e, 0x70, 0xed, 0x16, 0x7c, 0x84, 0x30, 0x3b, 0xed, 0x09, 0x1b, 0xce, 0xfb,
  1325  	0xd9, 0x7f, 0x7b, 0x9f, 0x41, 0x67, 0xbf, 0x8e, 0x7f, 0xc3, 0x39, 0xda, 0x85, 0x57, 0x37, 0x17,
  1326  	0xb0, 0xb7, 0x4f, 0xd9, 0xd1, 0xfa, 0xd7, 0xb3, 0xd0, 0x66, 0xf4, 0x89, 0xe4, 0x33, 0xe6, 0xd2,
  1327  	0xf6, 0x71, 0x55, 0xec, 0x36, 0x1e, 0x83, 0x28, 0x83, 0xd7, 0xff, 0x18, 0x70, 0x81, 0xfc, 0xe9,
  1328  	0xa6, 0xbc, 0x3d, 0xb8, 0x7b, 0xd9, 0x0d, 0xbf, 0x7d, 0xf8, 0x8d, 0x49, 0x7b, 0xf7, 0x16, 0x3f,
  1329  	0x90, 0xb7, 0x58, 0x22, 0x70, 0xbc, 0x44, 0xe0, 0x64, 0x89, 0xc0, 0xf7, 0x25, 0x02, 0x5f, 0x56,
  1330  	0xc8, 0x3b, 0x5e, 0x21, 0xef, 0x64, 0x85, 0xbc, 0xf7, 0x57, 0x6a, 0x93, 0x49, 0xcb, 0x3d, 0xad,
  1331  	0x87, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x76, 0x8e, 0x19, 0xa2, 0xc8, 0x03, 0x00, 0x00,
  1332  }