github.com/number571/tendermint@v0.34.11-gost/proto/tendermint/p2p/pex.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: tendermint/p2p/pex.proto
     3  
     4  package p2p
     5  
     6  import (
     7  	fmt "fmt"
     8  	_ "github.com/gogo/protobuf/gogoproto"
     9  	proto "github.com/gogo/protobuf/proto"
    10  	io "io"
    11  	math "math"
    12  	math_bits "math/bits"
    13  )
    14  
    15  // Reference imports to suppress errors if they are not otherwise used.
    16  var _ = proto.Marshal
    17  var _ = fmt.Errorf
    18  var _ = math.Inf
    19  
    20  // This is a compile-time assertion to ensure that this generated file
    21  // is compatible with the proto package it is being compiled against.
    22  // A compilation error at this line likely means your copy of the
    23  // proto package needs to be updated.
    24  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    25  
    26  type PexAddress struct {
    27  	ID   string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    28  	IP   string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip,omitempty"`
    29  	Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
    30  }
    31  
    32  func (m *PexAddress) Reset()         { *m = PexAddress{} }
    33  func (m *PexAddress) String() string { return proto.CompactTextString(m) }
    34  func (*PexAddress) ProtoMessage()    {}
    35  func (*PexAddress) Descriptor() ([]byte, []int) {
    36  	return fileDescriptor_81c2f011fd13be57, []int{0}
    37  }
    38  func (m *PexAddress) XXX_Unmarshal(b []byte) error {
    39  	return m.Unmarshal(b)
    40  }
    41  func (m *PexAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    42  	if deterministic {
    43  		return xxx_messageInfo_PexAddress.Marshal(b, m, deterministic)
    44  	} else {
    45  		b = b[:cap(b)]
    46  		n, err := m.MarshalToSizedBuffer(b)
    47  		if err != nil {
    48  			return nil, err
    49  		}
    50  		return b[:n], nil
    51  	}
    52  }
    53  func (m *PexAddress) XXX_Merge(src proto.Message) {
    54  	xxx_messageInfo_PexAddress.Merge(m, src)
    55  }
    56  func (m *PexAddress) XXX_Size() int {
    57  	return m.Size()
    58  }
    59  func (m *PexAddress) XXX_DiscardUnknown() {
    60  	xxx_messageInfo_PexAddress.DiscardUnknown(m)
    61  }
    62  
    63  var xxx_messageInfo_PexAddress proto.InternalMessageInfo
    64  
    65  func (m *PexAddress) GetID() string {
    66  	if m != nil {
    67  		return m.ID
    68  	}
    69  	return ""
    70  }
    71  
    72  func (m *PexAddress) GetIP() string {
    73  	if m != nil {
    74  		return m.IP
    75  	}
    76  	return ""
    77  }
    78  
    79  func (m *PexAddress) GetPort() uint32 {
    80  	if m != nil {
    81  		return m.Port
    82  	}
    83  	return 0
    84  }
    85  
    86  type PexRequest struct {
    87  }
    88  
    89  func (m *PexRequest) Reset()         { *m = PexRequest{} }
    90  func (m *PexRequest) String() string { return proto.CompactTextString(m) }
    91  func (*PexRequest) ProtoMessage()    {}
    92  func (*PexRequest) Descriptor() ([]byte, []int) {
    93  	return fileDescriptor_81c2f011fd13be57, []int{1}
    94  }
    95  func (m *PexRequest) XXX_Unmarshal(b []byte) error {
    96  	return m.Unmarshal(b)
    97  }
    98  func (m *PexRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    99  	if deterministic {
   100  		return xxx_messageInfo_PexRequest.Marshal(b, m, deterministic)
   101  	} else {
   102  		b = b[:cap(b)]
   103  		n, err := m.MarshalToSizedBuffer(b)
   104  		if err != nil {
   105  			return nil, err
   106  		}
   107  		return b[:n], nil
   108  	}
   109  }
   110  func (m *PexRequest) XXX_Merge(src proto.Message) {
   111  	xxx_messageInfo_PexRequest.Merge(m, src)
   112  }
   113  func (m *PexRequest) XXX_Size() int {
   114  	return m.Size()
   115  }
   116  func (m *PexRequest) XXX_DiscardUnknown() {
   117  	xxx_messageInfo_PexRequest.DiscardUnknown(m)
   118  }
   119  
   120  var xxx_messageInfo_PexRequest proto.InternalMessageInfo
   121  
   122  type PexResponse struct {
   123  	Addresses []PexAddress `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses"`
   124  }
   125  
   126  func (m *PexResponse) Reset()         { *m = PexResponse{} }
   127  func (m *PexResponse) String() string { return proto.CompactTextString(m) }
   128  func (*PexResponse) ProtoMessage()    {}
   129  func (*PexResponse) Descriptor() ([]byte, []int) {
   130  	return fileDescriptor_81c2f011fd13be57, []int{2}
   131  }
   132  func (m *PexResponse) XXX_Unmarshal(b []byte) error {
   133  	return m.Unmarshal(b)
   134  }
   135  func (m *PexResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   136  	if deterministic {
   137  		return xxx_messageInfo_PexResponse.Marshal(b, m, deterministic)
   138  	} else {
   139  		b = b[:cap(b)]
   140  		n, err := m.MarshalToSizedBuffer(b)
   141  		if err != nil {
   142  			return nil, err
   143  		}
   144  		return b[:n], nil
   145  	}
   146  }
   147  func (m *PexResponse) XXX_Merge(src proto.Message) {
   148  	xxx_messageInfo_PexResponse.Merge(m, src)
   149  }
   150  func (m *PexResponse) XXX_Size() int {
   151  	return m.Size()
   152  }
   153  func (m *PexResponse) XXX_DiscardUnknown() {
   154  	xxx_messageInfo_PexResponse.DiscardUnknown(m)
   155  }
   156  
   157  var xxx_messageInfo_PexResponse proto.InternalMessageInfo
   158  
   159  func (m *PexResponse) GetAddresses() []PexAddress {
   160  	if m != nil {
   161  		return m.Addresses
   162  	}
   163  	return nil
   164  }
   165  
   166  type PexAddressV2 struct {
   167  	URL string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
   168  }
   169  
   170  func (m *PexAddressV2) Reset()         { *m = PexAddressV2{} }
   171  func (m *PexAddressV2) String() string { return proto.CompactTextString(m) }
   172  func (*PexAddressV2) ProtoMessage()    {}
   173  func (*PexAddressV2) Descriptor() ([]byte, []int) {
   174  	return fileDescriptor_81c2f011fd13be57, []int{3}
   175  }
   176  func (m *PexAddressV2) XXX_Unmarshal(b []byte) error {
   177  	return m.Unmarshal(b)
   178  }
   179  func (m *PexAddressV2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   180  	if deterministic {
   181  		return xxx_messageInfo_PexAddressV2.Marshal(b, m, deterministic)
   182  	} else {
   183  		b = b[:cap(b)]
   184  		n, err := m.MarshalToSizedBuffer(b)
   185  		if err != nil {
   186  			return nil, err
   187  		}
   188  		return b[:n], nil
   189  	}
   190  }
   191  func (m *PexAddressV2) XXX_Merge(src proto.Message) {
   192  	xxx_messageInfo_PexAddressV2.Merge(m, src)
   193  }
   194  func (m *PexAddressV2) XXX_Size() int {
   195  	return m.Size()
   196  }
   197  func (m *PexAddressV2) XXX_DiscardUnknown() {
   198  	xxx_messageInfo_PexAddressV2.DiscardUnknown(m)
   199  }
   200  
   201  var xxx_messageInfo_PexAddressV2 proto.InternalMessageInfo
   202  
   203  func (m *PexAddressV2) GetURL() string {
   204  	if m != nil {
   205  		return m.URL
   206  	}
   207  	return ""
   208  }
   209  
   210  type PexRequestV2 struct {
   211  }
   212  
   213  func (m *PexRequestV2) Reset()         { *m = PexRequestV2{} }
   214  func (m *PexRequestV2) String() string { return proto.CompactTextString(m) }
   215  func (*PexRequestV2) ProtoMessage()    {}
   216  func (*PexRequestV2) Descriptor() ([]byte, []int) {
   217  	return fileDescriptor_81c2f011fd13be57, []int{4}
   218  }
   219  func (m *PexRequestV2) XXX_Unmarshal(b []byte) error {
   220  	return m.Unmarshal(b)
   221  }
   222  func (m *PexRequestV2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   223  	if deterministic {
   224  		return xxx_messageInfo_PexRequestV2.Marshal(b, m, deterministic)
   225  	} else {
   226  		b = b[:cap(b)]
   227  		n, err := m.MarshalToSizedBuffer(b)
   228  		if err != nil {
   229  			return nil, err
   230  		}
   231  		return b[:n], nil
   232  	}
   233  }
   234  func (m *PexRequestV2) XXX_Merge(src proto.Message) {
   235  	xxx_messageInfo_PexRequestV2.Merge(m, src)
   236  }
   237  func (m *PexRequestV2) XXX_Size() int {
   238  	return m.Size()
   239  }
   240  func (m *PexRequestV2) XXX_DiscardUnknown() {
   241  	xxx_messageInfo_PexRequestV2.DiscardUnknown(m)
   242  }
   243  
   244  var xxx_messageInfo_PexRequestV2 proto.InternalMessageInfo
   245  
   246  type PexResponseV2 struct {
   247  	Addresses []PexAddressV2 `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses"`
   248  }
   249  
   250  func (m *PexResponseV2) Reset()         { *m = PexResponseV2{} }
   251  func (m *PexResponseV2) String() string { return proto.CompactTextString(m) }
   252  func (*PexResponseV2) ProtoMessage()    {}
   253  func (*PexResponseV2) Descriptor() ([]byte, []int) {
   254  	return fileDescriptor_81c2f011fd13be57, []int{5}
   255  }
   256  func (m *PexResponseV2) XXX_Unmarshal(b []byte) error {
   257  	return m.Unmarshal(b)
   258  }
   259  func (m *PexResponseV2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   260  	if deterministic {
   261  		return xxx_messageInfo_PexResponseV2.Marshal(b, m, deterministic)
   262  	} else {
   263  		b = b[:cap(b)]
   264  		n, err := m.MarshalToSizedBuffer(b)
   265  		if err != nil {
   266  			return nil, err
   267  		}
   268  		return b[:n], nil
   269  	}
   270  }
   271  func (m *PexResponseV2) XXX_Merge(src proto.Message) {
   272  	xxx_messageInfo_PexResponseV2.Merge(m, src)
   273  }
   274  func (m *PexResponseV2) XXX_Size() int {
   275  	return m.Size()
   276  }
   277  func (m *PexResponseV2) XXX_DiscardUnknown() {
   278  	xxx_messageInfo_PexResponseV2.DiscardUnknown(m)
   279  }
   280  
   281  var xxx_messageInfo_PexResponseV2 proto.InternalMessageInfo
   282  
   283  func (m *PexResponseV2) GetAddresses() []PexAddressV2 {
   284  	if m != nil {
   285  		return m.Addresses
   286  	}
   287  	return nil
   288  }
   289  
   290  type PexMessage struct {
   291  	// Types that are valid to be assigned to Sum:
   292  	//	*PexMessage_PexRequest
   293  	//	*PexMessage_PexResponse
   294  	//	*PexMessage_PexRequestV2
   295  	//	*PexMessage_PexResponseV2
   296  	Sum isPexMessage_Sum `protobuf_oneof:"sum"`
   297  }
   298  
   299  func (m *PexMessage) Reset()         { *m = PexMessage{} }
   300  func (m *PexMessage) String() string { return proto.CompactTextString(m) }
   301  func (*PexMessage) ProtoMessage()    {}
   302  func (*PexMessage) Descriptor() ([]byte, []int) {
   303  	return fileDescriptor_81c2f011fd13be57, []int{6}
   304  }
   305  func (m *PexMessage) XXX_Unmarshal(b []byte) error {
   306  	return m.Unmarshal(b)
   307  }
   308  func (m *PexMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   309  	if deterministic {
   310  		return xxx_messageInfo_PexMessage.Marshal(b, m, deterministic)
   311  	} else {
   312  		b = b[:cap(b)]
   313  		n, err := m.MarshalToSizedBuffer(b)
   314  		if err != nil {
   315  			return nil, err
   316  		}
   317  		return b[:n], nil
   318  	}
   319  }
   320  func (m *PexMessage) XXX_Merge(src proto.Message) {
   321  	xxx_messageInfo_PexMessage.Merge(m, src)
   322  }
   323  func (m *PexMessage) XXX_Size() int {
   324  	return m.Size()
   325  }
   326  func (m *PexMessage) XXX_DiscardUnknown() {
   327  	xxx_messageInfo_PexMessage.DiscardUnknown(m)
   328  }
   329  
   330  var xxx_messageInfo_PexMessage proto.InternalMessageInfo
   331  
   332  type isPexMessage_Sum interface {
   333  	isPexMessage_Sum()
   334  	MarshalTo([]byte) (int, error)
   335  	Size() int
   336  }
   337  
   338  type PexMessage_PexRequest struct {
   339  	PexRequest *PexRequest `protobuf:"bytes,1,opt,name=pex_request,json=pexRequest,proto3,oneof" json:"pex_request,omitempty"`
   340  }
   341  type PexMessage_PexResponse struct {
   342  	PexResponse *PexResponse `protobuf:"bytes,2,opt,name=pex_response,json=pexResponse,proto3,oneof" json:"pex_response,omitempty"`
   343  }
   344  type PexMessage_PexRequestV2 struct {
   345  	PexRequestV2 *PexRequestV2 `protobuf:"bytes,3,opt,name=pex_request_v2,json=pexRequestV2,proto3,oneof" json:"pex_request_v2,omitempty"`
   346  }
   347  type PexMessage_PexResponseV2 struct {
   348  	PexResponseV2 *PexResponseV2 `protobuf:"bytes,4,opt,name=pex_response_v2,json=pexResponseV2,proto3,oneof" json:"pex_response_v2,omitempty"`
   349  }
   350  
   351  func (*PexMessage_PexRequest) isPexMessage_Sum()    {}
   352  func (*PexMessage_PexResponse) isPexMessage_Sum()   {}
   353  func (*PexMessage_PexRequestV2) isPexMessage_Sum()  {}
   354  func (*PexMessage_PexResponseV2) isPexMessage_Sum() {}
   355  
   356  func (m *PexMessage) GetSum() isPexMessage_Sum {
   357  	if m != nil {
   358  		return m.Sum
   359  	}
   360  	return nil
   361  }
   362  
   363  func (m *PexMessage) GetPexRequest() *PexRequest {
   364  	if x, ok := m.GetSum().(*PexMessage_PexRequest); ok {
   365  		return x.PexRequest
   366  	}
   367  	return nil
   368  }
   369  
   370  func (m *PexMessage) GetPexResponse() *PexResponse {
   371  	if x, ok := m.GetSum().(*PexMessage_PexResponse); ok {
   372  		return x.PexResponse
   373  	}
   374  	return nil
   375  }
   376  
   377  func (m *PexMessage) GetPexRequestV2() *PexRequestV2 {
   378  	if x, ok := m.GetSum().(*PexMessage_PexRequestV2); ok {
   379  		return x.PexRequestV2
   380  	}
   381  	return nil
   382  }
   383  
   384  func (m *PexMessage) GetPexResponseV2() *PexResponseV2 {
   385  	if x, ok := m.GetSum().(*PexMessage_PexResponseV2); ok {
   386  		return x.PexResponseV2
   387  	}
   388  	return nil
   389  }
   390  
   391  // XXX_OneofWrappers is for the internal use of the proto package.
   392  func (*PexMessage) XXX_OneofWrappers() []interface{} {
   393  	return []interface{}{
   394  		(*PexMessage_PexRequest)(nil),
   395  		(*PexMessage_PexResponse)(nil),
   396  		(*PexMessage_PexRequestV2)(nil),
   397  		(*PexMessage_PexResponseV2)(nil),
   398  	}
   399  }
   400  
   401  func init() {
   402  	proto.RegisterType((*PexAddress)(nil), "tendermint.p2p.PexAddress")
   403  	proto.RegisterType((*PexRequest)(nil), "tendermint.p2p.PexRequest")
   404  	proto.RegisterType((*PexResponse)(nil), "tendermint.p2p.PexResponse")
   405  	proto.RegisterType((*PexAddressV2)(nil), "tendermint.p2p.PexAddressV2")
   406  	proto.RegisterType((*PexRequestV2)(nil), "tendermint.p2p.PexRequestV2")
   407  	proto.RegisterType((*PexResponseV2)(nil), "tendermint.p2p.PexResponseV2")
   408  	proto.RegisterType((*PexMessage)(nil), "tendermint.p2p.PexMessage")
   409  }
   410  
   411  func init() { proto.RegisterFile("tendermint/p2p/pex.proto", fileDescriptor_81c2f011fd13be57) }
   412  
   413  var fileDescriptor_81c2f011fd13be57 = []byte{
   414  	// 407 bytes of a gzipped FileDescriptorProto
   415  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xdd, 0x8a, 0xda, 0x40,
   416  	0x14, 0xc7, 0xf3, 0x61, 0x2d, 0x9e, 0x44, 0x0b, 0x43, 0x29, 0xa9, 0x6d, 0xa3, 0xe4, 0xca, 0xde,
   417  	0x24, 0x30, 0xa5, 0x97, 0x2d, 0x36, 0x08, 0xb5, 0x50, 0xa9, 0x1d, 0xd8, 0x5c, 0xec, 0x8d, 0xe8,
   418  	0x66, 0xc8, 0x06, 0x56, 0x33, 0x9b, 0x49, 0x16, 0x1f, 0x63, 0xdf, 0x61, 0x5f, 0xc6, 0x4b, 0x2f,
   419  	0xf7, 0x4a, 0x96, 0xf8, 0x22, 0x8b, 0x13, 0x31, 0x23, 0xba, 0x7b, 0x37, 0xe7, 0x7f, 0xbe, 0x7e,
   420  	0xe7, 0xcc, 0x01, 0x2b, 0xa3, 0x8b, 0x90, 0xa6, 0xf3, 0x78, 0x91, 0x79, 0x0c, 0x33, 0x8f, 0xd1,
   421  	0xa5, 0xcb, 0xd2, 0x24, 0x4b, 0x50, 0xab, 0xf2, 0xb8, 0x0c, 0xb3, 0xf6, 0xfb, 0x28, 0x89, 0x12,
   422  	0xe1, 0xf2, 0x76, 0xaf, 0x32, 0xca, 0x19, 0x03, 0x8c, 0xe9, 0xf2, 0x57, 0x18, 0xa6, 0x94, 0x73,
   423  	0xf4, 0x01, 0xb4, 0x38, 0xb4, 0xd4, 0xae, 0xda, 0x6b, 0xf8, 0xf5, 0x62, 0xd3, 0xd1, 0xfe, 0x0c,
   424  	0x88, 0x16, 0x87, 0x42, 0x67, 0x96, 0x26, 0xe9, 0x63, 0xa2, 0xc5, 0x0c, 0x21, 0xa8, 0xb1, 0x24,
   425  	0xcd, 0x2c, 0xbd, 0xab, 0xf6, 0x9a, 0x44, 0xbc, 0x1d, 0x53, 0x54, 0x24, 0xf4, 0x36, 0xa7, 0x3c,
   426  	0x73, 0x46, 0x60, 0x08, 0x8b, 0xb3, 0x64, 0xc1, 0x29, 0xfa, 0x09, 0x8d, 0x69, 0xd9, 0x8b, 0x72,
   427  	0x4b, 0xed, 0xea, 0x3d, 0x03, 0xb7, 0xdd, 0x63, 0x50, 0xb7, 0xe2, 0xf1, 0x6b, 0xab, 0x4d, 0x47,
   428  	0x21, 0x55, 0x8a, 0xf3, 0x15, 0xcc, 0xca, 0x1d, 0x60, 0xf4, 0x11, 0xf4, 0x3c, 0xbd, 0xd9, 0x13,
   429  	0xbf, 0x2d, 0x36, 0x1d, 0xfd, 0x82, 0xfc, 0x25, 0x3b, 0xcd, 0x69, 0x89, 0xd0, 0x3d, 0x47, 0x80,
   430  	0x9d, 0xff, 0xd0, 0x94, 0x48, 0x02, 0x8c, 0xfa, 0xa7, 0x2c, 0x9f, 0x5f, 0x66, 0x09, 0xf0, 0x29,
   431  	0xcd, 0x83, 0x26, 0x66, 0x1d, 0x51, 0xce, 0xa7, 0x11, 0x45, 0x3f, 0xc0, 0x60, 0x74, 0x39, 0x49,
   432  	0xcb, 0x96, 0x02, 0xea, 0xfc, 0x78, 0x7b, 0xa8, 0xa1, 0x42, 0x80, 0x1d, 0x2c, 0xd4, 0x07, 0xb3,
   433  	0x4c, 0x2f, 0x09, 0xc5, 0xba, 0x0d, 0xfc, 0xe9, 0x6c, 0x7e, 0x19, 0x32, 0x54, 0x88, 0xc1, 0xa4,
   434  	0xed, 0x0e, 0xa0, 0x25, 0x01, 0x4c, 0xee, 0xb0, 0xf8, 0x98, 0xf3, 0x63, 0x1d, 0x16, 0x33, 0x54,
   435  	0x88, 0xc9, 0x24, 0x1b, 0xfd, 0x86, 0x77, 0x32, 0xc7, 0xae, 0x4c, 0x4d, 0x94, 0xf9, 0xf2, 0x0a,
   436  	0x8a, 0xa8, 0xd3, 0x64, 0xb2, 0xe0, 0xbf, 0x01, 0x9d, 0xe7, 0x73, 0xff, 0xdf, 0xaa, 0xb0, 0xd5,
   437  	0x75, 0x61, 0xab, 0x4f, 0x85, 0xad, 0xde, 0x6f, 0x6d, 0x65, 0xbd, 0xb5, 0x95, 0xc7, 0xad, 0xad,
   438  	0x5c, 0x7e, 0x8f, 0xe2, 0xec, 0x3a, 0x9f, 0xb9, 0x57, 0xc9, 0xdc, 0x93, 0xee, 0x58, 0x3e, 0x69,
   439  	0x71, 0xaf, 0xc7, 0x37, 0x3e, 0xab, 0x0b, 0xf5, 0xdb, 0x73, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9f,
   440  	0x9b, 0xfd, 0x75, 0xfc, 0x02, 0x00, 0x00,
   441  }
   442  
   443  func (m *PexAddress) Marshal() (dAtA []byte, err error) {
   444  	size := m.Size()
   445  	dAtA = make([]byte, size)
   446  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   447  	if err != nil {
   448  		return nil, err
   449  	}
   450  	return dAtA[:n], nil
   451  }
   452  
   453  func (m *PexAddress) MarshalTo(dAtA []byte) (int, error) {
   454  	size := m.Size()
   455  	return m.MarshalToSizedBuffer(dAtA[:size])
   456  }
   457  
   458  func (m *PexAddress) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   459  	i := len(dAtA)
   460  	_ = i
   461  	var l int
   462  	_ = l
   463  	if m.Port != 0 {
   464  		i = encodeVarintPex(dAtA, i, uint64(m.Port))
   465  		i--
   466  		dAtA[i] = 0x18
   467  	}
   468  	if len(m.IP) > 0 {
   469  		i -= len(m.IP)
   470  		copy(dAtA[i:], m.IP)
   471  		i = encodeVarintPex(dAtA, i, uint64(len(m.IP)))
   472  		i--
   473  		dAtA[i] = 0x12
   474  	}
   475  	if len(m.ID) > 0 {
   476  		i -= len(m.ID)
   477  		copy(dAtA[i:], m.ID)
   478  		i = encodeVarintPex(dAtA, i, uint64(len(m.ID)))
   479  		i--
   480  		dAtA[i] = 0xa
   481  	}
   482  	return len(dAtA) - i, nil
   483  }
   484  
   485  func (m *PexRequest) Marshal() (dAtA []byte, err error) {
   486  	size := m.Size()
   487  	dAtA = make([]byte, size)
   488  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   489  	if err != nil {
   490  		return nil, err
   491  	}
   492  	return dAtA[:n], nil
   493  }
   494  
   495  func (m *PexRequest) MarshalTo(dAtA []byte) (int, error) {
   496  	size := m.Size()
   497  	return m.MarshalToSizedBuffer(dAtA[:size])
   498  }
   499  
   500  func (m *PexRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   501  	i := len(dAtA)
   502  	_ = i
   503  	var l int
   504  	_ = l
   505  	return len(dAtA) - i, nil
   506  }
   507  
   508  func (m *PexResponse) Marshal() (dAtA []byte, err error) {
   509  	size := m.Size()
   510  	dAtA = make([]byte, size)
   511  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   512  	if err != nil {
   513  		return nil, err
   514  	}
   515  	return dAtA[:n], nil
   516  }
   517  
   518  func (m *PexResponse) MarshalTo(dAtA []byte) (int, error) {
   519  	size := m.Size()
   520  	return m.MarshalToSizedBuffer(dAtA[:size])
   521  }
   522  
   523  func (m *PexResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   524  	i := len(dAtA)
   525  	_ = i
   526  	var l int
   527  	_ = l
   528  	if len(m.Addresses) > 0 {
   529  		for iNdEx := len(m.Addresses) - 1; iNdEx >= 0; iNdEx-- {
   530  			{
   531  				size, err := m.Addresses[iNdEx].MarshalToSizedBuffer(dAtA[:i])
   532  				if err != nil {
   533  					return 0, err
   534  				}
   535  				i -= size
   536  				i = encodeVarintPex(dAtA, i, uint64(size))
   537  			}
   538  			i--
   539  			dAtA[i] = 0xa
   540  		}
   541  	}
   542  	return len(dAtA) - i, nil
   543  }
   544  
   545  func (m *PexAddressV2) Marshal() (dAtA []byte, err error) {
   546  	size := m.Size()
   547  	dAtA = make([]byte, size)
   548  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   549  	if err != nil {
   550  		return nil, err
   551  	}
   552  	return dAtA[:n], nil
   553  }
   554  
   555  func (m *PexAddressV2) MarshalTo(dAtA []byte) (int, error) {
   556  	size := m.Size()
   557  	return m.MarshalToSizedBuffer(dAtA[:size])
   558  }
   559  
   560  func (m *PexAddressV2) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   561  	i := len(dAtA)
   562  	_ = i
   563  	var l int
   564  	_ = l
   565  	if len(m.URL) > 0 {
   566  		i -= len(m.URL)
   567  		copy(dAtA[i:], m.URL)
   568  		i = encodeVarintPex(dAtA, i, uint64(len(m.URL)))
   569  		i--
   570  		dAtA[i] = 0xa
   571  	}
   572  	return len(dAtA) - i, nil
   573  }
   574  
   575  func (m *PexRequestV2) Marshal() (dAtA []byte, err error) {
   576  	size := m.Size()
   577  	dAtA = make([]byte, size)
   578  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   579  	if err != nil {
   580  		return nil, err
   581  	}
   582  	return dAtA[:n], nil
   583  }
   584  
   585  func (m *PexRequestV2) MarshalTo(dAtA []byte) (int, error) {
   586  	size := m.Size()
   587  	return m.MarshalToSizedBuffer(dAtA[:size])
   588  }
   589  
   590  func (m *PexRequestV2) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   591  	i := len(dAtA)
   592  	_ = i
   593  	var l int
   594  	_ = l
   595  	return len(dAtA) - i, nil
   596  }
   597  
   598  func (m *PexResponseV2) Marshal() (dAtA []byte, err error) {
   599  	size := m.Size()
   600  	dAtA = make([]byte, size)
   601  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   602  	if err != nil {
   603  		return nil, err
   604  	}
   605  	return dAtA[:n], nil
   606  }
   607  
   608  func (m *PexResponseV2) MarshalTo(dAtA []byte) (int, error) {
   609  	size := m.Size()
   610  	return m.MarshalToSizedBuffer(dAtA[:size])
   611  }
   612  
   613  func (m *PexResponseV2) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   614  	i := len(dAtA)
   615  	_ = i
   616  	var l int
   617  	_ = l
   618  	if len(m.Addresses) > 0 {
   619  		for iNdEx := len(m.Addresses) - 1; iNdEx >= 0; iNdEx-- {
   620  			{
   621  				size, err := m.Addresses[iNdEx].MarshalToSizedBuffer(dAtA[:i])
   622  				if err != nil {
   623  					return 0, err
   624  				}
   625  				i -= size
   626  				i = encodeVarintPex(dAtA, i, uint64(size))
   627  			}
   628  			i--
   629  			dAtA[i] = 0xa
   630  		}
   631  	}
   632  	return len(dAtA) - i, nil
   633  }
   634  
   635  func (m *PexMessage) Marshal() (dAtA []byte, err error) {
   636  	size := m.Size()
   637  	dAtA = make([]byte, size)
   638  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   639  	if err != nil {
   640  		return nil, err
   641  	}
   642  	return dAtA[:n], nil
   643  }
   644  
   645  func (m *PexMessage) MarshalTo(dAtA []byte) (int, error) {
   646  	size := m.Size()
   647  	return m.MarshalToSizedBuffer(dAtA[:size])
   648  }
   649  
   650  func (m *PexMessage) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   651  	i := len(dAtA)
   652  	_ = i
   653  	var l int
   654  	_ = l
   655  	if m.Sum != nil {
   656  		{
   657  			size := m.Sum.Size()
   658  			i -= size
   659  			if _, err := m.Sum.MarshalTo(dAtA[i:]); err != nil {
   660  				return 0, err
   661  			}
   662  		}
   663  	}
   664  	return len(dAtA) - i, nil
   665  }
   666  
   667  func (m *PexMessage_PexRequest) MarshalTo(dAtA []byte) (int, error) {
   668  	size := m.Size()
   669  	return m.MarshalToSizedBuffer(dAtA[:size])
   670  }
   671  
   672  func (m *PexMessage_PexRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   673  	i := len(dAtA)
   674  	if m.PexRequest != nil {
   675  		{
   676  			size, err := m.PexRequest.MarshalToSizedBuffer(dAtA[:i])
   677  			if err != nil {
   678  				return 0, err
   679  			}
   680  			i -= size
   681  			i = encodeVarintPex(dAtA, i, uint64(size))
   682  		}
   683  		i--
   684  		dAtA[i] = 0xa
   685  	}
   686  	return len(dAtA) - i, nil
   687  }
   688  func (m *PexMessage_PexResponse) MarshalTo(dAtA []byte) (int, error) {
   689  	size := m.Size()
   690  	return m.MarshalToSizedBuffer(dAtA[:size])
   691  }
   692  
   693  func (m *PexMessage_PexResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   694  	i := len(dAtA)
   695  	if m.PexResponse != nil {
   696  		{
   697  			size, err := m.PexResponse.MarshalToSizedBuffer(dAtA[:i])
   698  			if err != nil {
   699  				return 0, err
   700  			}
   701  			i -= size
   702  			i = encodeVarintPex(dAtA, i, uint64(size))
   703  		}
   704  		i--
   705  		dAtA[i] = 0x12
   706  	}
   707  	return len(dAtA) - i, nil
   708  }
   709  func (m *PexMessage_PexRequestV2) MarshalTo(dAtA []byte) (int, error) {
   710  	size := m.Size()
   711  	return m.MarshalToSizedBuffer(dAtA[:size])
   712  }
   713  
   714  func (m *PexMessage_PexRequestV2) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   715  	i := len(dAtA)
   716  	if m.PexRequestV2 != nil {
   717  		{
   718  			size, err := m.PexRequestV2.MarshalToSizedBuffer(dAtA[:i])
   719  			if err != nil {
   720  				return 0, err
   721  			}
   722  			i -= size
   723  			i = encodeVarintPex(dAtA, i, uint64(size))
   724  		}
   725  		i--
   726  		dAtA[i] = 0x1a
   727  	}
   728  	return len(dAtA) - i, nil
   729  }
   730  func (m *PexMessage_PexResponseV2) MarshalTo(dAtA []byte) (int, error) {
   731  	size := m.Size()
   732  	return m.MarshalToSizedBuffer(dAtA[:size])
   733  }
   734  
   735  func (m *PexMessage_PexResponseV2) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   736  	i := len(dAtA)
   737  	if m.PexResponseV2 != nil {
   738  		{
   739  			size, err := m.PexResponseV2.MarshalToSizedBuffer(dAtA[:i])
   740  			if err != nil {
   741  				return 0, err
   742  			}
   743  			i -= size
   744  			i = encodeVarintPex(dAtA, i, uint64(size))
   745  		}
   746  		i--
   747  		dAtA[i] = 0x22
   748  	}
   749  	return len(dAtA) - i, nil
   750  }
   751  func encodeVarintPex(dAtA []byte, offset int, v uint64) int {
   752  	offset -= sovPex(v)
   753  	base := offset
   754  	for v >= 1<<7 {
   755  		dAtA[offset] = uint8(v&0x7f | 0x80)
   756  		v >>= 7
   757  		offset++
   758  	}
   759  	dAtA[offset] = uint8(v)
   760  	return base
   761  }
   762  func (m *PexAddress) Size() (n int) {
   763  	if m == nil {
   764  		return 0
   765  	}
   766  	var l int
   767  	_ = l
   768  	l = len(m.ID)
   769  	if l > 0 {
   770  		n += 1 + l + sovPex(uint64(l))
   771  	}
   772  	l = len(m.IP)
   773  	if l > 0 {
   774  		n += 1 + l + sovPex(uint64(l))
   775  	}
   776  	if m.Port != 0 {
   777  		n += 1 + sovPex(uint64(m.Port))
   778  	}
   779  	return n
   780  }
   781  
   782  func (m *PexRequest) Size() (n int) {
   783  	if m == nil {
   784  		return 0
   785  	}
   786  	var l int
   787  	_ = l
   788  	return n
   789  }
   790  
   791  func (m *PexResponse) Size() (n int) {
   792  	if m == nil {
   793  		return 0
   794  	}
   795  	var l int
   796  	_ = l
   797  	if len(m.Addresses) > 0 {
   798  		for _, e := range m.Addresses {
   799  			l = e.Size()
   800  			n += 1 + l + sovPex(uint64(l))
   801  		}
   802  	}
   803  	return n
   804  }
   805  
   806  func (m *PexAddressV2) Size() (n int) {
   807  	if m == nil {
   808  		return 0
   809  	}
   810  	var l int
   811  	_ = l
   812  	l = len(m.URL)
   813  	if l > 0 {
   814  		n += 1 + l + sovPex(uint64(l))
   815  	}
   816  	return n
   817  }
   818  
   819  func (m *PexRequestV2) Size() (n int) {
   820  	if m == nil {
   821  		return 0
   822  	}
   823  	var l int
   824  	_ = l
   825  	return n
   826  }
   827  
   828  func (m *PexResponseV2) Size() (n int) {
   829  	if m == nil {
   830  		return 0
   831  	}
   832  	var l int
   833  	_ = l
   834  	if len(m.Addresses) > 0 {
   835  		for _, e := range m.Addresses {
   836  			l = e.Size()
   837  			n += 1 + l + sovPex(uint64(l))
   838  		}
   839  	}
   840  	return n
   841  }
   842  
   843  func (m *PexMessage) Size() (n int) {
   844  	if m == nil {
   845  		return 0
   846  	}
   847  	var l int
   848  	_ = l
   849  	if m.Sum != nil {
   850  		n += m.Sum.Size()
   851  	}
   852  	return n
   853  }
   854  
   855  func (m *PexMessage_PexRequest) Size() (n int) {
   856  	if m == nil {
   857  		return 0
   858  	}
   859  	var l int
   860  	_ = l
   861  	if m.PexRequest != nil {
   862  		l = m.PexRequest.Size()
   863  		n += 1 + l + sovPex(uint64(l))
   864  	}
   865  	return n
   866  }
   867  func (m *PexMessage_PexResponse) Size() (n int) {
   868  	if m == nil {
   869  		return 0
   870  	}
   871  	var l int
   872  	_ = l
   873  	if m.PexResponse != nil {
   874  		l = m.PexResponse.Size()
   875  		n += 1 + l + sovPex(uint64(l))
   876  	}
   877  	return n
   878  }
   879  func (m *PexMessage_PexRequestV2) Size() (n int) {
   880  	if m == nil {
   881  		return 0
   882  	}
   883  	var l int
   884  	_ = l
   885  	if m.PexRequestV2 != nil {
   886  		l = m.PexRequestV2.Size()
   887  		n += 1 + l + sovPex(uint64(l))
   888  	}
   889  	return n
   890  }
   891  func (m *PexMessage_PexResponseV2) Size() (n int) {
   892  	if m == nil {
   893  		return 0
   894  	}
   895  	var l int
   896  	_ = l
   897  	if m.PexResponseV2 != nil {
   898  		l = m.PexResponseV2.Size()
   899  		n += 1 + l + sovPex(uint64(l))
   900  	}
   901  	return n
   902  }
   903  
   904  func sovPex(x uint64) (n int) {
   905  	return (math_bits.Len64(x|1) + 6) / 7
   906  }
   907  func sozPex(x uint64) (n int) {
   908  	return sovPex(uint64((x << 1) ^ uint64((int64(x) >> 63))))
   909  }
   910  func (m *PexAddress) 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 ErrIntOverflowPex
   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: PexAddress: wiretype end group for non-group")
   934  		}
   935  		if fieldNum <= 0 {
   936  			return fmt.Errorf("proto: PexAddress: 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 ID", wireType)
   942  			}
   943  			var stringLen uint64
   944  			for shift := uint(0); ; shift += 7 {
   945  				if shift >= 64 {
   946  					return ErrIntOverflowPex
   947  				}
   948  				if iNdEx >= l {
   949  					return io.ErrUnexpectedEOF
   950  				}
   951  				b := dAtA[iNdEx]
   952  				iNdEx++
   953  				stringLen |= uint64(b&0x7F) << shift
   954  				if b < 0x80 {
   955  					break
   956  				}
   957  			}
   958  			intStringLen := int(stringLen)
   959  			if intStringLen < 0 {
   960  				return ErrInvalidLengthPex
   961  			}
   962  			postIndex := iNdEx + intStringLen
   963  			if postIndex < 0 {
   964  				return ErrInvalidLengthPex
   965  			}
   966  			if postIndex > l {
   967  				return io.ErrUnexpectedEOF
   968  			}
   969  			m.ID = string(dAtA[iNdEx:postIndex])
   970  			iNdEx = postIndex
   971  		case 2:
   972  			if wireType != 2 {
   973  				return fmt.Errorf("proto: wrong wireType = %d for field IP", wireType)
   974  			}
   975  			var stringLen uint64
   976  			for shift := uint(0); ; shift += 7 {
   977  				if shift >= 64 {
   978  					return ErrIntOverflowPex
   979  				}
   980  				if iNdEx >= l {
   981  					return io.ErrUnexpectedEOF
   982  				}
   983  				b := dAtA[iNdEx]
   984  				iNdEx++
   985  				stringLen |= uint64(b&0x7F) << shift
   986  				if b < 0x80 {
   987  					break
   988  				}
   989  			}
   990  			intStringLen := int(stringLen)
   991  			if intStringLen < 0 {
   992  				return ErrInvalidLengthPex
   993  			}
   994  			postIndex := iNdEx + intStringLen
   995  			if postIndex < 0 {
   996  				return ErrInvalidLengthPex
   997  			}
   998  			if postIndex > l {
   999  				return io.ErrUnexpectedEOF
  1000  			}
  1001  			m.IP = string(dAtA[iNdEx:postIndex])
  1002  			iNdEx = postIndex
  1003  		case 3:
  1004  			if wireType != 0 {
  1005  				return fmt.Errorf("proto: wrong wireType = %d for field Port", wireType)
  1006  			}
  1007  			m.Port = 0
  1008  			for shift := uint(0); ; shift += 7 {
  1009  				if shift >= 64 {
  1010  					return ErrIntOverflowPex
  1011  				}
  1012  				if iNdEx >= l {
  1013  					return io.ErrUnexpectedEOF
  1014  				}
  1015  				b := dAtA[iNdEx]
  1016  				iNdEx++
  1017  				m.Port |= uint32(b&0x7F) << shift
  1018  				if b < 0x80 {
  1019  					break
  1020  				}
  1021  			}
  1022  		default:
  1023  			iNdEx = preIndex
  1024  			skippy, err := skipPex(dAtA[iNdEx:])
  1025  			if err != nil {
  1026  				return err
  1027  			}
  1028  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1029  				return ErrInvalidLengthPex
  1030  			}
  1031  			if (iNdEx + skippy) > l {
  1032  				return io.ErrUnexpectedEOF
  1033  			}
  1034  			iNdEx += skippy
  1035  		}
  1036  	}
  1037  
  1038  	if iNdEx > l {
  1039  		return io.ErrUnexpectedEOF
  1040  	}
  1041  	return nil
  1042  }
  1043  func (m *PexRequest) Unmarshal(dAtA []byte) error {
  1044  	l := len(dAtA)
  1045  	iNdEx := 0
  1046  	for iNdEx < l {
  1047  		preIndex := iNdEx
  1048  		var wire uint64
  1049  		for shift := uint(0); ; shift += 7 {
  1050  			if shift >= 64 {
  1051  				return ErrIntOverflowPex
  1052  			}
  1053  			if iNdEx >= l {
  1054  				return io.ErrUnexpectedEOF
  1055  			}
  1056  			b := dAtA[iNdEx]
  1057  			iNdEx++
  1058  			wire |= uint64(b&0x7F) << shift
  1059  			if b < 0x80 {
  1060  				break
  1061  			}
  1062  		}
  1063  		fieldNum := int32(wire >> 3)
  1064  		wireType := int(wire & 0x7)
  1065  		if wireType == 4 {
  1066  			return fmt.Errorf("proto: PexRequest: wiretype end group for non-group")
  1067  		}
  1068  		if fieldNum <= 0 {
  1069  			return fmt.Errorf("proto: PexRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  1070  		}
  1071  		switch fieldNum {
  1072  		default:
  1073  			iNdEx = preIndex
  1074  			skippy, err := skipPex(dAtA[iNdEx:])
  1075  			if err != nil {
  1076  				return err
  1077  			}
  1078  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1079  				return ErrInvalidLengthPex
  1080  			}
  1081  			if (iNdEx + skippy) > l {
  1082  				return io.ErrUnexpectedEOF
  1083  			}
  1084  			iNdEx += skippy
  1085  		}
  1086  	}
  1087  
  1088  	if iNdEx > l {
  1089  		return io.ErrUnexpectedEOF
  1090  	}
  1091  	return nil
  1092  }
  1093  func (m *PexResponse) Unmarshal(dAtA []byte) error {
  1094  	l := len(dAtA)
  1095  	iNdEx := 0
  1096  	for iNdEx < l {
  1097  		preIndex := iNdEx
  1098  		var wire uint64
  1099  		for shift := uint(0); ; shift += 7 {
  1100  			if shift >= 64 {
  1101  				return ErrIntOverflowPex
  1102  			}
  1103  			if iNdEx >= l {
  1104  				return io.ErrUnexpectedEOF
  1105  			}
  1106  			b := dAtA[iNdEx]
  1107  			iNdEx++
  1108  			wire |= uint64(b&0x7F) << shift
  1109  			if b < 0x80 {
  1110  				break
  1111  			}
  1112  		}
  1113  		fieldNum := int32(wire >> 3)
  1114  		wireType := int(wire & 0x7)
  1115  		if wireType == 4 {
  1116  			return fmt.Errorf("proto: PexResponse: wiretype end group for non-group")
  1117  		}
  1118  		if fieldNum <= 0 {
  1119  			return fmt.Errorf("proto: PexResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  1120  		}
  1121  		switch fieldNum {
  1122  		case 1:
  1123  			if wireType != 2 {
  1124  				return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType)
  1125  			}
  1126  			var msglen int
  1127  			for shift := uint(0); ; shift += 7 {
  1128  				if shift >= 64 {
  1129  					return ErrIntOverflowPex
  1130  				}
  1131  				if iNdEx >= l {
  1132  					return io.ErrUnexpectedEOF
  1133  				}
  1134  				b := dAtA[iNdEx]
  1135  				iNdEx++
  1136  				msglen |= int(b&0x7F) << shift
  1137  				if b < 0x80 {
  1138  					break
  1139  				}
  1140  			}
  1141  			if msglen < 0 {
  1142  				return ErrInvalidLengthPex
  1143  			}
  1144  			postIndex := iNdEx + msglen
  1145  			if postIndex < 0 {
  1146  				return ErrInvalidLengthPex
  1147  			}
  1148  			if postIndex > l {
  1149  				return io.ErrUnexpectedEOF
  1150  			}
  1151  			m.Addresses = append(m.Addresses, PexAddress{})
  1152  			if err := m.Addresses[len(m.Addresses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1153  				return err
  1154  			}
  1155  			iNdEx = postIndex
  1156  		default:
  1157  			iNdEx = preIndex
  1158  			skippy, err := skipPex(dAtA[iNdEx:])
  1159  			if err != nil {
  1160  				return err
  1161  			}
  1162  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1163  				return ErrInvalidLengthPex
  1164  			}
  1165  			if (iNdEx + skippy) > l {
  1166  				return io.ErrUnexpectedEOF
  1167  			}
  1168  			iNdEx += skippy
  1169  		}
  1170  	}
  1171  
  1172  	if iNdEx > l {
  1173  		return io.ErrUnexpectedEOF
  1174  	}
  1175  	return nil
  1176  }
  1177  func (m *PexAddressV2) Unmarshal(dAtA []byte) error {
  1178  	l := len(dAtA)
  1179  	iNdEx := 0
  1180  	for iNdEx < l {
  1181  		preIndex := iNdEx
  1182  		var wire uint64
  1183  		for shift := uint(0); ; shift += 7 {
  1184  			if shift >= 64 {
  1185  				return ErrIntOverflowPex
  1186  			}
  1187  			if iNdEx >= l {
  1188  				return io.ErrUnexpectedEOF
  1189  			}
  1190  			b := dAtA[iNdEx]
  1191  			iNdEx++
  1192  			wire |= uint64(b&0x7F) << shift
  1193  			if b < 0x80 {
  1194  				break
  1195  			}
  1196  		}
  1197  		fieldNum := int32(wire >> 3)
  1198  		wireType := int(wire & 0x7)
  1199  		if wireType == 4 {
  1200  			return fmt.Errorf("proto: PexAddressV2: wiretype end group for non-group")
  1201  		}
  1202  		if fieldNum <= 0 {
  1203  			return fmt.Errorf("proto: PexAddressV2: illegal tag %d (wire type %d)", fieldNum, wire)
  1204  		}
  1205  		switch fieldNum {
  1206  		case 1:
  1207  			if wireType != 2 {
  1208  				return fmt.Errorf("proto: wrong wireType = %d for field URL", wireType)
  1209  			}
  1210  			var stringLen uint64
  1211  			for shift := uint(0); ; shift += 7 {
  1212  				if shift >= 64 {
  1213  					return ErrIntOverflowPex
  1214  				}
  1215  				if iNdEx >= l {
  1216  					return io.ErrUnexpectedEOF
  1217  				}
  1218  				b := dAtA[iNdEx]
  1219  				iNdEx++
  1220  				stringLen |= uint64(b&0x7F) << shift
  1221  				if b < 0x80 {
  1222  					break
  1223  				}
  1224  			}
  1225  			intStringLen := int(stringLen)
  1226  			if intStringLen < 0 {
  1227  				return ErrInvalidLengthPex
  1228  			}
  1229  			postIndex := iNdEx + intStringLen
  1230  			if postIndex < 0 {
  1231  				return ErrInvalidLengthPex
  1232  			}
  1233  			if postIndex > l {
  1234  				return io.ErrUnexpectedEOF
  1235  			}
  1236  			m.URL = string(dAtA[iNdEx:postIndex])
  1237  			iNdEx = postIndex
  1238  		default:
  1239  			iNdEx = preIndex
  1240  			skippy, err := skipPex(dAtA[iNdEx:])
  1241  			if err != nil {
  1242  				return err
  1243  			}
  1244  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1245  				return ErrInvalidLengthPex
  1246  			}
  1247  			if (iNdEx + skippy) > l {
  1248  				return io.ErrUnexpectedEOF
  1249  			}
  1250  			iNdEx += skippy
  1251  		}
  1252  	}
  1253  
  1254  	if iNdEx > l {
  1255  		return io.ErrUnexpectedEOF
  1256  	}
  1257  	return nil
  1258  }
  1259  func (m *PexRequestV2) Unmarshal(dAtA []byte) error {
  1260  	l := len(dAtA)
  1261  	iNdEx := 0
  1262  	for iNdEx < l {
  1263  		preIndex := iNdEx
  1264  		var wire uint64
  1265  		for shift := uint(0); ; shift += 7 {
  1266  			if shift >= 64 {
  1267  				return ErrIntOverflowPex
  1268  			}
  1269  			if iNdEx >= l {
  1270  				return io.ErrUnexpectedEOF
  1271  			}
  1272  			b := dAtA[iNdEx]
  1273  			iNdEx++
  1274  			wire |= uint64(b&0x7F) << shift
  1275  			if b < 0x80 {
  1276  				break
  1277  			}
  1278  		}
  1279  		fieldNum := int32(wire >> 3)
  1280  		wireType := int(wire & 0x7)
  1281  		if wireType == 4 {
  1282  			return fmt.Errorf("proto: PexRequestV2: wiretype end group for non-group")
  1283  		}
  1284  		if fieldNum <= 0 {
  1285  			return fmt.Errorf("proto: PexRequestV2: illegal tag %d (wire type %d)", fieldNum, wire)
  1286  		}
  1287  		switch fieldNum {
  1288  		default:
  1289  			iNdEx = preIndex
  1290  			skippy, err := skipPex(dAtA[iNdEx:])
  1291  			if err != nil {
  1292  				return err
  1293  			}
  1294  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1295  				return ErrInvalidLengthPex
  1296  			}
  1297  			if (iNdEx + skippy) > l {
  1298  				return io.ErrUnexpectedEOF
  1299  			}
  1300  			iNdEx += skippy
  1301  		}
  1302  	}
  1303  
  1304  	if iNdEx > l {
  1305  		return io.ErrUnexpectedEOF
  1306  	}
  1307  	return nil
  1308  }
  1309  func (m *PexResponseV2) Unmarshal(dAtA []byte) error {
  1310  	l := len(dAtA)
  1311  	iNdEx := 0
  1312  	for iNdEx < l {
  1313  		preIndex := iNdEx
  1314  		var wire uint64
  1315  		for shift := uint(0); ; shift += 7 {
  1316  			if shift >= 64 {
  1317  				return ErrIntOverflowPex
  1318  			}
  1319  			if iNdEx >= l {
  1320  				return io.ErrUnexpectedEOF
  1321  			}
  1322  			b := dAtA[iNdEx]
  1323  			iNdEx++
  1324  			wire |= uint64(b&0x7F) << shift
  1325  			if b < 0x80 {
  1326  				break
  1327  			}
  1328  		}
  1329  		fieldNum := int32(wire >> 3)
  1330  		wireType := int(wire & 0x7)
  1331  		if wireType == 4 {
  1332  			return fmt.Errorf("proto: PexResponseV2: wiretype end group for non-group")
  1333  		}
  1334  		if fieldNum <= 0 {
  1335  			return fmt.Errorf("proto: PexResponseV2: illegal tag %d (wire type %d)", fieldNum, wire)
  1336  		}
  1337  		switch fieldNum {
  1338  		case 1:
  1339  			if wireType != 2 {
  1340  				return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType)
  1341  			}
  1342  			var msglen int
  1343  			for shift := uint(0); ; shift += 7 {
  1344  				if shift >= 64 {
  1345  					return ErrIntOverflowPex
  1346  				}
  1347  				if iNdEx >= l {
  1348  					return io.ErrUnexpectedEOF
  1349  				}
  1350  				b := dAtA[iNdEx]
  1351  				iNdEx++
  1352  				msglen |= int(b&0x7F) << shift
  1353  				if b < 0x80 {
  1354  					break
  1355  				}
  1356  			}
  1357  			if msglen < 0 {
  1358  				return ErrInvalidLengthPex
  1359  			}
  1360  			postIndex := iNdEx + msglen
  1361  			if postIndex < 0 {
  1362  				return ErrInvalidLengthPex
  1363  			}
  1364  			if postIndex > l {
  1365  				return io.ErrUnexpectedEOF
  1366  			}
  1367  			m.Addresses = append(m.Addresses, PexAddressV2{})
  1368  			if err := m.Addresses[len(m.Addresses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1369  				return err
  1370  			}
  1371  			iNdEx = postIndex
  1372  		default:
  1373  			iNdEx = preIndex
  1374  			skippy, err := skipPex(dAtA[iNdEx:])
  1375  			if err != nil {
  1376  				return err
  1377  			}
  1378  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1379  				return ErrInvalidLengthPex
  1380  			}
  1381  			if (iNdEx + skippy) > l {
  1382  				return io.ErrUnexpectedEOF
  1383  			}
  1384  			iNdEx += skippy
  1385  		}
  1386  	}
  1387  
  1388  	if iNdEx > l {
  1389  		return io.ErrUnexpectedEOF
  1390  	}
  1391  	return nil
  1392  }
  1393  func (m *PexMessage) Unmarshal(dAtA []byte) error {
  1394  	l := len(dAtA)
  1395  	iNdEx := 0
  1396  	for iNdEx < l {
  1397  		preIndex := iNdEx
  1398  		var wire uint64
  1399  		for shift := uint(0); ; shift += 7 {
  1400  			if shift >= 64 {
  1401  				return ErrIntOverflowPex
  1402  			}
  1403  			if iNdEx >= l {
  1404  				return io.ErrUnexpectedEOF
  1405  			}
  1406  			b := dAtA[iNdEx]
  1407  			iNdEx++
  1408  			wire |= uint64(b&0x7F) << shift
  1409  			if b < 0x80 {
  1410  				break
  1411  			}
  1412  		}
  1413  		fieldNum := int32(wire >> 3)
  1414  		wireType := int(wire & 0x7)
  1415  		if wireType == 4 {
  1416  			return fmt.Errorf("proto: PexMessage: wiretype end group for non-group")
  1417  		}
  1418  		if fieldNum <= 0 {
  1419  			return fmt.Errorf("proto: PexMessage: illegal tag %d (wire type %d)", fieldNum, wire)
  1420  		}
  1421  		switch fieldNum {
  1422  		case 1:
  1423  			if wireType != 2 {
  1424  				return fmt.Errorf("proto: wrong wireType = %d for field PexRequest", wireType)
  1425  			}
  1426  			var msglen int
  1427  			for shift := uint(0); ; shift += 7 {
  1428  				if shift >= 64 {
  1429  					return ErrIntOverflowPex
  1430  				}
  1431  				if iNdEx >= l {
  1432  					return io.ErrUnexpectedEOF
  1433  				}
  1434  				b := dAtA[iNdEx]
  1435  				iNdEx++
  1436  				msglen |= int(b&0x7F) << shift
  1437  				if b < 0x80 {
  1438  					break
  1439  				}
  1440  			}
  1441  			if msglen < 0 {
  1442  				return ErrInvalidLengthPex
  1443  			}
  1444  			postIndex := iNdEx + msglen
  1445  			if postIndex < 0 {
  1446  				return ErrInvalidLengthPex
  1447  			}
  1448  			if postIndex > l {
  1449  				return io.ErrUnexpectedEOF
  1450  			}
  1451  			v := &PexRequest{}
  1452  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1453  				return err
  1454  			}
  1455  			m.Sum = &PexMessage_PexRequest{v}
  1456  			iNdEx = postIndex
  1457  		case 2:
  1458  			if wireType != 2 {
  1459  				return fmt.Errorf("proto: wrong wireType = %d for field PexResponse", wireType)
  1460  			}
  1461  			var msglen int
  1462  			for shift := uint(0); ; shift += 7 {
  1463  				if shift >= 64 {
  1464  					return ErrIntOverflowPex
  1465  				}
  1466  				if iNdEx >= l {
  1467  					return io.ErrUnexpectedEOF
  1468  				}
  1469  				b := dAtA[iNdEx]
  1470  				iNdEx++
  1471  				msglen |= int(b&0x7F) << shift
  1472  				if b < 0x80 {
  1473  					break
  1474  				}
  1475  			}
  1476  			if msglen < 0 {
  1477  				return ErrInvalidLengthPex
  1478  			}
  1479  			postIndex := iNdEx + msglen
  1480  			if postIndex < 0 {
  1481  				return ErrInvalidLengthPex
  1482  			}
  1483  			if postIndex > l {
  1484  				return io.ErrUnexpectedEOF
  1485  			}
  1486  			v := &PexResponse{}
  1487  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1488  				return err
  1489  			}
  1490  			m.Sum = &PexMessage_PexResponse{v}
  1491  			iNdEx = postIndex
  1492  		case 3:
  1493  			if wireType != 2 {
  1494  				return fmt.Errorf("proto: wrong wireType = %d for field PexRequestV2", wireType)
  1495  			}
  1496  			var msglen int
  1497  			for shift := uint(0); ; shift += 7 {
  1498  				if shift >= 64 {
  1499  					return ErrIntOverflowPex
  1500  				}
  1501  				if iNdEx >= l {
  1502  					return io.ErrUnexpectedEOF
  1503  				}
  1504  				b := dAtA[iNdEx]
  1505  				iNdEx++
  1506  				msglen |= int(b&0x7F) << shift
  1507  				if b < 0x80 {
  1508  					break
  1509  				}
  1510  			}
  1511  			if msglen < 0 {
  1512  				return ErrInvalidLengthPex
  1513  			}
  1514  			postIndex := iNdEx + msglen
  1515  			if postIndex < 0 {
  1516  				return ErrInvalidLengthPex
  1517  			}
  1518  			if postIndex > l {
  1519  				return io.ErrUnexpectedEOF
  1520  			}
  1521  			v := &PexRequestV2{}
  1522  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1523  				return err
  1524  			}
  1525  			m.Sum = &PexMessage_PexRequestV2{v}
  1526  			iNdEx = postIndex
  1527  		case 4:
  1528  			if wireType != 2 {
  1529  				return fmt.Errorf("proto: wrong wireType = %d for field PexResponseV2", wireType)
  1530  			}
  1531  			var msglen int
  1532  			for shift := uint(0); ; shift += 7 {
  1533  				if shift >= 64 {
  1534  					return ErrIntOverflowPex
  1535  				}
  1536  				if iNdEx >= l {
  1537  					return io.ErrUnexpectedEOF
  1538  				}
  1539  				b := dAtA[iNdEx]
  1540  				iNdEx++
  1541  				msglen |= int(b&0x7F) << shift
  1542  				if b < 0x80 {
  1543  					break
  1544  				}
  1545  			}
  1546  			if msglen < 0 {
  1547  				return ErrInvalidLengthPex
  1548  			}
  1549  			postIndex := iNdEx + msglen
  1550  			if postIndex < 0 {
  1551  				return ErrInvalidLengthPex
  1552  			}
  1553  			if postIndex > l {
  1554  				return io.ErrUnexpectedEOF
  1555  			}
  1556  			v := &PexResponseV2{}
  1557  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1558  				return err
  1559  			}
  1560  			m.Sum = &PexMessage_PexResponseV2{v}
  1561  			iNdEx = postIndex
  1562  		default:
  1563  			iNdEx = preIndex
  1564  			skippy, err := skipPex(dAtA[iNdEx:])
  1565  			if err != nil {
  1566  				return err
  1567  			}
  1568  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1569  				return ErrInvalidLengthPex
  1570  			}
  1571  			if (iNdEx + skippy) > l {
  1572  				return io.ErrUnexpectedEOF
  1573  			}
  1574  			iNdEx += skippy
  1575  		}
  1576  	}
  1577  
  1578  	if iNdEx > l {
  1579  		return io.ErrUnexpectedEOF
  1580  	}
  1581  	return nil
  1582  }
  1583  func skipPex(dAtA []byte) (n int, err error) {
  1584  	l := len(dAtA)
  1585  	iNdEx := 0
  1586  	depth := 0
  1587  	for iNdEx < l {
  1588  		var wire uint64
  1589  		for shift := uint(0); ; shift += 7 {
  1590  			if shift >= 64 {
  1591  				return 0, ErrIntOverflowPex
  1592  			}
  1593  			if iNdEx >= l {
  1594  				return 0, io.ErrUnexpectedEOF
  1595  			}
  1596  			b := dAtA[iNdEx]
  1597  			iNdEx++
  1598  			wire |= (uint64(b) & 0x7F) << shift
  1599  			if b < 0x80 {
  1600  				break
  1601  			}
  1602  		}
  1603  		wireType := int(wire & 0x7)
  1604  		switch wireType {
  1605  		case 0:
  1606  			for shift := uint(0); ; shift += 7 {
  1607  				if shift >= 64 {
  1608  					return 0, ErrIntOverflowPex
  1609  				}
  1610  				if iNdEx >= l {
  1611  					return 0, io.ErrUnexpectedEOF
  1612  				}
  1613  				iNdEx++
  1614  				if dAtA[iNdEx-1] < 0x80 {
  1615  					break
  1616  				}
  1617  			}
  1618  		case 1:
  1619  			iNdEx += 8
  1620  		case 2:
  1621  			var length int
  1622  			for shift := uint(0); ; shift += 7 {
  1623  				if shift >= 64 {
  1624  					return 0, ErrIntOverflowPex
  1625  				}
  1626  				if iNdEx >= l {
  1627  					return 0, io.ErrUnexpectedEOF
  1628  				}
  1629  				b := dAtA[iNdEx]
  1630  				iNdEx++
  1631  				length |= (int(b) & 0x7F) << shift
  1632  				if b < 0x80 {
  1633  					break
  1634  				}
  1635  			}
  1636  			if length < 0 {
  1637  				return 0, ErrInvalidLengthPex
  1638  			}
  1639  			iNdEx += length
  1640  		case 3:
  1641  			depth++
  1642  		case 4:
  1643  			if depth == 0 {
  1644  				return 0, ErrUnexpectedEndOfGroupPex
  1645  			}
  1646  			depth--
  1647  		case 5:
  1648  			iNdEx += 4
  1649  		default:
  1650  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  1651  		}
  1652  		if iNdEx < 0 {
  1653  			return 0, ErrInvalidLengthPex
  1654  		}
  1655  		if depth == 0 {
  1656  			return iNdEx, nil
  1657  		}
  1658  	}
  1659  	return 0, io.ErrUnexpectedEOF
  1660  }
  1661  
  1662  var (
  1663  	ErrInvalidLengthPex        = fmt.Errorf("proto: negative length found during unmarshaling")
  1664  	ErrIntOverflowPex          = fmt.Errorf("proto: integer overflow")
  1665  	ErrUnexpectedEndOfGroupPex = fmt.Errorf("proto: unexpected end of group")
  1666  )