gitee.com/lh-her-team/common@v1.5.1/birdsnest/pb/serialize.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: serialize.proto
     3  
     4  package pb
     5  
     6  import (
     7  	fmt "fmt"
     8  	proto "github.com/gogo/protobuf/proto"
     9  	io "io"
    10  	math "math"
    11  	math_bits "math/bits"
    12  )
    13  
    14  // Reference imports to suppress errors if they are not otherwise used.
    15  var _ = proto.Marshal
    16  var _ = fmt.Errorf
    17  var _ = math.Inf
    18  
    19  // This is a compile-time assertion to ensure that this generated file
    20  // is compatible with the proto package it is being compiled against.
    21  // A compilation error at this line likely means your copy of the
    22  // proto package needs to be updated.
    23  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    24  
    25  // Chain table structure
    26  type CuckooFilter struct {
    27  	// The field "cuckoo" is used to hold the serialized data of the cuckoo
    28  	// Pb limit: The size of bytes cannot be larger than 4 GB
    29  	Cuckoo []byte `protobuf:"bytes,1,opt,name=cuckoo,proto3" json:"cuckoo,omitempty"`
    30  	// Carries the ID of the time
    31  	Extension []byte `protobuf:"bytes,2,opt,name=extension,proto3" json:"extension,omitempty"`
    32  	// cuckoo configuration
    33  	Config []byte `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
    34  	// cuckoo configuration
    35  	Full bool `protobuf:"varint,4,opt,name=full,proto3" json:"full,omitempty"`
    36  }
    37  
    38  func (m *CuckooFilter) Reset()         { *m = CuckooFilter{} }
    39  func (m *CuckooFilter) String() string { return proto.CompactTextString(m) }
    40  func (*CuckooFilter) ProtoMessage()    {}
    41  func (*CuckooFilter) Descriptor() ([]byte, []int) {
    42  	return fileDescriptor_f1a7c2bf0e2dbbf4, []int{0}
    43  }
    44  func (m *CuckooFilter) XXX_Unmarshal(b []byte) error {
    45  	return m.Unmarshal(b)
    46  }
    47  func (m *CuckooFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    48  	if deterministic {
    49  		return xxx_messageInfo_CuckooFilter.Marshal(b, m, deterministic)
    50  	} else {
    51  		b = b[:cap(b)]
    52  		n, err := m.MarshalToSizedBuffer(b)
    53  		if err != nil {
    54  			return nil, err
    55  		}
    56  		return b[:n], nil
    57  	}
    58  }
    59  func (m *CuckooFilter) XXX_Merge(src proto.Message) {
    60  	xxx_messageInfo_CuckooFilter.Merge(m, src)
    61  }
    62  func (m *CuckooFilter) XXX_Size() int {
    63  	return m.Size()
    64  }
    65  func (m *CuckooFilter) XXX_DiscardUnknown() {
    66  	xxx_messageInfo_CuckooFilter.DiscardUnknown(m)
    67  }
    68  
    69  var xxx_messageInfo_CuckooFilter proto.InternalMessageInfo
    70  
    71  func (m *CuckooFilter) GetCuckoo() []byte {
    72  	if m != nil {
    73  		return m.Cuckoo
    74  	}
    75  	return nil
    76  }
    77  
    78  func (m *CuckooFilter) GetExtension() []byte {
    79  	if m != nil {
    80  		return m.Extension
    81  	}
    82  	return nil
    83  }
    84  
    85  func (m *CuckooFilter) GetConfig() []byte {
    86  	if m != nil {
    87  		return m.Config
    88  	}
    89  	return nil
    90  }
    91  
    92  func (m *CuckooFilter) GetFull() bool {
    93  	if m != nil {
    94  		return m.Full
    95  	}
    96  	return false
    97  }
    98  
    99  // Bird's Nest
   100  type BirdsNest struct {
   101  	// Bird's Nest config
   102  	Config []byte `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
   103  	// The final height
   104  	Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
   105  	// current index
   106  	CurrentIndex uint32 `protobuf:"varint,3,opt,name=currentIndex,proto3" json:"currentIndex,omitempty"`
   107  	// A group of cuckoos filter
   108  	Filters []*CuckooFilter `protobuf:"bytes,4,rep,name=filters,proto3" json:"filters,omitempty"`
   109  }
   110  
   111  func (m *BirdsNest) Reset()         { *m = BirdsNest{} }
   112  func (m *BirdsNest) String() string { return proto.CompactTextString(m) }
   113  func (*BirdsNest) ProtoMessage()    {}
   114  func (*BirdsNest) Descriptor() ([]byte, []int) {
   115  	return fileDescriptor_f1a7c2bf0e2dbbf4, []int{1}
   116  }
   117  func (m *BirdsNest) XXX_Unmarshal(b []byte) error {
   118  	return m.Unmarshal(b)
   119  }
   120  func (m *BirdsNest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   121  	if deterministic {
   122  		return xxx_messageInfo_BirdsNest.Marshal(b, m, deterministic)
   123  	} else {
   124  		b = b[:cap(b)]
   125  		n, err := m.MarshalToSizedBuffer(b)
   126  		if err != nil {
   127  			return nil, err
   128  		}
   129  		return b[:n], nil
   130  	}
   131  }
   132  func (m *BirdsNest) XXX_Merge(src proto.Message) {
   133  	xxx_messageInfo_BirdsNest.Merge(m, src)
   134  }
   135  func (m *BirdsNest) XXX_Size() int {
   136  	return m.Size()
   137  }
   138  func (m *BirdsNest) XXX_DiscardUnknown() {
   139  	xxx_messageInfo_BirdsNest.DiscardUnknown(m)
   140  }
   141  
   142  var xxx_messageInfo_BirdsNest proto.InternalMessageInfo
   143  
   144  func (m *BirdsNest) GetConfig() []byte {
   145  	if m != nil {
   146  		return m.Config
   147  	}
   148  	return nil
   149  }
   150  
   151  func (m *BirdsNest) GetHeight() uint64 {
   152  	if m != nil {
   153  		return m.Height
   154  	}
   155  	return 0
   156  }
   157  
   158  func (m *BirdsNest) GetCurrentIndex() uint32 {
   159  	if m != nil {
   160  		return m.CurrentIndex
   161  	}
   162  	return 0
   163  }
   164  
   165  func (m *BirdsNest) GetFilters() []*CuckooFilter {
   166  	if m != nil {
   167  		return m.Filters
   168  	}
   169  	return nil
   170  }
   171  
   172  func init() {
   173  	proto.RegisterType((*CuckooFilter)(nil), "pb.CuckooFilter")
   174  	proto.RegisterType((*BirdsNest)(nil), "pb.BirdsNest")
   175  }
   176  
   177  func init() { proto.RegisterFile("serialize.proto", fileDescriptor_f1a7c2bf0e2dbbf4) }
   178  
   179  var fileDescriptor_f1a7c2bf0e2dbbf4 = []byte{
   180  	// 240 bytes of a gzipped FileDescriptorProto
   181  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2f, 0x4e, 0x2d, 0xca,
   182  	0x4c, 0xcc, 0xc9, 0xac, 0x4a, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x2a, 0x48, 0x52,
   183  	0x2a, 0xe0, 0xe2, 0x71, 0x2e, 0x4d, 0xce, 0xce, 0xcf, 0x77, 0xcb, 0xcc, 0x29, 0x49, 0x2d, 0x12,
   184  	0x12, 0xe3, 0x62, 0x4b, 0x06, 0xf3, 0x25, 0x18, 0x15, 0x18, 0x35, 0x78, 0x82, 0xa0, 0x3c, 0x21,
   185  	0x19, 0x2e, 0xce, 0xd4, 0x8a, 0x92, 0xd4, 0xbc, 0xe2, 0xcc, 0xfc, 0x3c, 0x09, 0x26, 0xb0, 0x14,
   186  	0x42, 0x00, 0xac, 0x2b, 0x3f, 0x2f, 0x2d, 0x33, 0x5d, 0x82, 0x19, 0xaa, 0x0b, 0xcc, 0x13, 0x12,
   187  	0xe2, 0x62, 0x49, 0x2b, 0xcd, 0xc9, 0x91, 0x60, 0x51, 0x60, 0xd4, 0xe0, 0x08, 0x02, 0xb3, 0x95,
   188  	0xba, 0x19, 0xb9, 0x38, 0x9d, 0x32, 0x8b, 0x52, 0x8a, 0xfd, 0x52, 0x8b, 0x4b, 0x90, 0x74, 0x32,
   189  	0xa2, 0xe8, 0x14, 0xe3, 0x62, 0xcb, 0x48, 0xcd, 0x4c, 0xcf, 0x28, 0x01, 0x5b, 0xc6, 0x12, 0x04,
   190  	0xe5, 0x09, 0x29, 0x71, 0xf1, 0x24, 0x97, 0x16, 0x15, 0xa5, 0xe6, 0x95, 0x78, 0xe6, 0xa5, 0xa4,
   191  	0x56, 0x80, 0xed, 0xe3, 0x0d, 0x42, 0x11, 0x13, 0xd2, 0xe2, 0x62, 0x4f, 0x03, 0xfb, 0xa6, 0x58,
   192  	0x82, 0x45, 0x81, 0x59, 0x83, 0xdb, 0x48, 0x40, 0xaf, 0x20, 0x49, 0x0f, 0xd9, 0x9b, 0x41, 0x30,
   193  	0x05, 0x4e, 0x12, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0xe3,
   194  	0x84, 0xc7, 0x72, 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, 0xc7, 0x90, 0xc4, 0x06, 0x0e,
   195  	0x24, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xec, 0xca, 0x42, 0xa8, 0x37, 0x01, 0x00, 0x00,
   196  }
   197  
   198  func (m *CuckooFilter) Marshal() (dAtA []byte, err error) {
   199  	size := m.Size()
   200  	dAtA = make([]byte, size)
   201  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   202  	if err != nil {
   203  		return nil, err
   204  	}
   205  	return dAtA[:n], nil
   206  }
   207  
   208  func (m *CuckooFilter) MarshalTo(dAtA []byte) (int, error) {
   209  	size := m.Size()
   210  	return m.MarshalToSizedBuffer(dAtA[:size])
   211  }
   212  
   213  func (m *CuckooFilter) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   214  	i := len(dAtA)
   215  	_ = i
   216  	var l int
   217  	_ = l
   218  	if m.Full {
   219  		i--
   220  		if m.Full {
   221  			dAtA[i] = 1
   222  		} else {
   223  			dAtA[i] = 0
   224  		}
   225  		i--
   226  		dAtA[i] = 0x20
   227  	}
   228  	if len(m.Config) > 0 {
   229  		i -= len(m.Config)
   230  		copy(dAtA[i:], m.Config)
   231  		i = encodeVarintSerialize(dAtA, i, uint64(len(m.Config)))
   232  		i--
   233  		dAtA[i] = 0x1a
   234  	}
   235  	if len(m.Extension) > 0 {
   236  		i -= len(m.Extension)
   237  		copy(dAtA[i:], m.Extension)
   238  		i = encodeVarintSerialize(dAtA, i, uint64(len(m.Extension)))
   239  		i--
   240  		dAtA[i] = 0x12
   241  	}
   242  	if len(m.Cuckoo) > 0 {
   243  		i -= len(m.Cuckoo)
   244  		copy(dAtA[i:], m.Cuckoo)
   245  		i = encodeVarintSerialize(dAtA, i, uint64(len(m.Cuckoo)))
   246  		i--
   247  		dAtA[i] = 0xa
   248  	}
   249  	return len(dAtA) - i, nil
   250  }
   251  
   252  func (m *BirdsNest) Marshal() (dAtA []byte, err error) {
   253  	size := m.Size()
   254  	dAtA = make([]byte, size)
   255  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   256  	if err != nil {
   257  		return nil, err
   258  	}
   259  	return dAtA[:n], nil
   260  }
   261  
   262  func (m *BirdsNest) MarshalTo(dAtA []byte) (int, error) {
   263  	size := m.Size()
   264  	return m.MarshalToSizedBuffer(dAtA[:size])
   265  }
   266  
   267  func (m *BirdsNest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   268  	i := len(dAtA)
   269  	_ = i
   270  	var l int
   271  	_ = l
   272  	if len(m.Filters) > 0 {
   273  		for iNdEx := len(m.Filters) - 1; iNdEx >= 0; iNdEx-- {
   274  			{
   275  				size, err := m.Filters[iNdEx].MarshalToSizedBuffer(dAtA[:i])
   276  				if err != nil {
   277  					return 0, err
   278  				}
   279  				i -= size
   280  				i = encodeVarintSerialize(dAtA, i, uint64(size))
   281  			}
   282  			i--
   283  			dAtA[i] = 0x22
   284  		}
   285  	}
   286  	if m.CurrentIndex != 0 {
   287  		i = encodeVarintSerialize(dAtA, i, uint64(m.CurrentIndex))
   288  		i--
   289  		dAtA[i] = 0x18
   290  	}
   291  	if m.Height != 0 {
   292  		i = encodeVarintSerialize(dAtA, i, uint64(m.Height))
   293  		i--
   294  		dAtA[i] = 0x10
   295  	}
   296  	if len(m.Config) > 0 {
   297  		i -= len(m.Config)
   298  		copy(dAtA[i:], m.Config)
   299  		i = encodeVarintSerialize(dAtA, i, uint64(len(m.Config)))
   300  		i--
   301  		dAtA[i] = 0xa
   302  	}
   303  	return len(dAtA) - i, nil
   304  }
   305  
   306  func encodeVarintSerialize(dAtA []byte, offset int, v uint64) int {
   307  	offset -= sovSerialize(v)
   308  	base := offset
   309  	for v >= 1<<7 {
   310  		dAtA[offset] = uint8(v&0x7f | 0x80)
   311  		v >>= 7
   312  		offset++
   313  	}
   314  	dAtA[offset] = uint8(v)
   315  	return base
   316  }
   317  func (m *CuckooFilter) Size() (n int) {
   318  	if m == nil {
   319  		return 0
   320  	}
   321  	var l int
   322  	_ = l
   323  	l = len(m.Cuckoo)
   324  	if l > 0 {
   325  		n += 1 + l + sovSerialize(uint64(l))
   326  	}
   327  	l = len(m.Extension)
   328  	if l > 0 {
   329  		n += 1 + l + sovSerialize(uint64(l))
   330  	}
   331  	l = len(m.Config)
   332  	if l > 0 {
   333  		n += 1 + l + sovSerialize(uint64(l))
   334  	}
   335  	if m.Full {
   336  		n += 2
   337  	}
   338  	return n
   339  }
   340  
   341  func (m *BirdsNest) Size() (n int) {
   342  	if m == nil {
   343  		return 0
   344  	}
   345  	var l int
   346  	_ = l
   347  	l = len(m.Config)
   348  	if l > 0 {
   349  		n += 1 + l + sovSerialize(uint64(l))
   350  	}
   351  	if m.Height != 0 {
   352  		n += 1 + sovSerialize(uint64(m.Height))
   353  	}
   354  	if m.CurrentIndex != 0 {
   355  		n += 1 + sovSerialize(uint64(m.CurrentIndex))
   356  	}
   357  	if len(m.Filters) > 0 {
   358  		for _, e := range m.Filters {
   359  			l = e.Size()
   360  			n += 1 + l + sovSerialize(uint64(l))
   361  		}
   362  	}
   363  	return n
   364  }
   365  
   366  func sovSerialize(x uint64) (n int) {
   367  	return (math_bits.Len64(x|1) + 6) / 7
   368  }
   369  func sozSerialize(x uint64) (n int) {
   370  	return sovSerialize(uint64((x << 1) ^ uint64((int64(x) >> 63))))
   371  }
   372  func (m *CuckooFilter) Unmarshal(dAtA []byte) error {
   373  	l := len(dAtA)
   374  	iNdEx := 0
   375  	for iNdEx < l {
   376  		preIndex := iNdEx
   377  		var wire uint64
   378  		for shift := uint(0); ; shift += 7 {
   379  			if shift >= 64 {
   380  				return ErrIntOverflowSerialize
   381  			}
   382  			if iNdEx >= l {
   383  				return io.ErrUnexpectedEOF
   384  			}
   385  			b := dAtA[iNdEx]
   386  			iNdEx++
   387  			wire |= uint64(b&0x7F) << shift
   388  			if b < 0x80 {
   389  				break
   390  			}
   391  		}
   392  		fieldNum := int32(wire >> 3)
   393  		wireType := int(wire & 0x7)
   394  		if wireType == 4 {
   395  			return fmt.Errorf("proto: CuckooFilter: wiretype end group for non-group")
   396  		}
   397  		if fieldNum <= 0 {
   398  			return fmt.Errorf("proto: CuckooFilter: illegal tag %d (wire type %d)", fieldNum, wire)
   399  		}
   400  		switch fieldNum {
   401  		case 1:
   402  			if wireType != 2 {
   403  				return fmt.Errorf("proto: wrong wireType = %d for field Cuckoo", wireType)
   404  			}
   405  			var byteLen int
   406  			for shift := uint(0); ; shift += 7 {
   407  				if shift >= 64 {
   408  					return ErrIntOverflowSerialize
   409  				}
   410  				if iNdEx >= l {
   411  					return io.ErrUnexpectedEOF
   412  				}
   413  				b := dAtA[iNdEx]
   414  				iNdEx++
   415  				byteLen |= int(b&0x7F) << shift
   416  				if b < 0x80 {
   417  					break
   418  				}
   419  			}
   420  			if byteLen < 0 {
   421  				return ErrInvalidLengthSerialize
   422  			}
   423  			postIndex := iNdEx + byteLen
   424  			if postIndex < 0 {
   425  				return ErrInvalidLengthSerialize
   426  			}
   427  			if postIndex > l {
   428  				return io.ErrUnexpectedEOF
   429  			}
   430  			m.Cuckoo = append(m.Cuckoo[:0], dAtA[iNdEx:postIndex]...)
   431  			if m.Cuckoo == nil {
   432  				m.Cuckoo = []byte{}
   433  			}
   434  			iNdEx = postIndex
   435  		case 2:
   436  			if wireType != 2 {
   437  				return fmt.Errorf("proto: wrong wireType = %d for field Extension", wireType)
   438  			}
   439  			var byteLen int
   440  			for shift := uint(0); ; shift += 7 {
   441  				if shift >= 64 {
   442  					return ErrIntOverflowSerialize
   443  				}
   444  				if iNdEx >= l {
   445  					return io.ErrUnexpectedEOF
   446  				}
   447  				b := dAtA[iNdEx]
   448  				iNdEx++
   449  				byteLen |= int(b&0x7F) << shift
   450  				if b < 0x80 {
   451  					break
   452  				}
   453  			}
   454  			if byteLen < 0 {
   455  				return ErrInvalidLengthSerialize
   456  			}
   457  			postIndex := iNdEx + byteLen
   458  			if postIndex < 0 {
   459  				return ErrInvalidLengthSerialize
   460  			}
   461  			if postIndex > l {
   462  				return io.ErrUnexpectedEOF
   463  			}
   464  			m.Extension = append(m.Extension[:0], dAtA[iNdEx:postIndex]...)
   465  			if m.Extension == nil {
   466  				m.Extension = []byte{}
   467  			}
   468  			iNdEx = postIndex
   469  		case 3:
   470  			if wireType != 2 {
   471  				return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
   472  			}
   473  			var byteLen int
   474  			for shift := uint(0); ; shift += 7 {
   475  				if shift >= 64 {
   476  					return ErrIntOverflowSerialize
   477  				}
   478  				if iNdEx >= l {
   479  					return io.ErrUnexpectedEOF
   480  				}
   481  				b := dAtA[iNdEx]
   482  				iNdEx++
   483  				byteLen |= int(b&0x7F) << shift
   484  				if b < 0x80 {
   485  					break
   486  				}
   487  			}
   488  			if byteLen < 0 {
   489  				return ErrInvalidLengthSerialize
   490  			}
   491  			postIndex := iNdEx + byteLen
   492  			if postIndex < 0 {
   493  				return ErrInvalidLengthSerialize
   494  			}
   495  			if postIndex > l {
   496  				return io.ErrUnexpectedEOF
   497  			}
   498  			m.Config = append(m.Config[:0], dAtA[iNdEx:postIndex]...)
   499  			if m.Config == nil {
   500  				m.Config = []byte{}
   501  			}
   502  			iNdEx = postIndex
   503  		case 4:
   504  			if wireType != 0 {
   505  				return fmt.Errorf("proto: wrong wireType = %d for field Full", wireType)
   506  			}
   507  			var v int
   508  			for shift := uint(0); ; shift += 7 {
   509  				if shift >= 64 {
   510  					return ErrIntOverflowSerialize
   511  				}
   512  				if iNdEx >= l {
   513  					return io.ErrUnexpectedEOF
   514  				}
   515  				b := dAtA[iNdEx]
   516  				iNdEx++
   517  				v |= int(b&0x7F) << shift
   518  				if b < 0x80 {
   519  					break
   520  				}
   521  			}
   522  			m.Full = bool(v != 0)
   523  		default:
   524  			iNdEx = preIndex
   525  			skippy, err := skipSerialize(dAtA[iNdEx:])
   526  			if err != nil {
   527  				return err
   528  			}
   529  			if (skippy < 0) || (iNdEx+skippy) < 0 {
   530  				return ErrInvalidLengthSerialize
   531  			}
   532  			if (iNdEx + skippy) > l {
   533  				return io.ErrUnexpectedEOF
   534  			}
   535  			iNdEx += skippy
   536  		}
   537  	}
   538  
   539  	if iNdEx > l {
   540  		return io.ErrUnexpectedEOF
   541  	}
   542  	return nil
   543  }
   544  func (m *BirdsNest) Unmarshal(dAtA []byte) error {
   545  	l := len(dAtA)
   546  	iNdEx := 0
   547  	for iNdEx < l {
   548  		preIndex := iNdEx
   549  		var wire uint64
   550  		for shift := uint(0); ; shift += 7 {
   551  			if shift >= 64 {
   552  				return ErrIntOverflowSerialize
   553  			}
   554  			if iNdEx >= l {
   555  				return io.ErrUnexpectedEOF
   556  			}
   557  			b := dAtA[iNdEx]
   558  			iNdEx++
   559  			wire |= uint64(b&0x7F) << shift
   560  			if b < 0x80 {
   561  				break
   562  			}
   563  		}
   564  		fieldNum := int32(wire >> 3)
   565  		wireType := int(wire & 0x7)
   566  		if wireType == 4 {
   567  			return fmt.Errorf("proto: BirdsNest: wiretype end group for non-group")
   568  		}
   569  		if fieldNum <= 0 {
   570  			return fmt.Errorf("proto: BirdsNest: illegal tag %d (wire type %d)", fieldNum, wire)
   571  		}
   572  		switch fieldNum {
   573  		case 1:
   574  			if wireType != 2 {
   575  				return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
   576  			}
   577  			var byteLen int
   578  			for shift := uint(0); ; shift += 7 {
   579  				if shift >= 64 {
   580  					return ErrIntOverflowSerialize
   581  				}
   582  				if iNdEx >= l {
   583  					return io.ErrUnexpectedEOF
   584  				}
   585  				b := dAtA[iNdEx]
   586  				iNdEx++
   587  				byteLen |= int(b&0x7F) << shift
   588  				if b < 0x80 {
   589  					break
   590  				}
   591  			}
   592  			if byteLen < 0 {
   593  				return ErrInvalidLengthSerialize
   594  			}
   595  			postIndex := iNdEx + byteLen
   596  			if postIndex < 0 {
   597  				return ErrInvalidLengthSerialize
   598  			}
   599  			if postIndex > l {
   600  				return io.ErrUnexpectedEOF
   601  			}
   602  			m.Config = append(m.Config[:0], dAtA[iNdEx:postIndex]...)
   603  			if m.Config == nil {
   604  				m.Config = []byte{}
   605  			}
   606  			iNdEx = postIndex
   607  		case 2:
   608  			if wireType != 0 {
   609  				return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType)
   610  			}
   611  			m.Height = 0
   612  			for shift := uint(0); ; shift += 7 {
   613  				if shift >= 64 {
   614  					return ErrIntOverflowSerialize
   615  				}
   616  				if iNdEx >= l {
   617  					return io.ErrUnexpectedEOF
   618  				}
   619  				b := dAtA[iNdEx]
   620  				iNdEx++
   621  				m.Height |= uint64(b&0x7F) << shift
   622  				if b < 0x80 {
   623  					break
   624  				}
   625  			}
   626  		case 3:
   627  			if wireType != 0 {
   628  				return fmt.Errorf("proto: wrong wireType = %d for field CurrentIndex", wireType)
   629  			}
   630  			m.CurrentIndex = 0
   631  			for shift := uint(0); ; shift += 7 {
   632  				if shift >= 64 {
   633  					return ErrIntOverflowSerialize
   634  				}
   635  				if iNdEx >= l {
   636  					return io.ErrUnexpectedEOF
   637  				}
   638  				b := dAtA[iNdEx]
   639  				iNdEx++
   640  				m.CurrentIndex |= uint32(b&0x7F) << shift
   641  				if b < 0x80 {
   642  					break
   643  				}
   644  			}
   645  		case 4:
   646  			if wireType != 2 {
   647  				return fmt.Errorf("proto: wrong wireType = %d for field Filters", wireType)
   648  			}
   649  			var msglen int
   650  			for shift := uint(0); ; shift += 7 {
   651  				if shift >= 64 {
   652  					return ErrIntOverflowSerialize
   653  				}
   654  				if iNdEx >= l {
   655  					return io.ErrUnexpectedEOF
   656  				}
   657  				b := dAtA[iNdEx]
   658  				iNdEx++
   659  				msglen |= int(b&0x7F) << shift
   660  				if b < 0x80 {
   661  					break
   662  				}
   663  			}
   664  			if msglen < 0 {
   665  				return ErrInvalidLengthSerialize
   666  			}
   667  			postIndex := iNdEx + msglen
   668  			if postIndex < 0 {
   669  				return ErrInvalidLengthSerialize
   670  			}
   671  			if postIndex > l {
   672  				return io.ErrUnexpectedEOF
   673  			}
   674  			m.Filters = append(m.Filters, &CuckooFilter{})
   675  			if err := m.Filters[len(m.Filters)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   676  				return err
   677  			}
   678  			iNdEx = postIndex
   679  		default:
   680  			iNdEx = preIndex
   681  			skippy, err := skipSerialize(dAtA[iNdEx:])
   682  			if err != nil {
   683  				return err
   684  			}
   685  			if (skippy < 0) || (iNdEx+skippy) < 0 {
   686  				return ErrInvalidLengthSerialize
   687  			}
   688  			if (iNdEx + skippy) > l {
   689  				return io.ErrUnexpectedEOF
   690  			}
   691  			iNdEx += skippy
   692  		}
   693  	}
   694  
   695  	if iNdEx > l {
   696  		return io.ErrUnexpectedEOF
   697  	}
   698  	return nil
   699  }
   700  func skipSerialize(dAtA []byte) (n int, err error) {
   701  	l := len(dAtA)
   702  	iNdEx := 0
   703  	depth := 0
   704  	for iNdEx < l {
   705  		var wire uint64
   706  		for shift := uint(0); ; shift += 7 {
   707  			if shift >= 64 {
   708  				return 0, ErrIntOverflowSerialize
   709  			}
   710  			if iNdEx >= l {
   711  				return 0, io.ErrUnexpectedEOF
   712  			}
   713  			b := dAtA[iNdEx]
   714  			iNdEx++
   715  			wire |= (uint64(b) & 0x7F) << shift
   716  			if b < 0x80 {
   717  				break
   718  			}
   719  		}
   720  		wireType := int(wire & 0x7)
   721  		switch wireType {
   722  		case 0:
   723  			for shift := uint(0); ; shift += 7 {
   724  				if shift >= 64 {
   725  					return 0, ErrIntOverflowSerialize
   726  				}
   727  				if iNdEx >= l {
   728  					return 0, io.ErrUnexpectedEOF
   729  				}
   730  				iNdEx++
   731  				if dAtA[iNdEx-1] < 0x80 {
   732  					break
   733  				}
   734  			}
   735  		case 1:
   736  			iNdEx += 8
   737  		case 2:
   738  			var length int
   739  			for shift := uint(0); ; shift += 7 {
   740  				if shift >= 64 {
   741  					return 0, ErrIntOverflowSerialize
   742  				}
   743  				if iNdEx >= l {
   744  					return 0, io.ErrUnexpectedEOF
   745  				}
   746  				b := dAtA[iNdEx]
   747  				iNdEx++
   748  				length |= (int(b) & 0x7F) << shift
   749  				if b < 0x80 {
   750  					break
   751  				}
   752  			}
   753  			if length < 0 {
   754  				return 0, ErrInvalidLengthSerialize
   755  			}
   756  			iNdEx += length
   757  		case 3:
   758  			depth++
   759  		case 4:
   760  			if depth == 0 {
   761  				return 0, ErrUnexpectedEndOfGroupSerialize
   762  			}
   763  			depth--
   764  		case 5:
   765  			iNdEx += 4
   766  		default:
   767  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
   768  		}
   769  		if iNdEx < 0 {
   770  			return 0, ErrInvalidLengthSerialize
   771  		}
   772  		if depth == 0 {
   773  			return iNdEx, nil
   774  		}
   775  	}
   776  	return 0, io.ErrUnexpectedEOF
   777  }
   778  
   779  var (
   780  	ErrInvalidLengthSerialize        = fmt.Errorf("proto: negative length found during unmarshaling")
   781  	ErrIntOverflowSerialize          = fmt.Errorf("proto: integer overflow")
   782  	ErrUnexpectedEndOfGroupSerialize = fmt.Errorf("proto: unexpected end of group")
   783  )