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

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: gossip/gossip.proto
     3  
     4  package gossip
     5  
     6  import proto "github.com/gogo/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  import roachpb "github.com/cockroachdb/cockroach/pkg/roachpb"
    10  import util "github.com/cockroachdb/cockroach/pkg/util"
    11  import hlc "github.com/cockroachdb/cockroach/pkg/util/hlc"
    12  
    13  import github_com_cockroachdb_cockroach_pkg_roachpb "github.com/cockroachdb/cockroach/pkg/roachpb"
    14  import github_com_cockroachdb_cockroach_pkg_util_uuid "github.com/cockroachdb/cockroach/pkg/util/uuid"
    15  
    16  import (
    17  	context "context"
    18  	grpc "google.golang.org/grpc"
    19  )
    20  
    21  import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
    22  
    23  import io "io"
    24  
    25  // Reference imports to suppress errors if they are not otherwise used.
    26  var _ = proto.Marshal
    27  var _ = fmt.Errorf
    28  var _ = math.Inf
    29  
    30  // This is a compile-time assertion to ensure that this generated file
    31  // is compatible with the proto package it is being compiled against.
    32  // A compilation error at this line likely means your copy of the
    33  // proto package needs to be updated.
    34  const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
    35  
    36  // BootstrapInfo contains information necessary to bootstrap the
    37  // gossip network from a cold start.
    38  type BootstrapInfo struct {
    39  	// Addresses of other nodes in the cluster.
    40  	Addresses []util.UnresolvedAddr `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses"`
    41  	// Timestamp at which the bootstrap info was written.
    42  	Timestamp hlc.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp"`
    43  }
    44  
    45  func (m *BootstrapInfo) Reset()         { *m = BootstrapInfo{} }
    46  func (m *BootstrapInfo) String() string { return proto.CompactTextString(m) }
    47  func (*BootstrapInfo) ProtoMessage()    {}
    48  func (*BootstrapInfo) Descriptor() ([]byte, []int) {
    49  	return fileDescriptor_gossip_af8c9a20540e5252, []int{0}
    50  }
    51  func (m *BootstrapInfo) XXX_Unmarshal(b []byte) error {
    52  	return m.Unmarshal(b)
    53  }
    54  func (m *BootstrapInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    55  	b = b[:cap(b)]
    56  	n, err := m.MarshalTo(b)
    57  	if err != nil {
    58  		return nil, err
    59  	}
    60  	return b[:n], nil
    61  }
    62  func (dst *BootstrapInfo) XXX_Merge(src proto.Message) {
    63  	xxx_messageInfo_BootstrapInfo.Merge(dst, src)
    64  }
    65  func (m *BootstrapInfo) XXX_Size() int {
    66  	return m.Size()
    67  }
    68  func (m *BootstrapInfo) XXX_DiscardUnknown() {
    69  	xxx_messageInfo_BootstrapInfo.DiscardUnknown(m)
    70  }
    71  
    72  var xxx_messageInfo_BootstrapInfo proto.InternalMessageInfo
    73  
    74  // Request is the request struct passed with the Gossip RPC.
    75  type Request struct {
    76  	// Requesting node's ID.
    77  	NodeID github_com_cockroachdb_cockroach_pkg_roachpb.NodeID `protobuf:"varint,1,opt,name=node_id,json=nodeId,proto3,casttype=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"node_id,omitempty"`
    78  	// Address of the requesting client.
    79  	Addr util.UnresolvedAddr `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr"`
    80  	// Map of high water timestamps from infos originating at other
    81  	// nodes, as seen by the requester.
    82  	HighWaterStamps map[github_com_cockroachdb_cockroach_pkg_roachpb.NodeID]int64 `protobuf:"bytes,3,rep,name=high_water_stamps,json=highWaterStamps,proto3,castkey=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"high_water_stamps" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
    83  	// Delta of Infos originating at sender.
    84  	Delta map[string]*Info `protobuf:"bytes,4,rep,name=delta,proto3" json:"delta,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    85  	// Cluster ID to prevent illegal connections.
    86  	ClusterID github_com_cockroachdb_cockroach_pkg_util_uuid.UUID `protobuf:"bytes,5,opt,name=cluster_id,json=clusterId,proto3,customtype=github.com/cockroachdb/cockroach/pkg/util/uuid.UUID" json:"cluster_id"`
    87  }
    88  
    89  func (m *Request) Reset()         { *m = Request{} }
    90  func (m *Request) String() string { return proto.CompactTextString(m) }
    91  func (*Request) ProtoMessage()    {}
    92  func (*Request) Descriptor() ([]byte, []int) {
    93  	return fileDescriptor_gossip_af8c9a20540e5252, []int{1}
    94  }
    95  func (m *Request) XXX_Unmarshal(b []byte) error {
    96  	return m.Unmarshal(b)
    97  }
    98  func (m *Request) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    99  	b = b[:cap(b)]
   100  	n, err := m.MarshalTo(b)
   101  	if err != nil {
   102  		return nil, err
   103  	}
   104  	return b[:n], nil
   105  }
   106  func (dst *Request) XXX_Merge(src proto.Message) {
   107  	xxx_messageInfo_Request.Merge(dst, src)
   108  }
   109  func (m *Request) XXX_Size() int {
   110  	return m.Size()
   111  }
   112  func (m *Request) XXX_DiscardUnknown() {
   113  	xxx_messageInfo_Request.DiscardUnknown(m)
   114  }
   115  
   116  var xxx_messageInfo_Request proto.InternalMessageInfo
   117  
   118  // Response is returned from the Gossip.Gossip RPC.
   119  // Delta will be nil in the event that Alternate is set.
   120  type Response struct {
   121  	// Responding Node's ID.
   122  	NodeID github_com_cockroachdb_cockroach_pkg_roachpb.NodeID `protobuf:"varint,1,opt,name=node_id,json=nodeId,proto3,casttype=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"node_id,omitempty"`
   123  	// Address of the responding client.
   124  	Addr util.UnresolvedAddr `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr"`
   125  	// Non-nil means client should retry with this address.
   126  	AlternateAddr *util.UnresolvedAddr `protobuf:"bytes,3,opt,name=alternate_addr,json=alternateAddr,proto3" json:"alternate_addr,omitempty"`
   127  	// Node ID of the alternate address, if alternate_addr is not nil.
   128  	AlternateNodeID github_com_cockroachdb_cockroach_pkg_roachpb.NodeID `protobuf:"varint,4,opt,name=alternate_node_id,json=alternateNodeId,proto3,casttype=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"alternate_node_id,omitempty"`
   129  	// Delta of Infos which are fresh according to the map of Node info messages
   130  	// passed with the request.
   131  	Delta map[string]*Info `protobuf:"bytes,5,rep,name=delta,proto3" json:"delta,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   132  	// Map of high water timestamps from infos originating at other
   133  	// nodes, as seen by the responder.
   134  	HighWaterStamps map[github_com_cockroachdb_cockroach_pkg_roachpb.NodeID]int64 `protobuf:"bytes,6,rep,name=high_water_stamps,json=highWaterStamps,proto3,castkey=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"high_water_stamps" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   135  }
   136  
   137  func (m *Response) Reset()         { *m = Response{} }
   138  func (m *Response) String() string { return proto.CompactTextString(m) }
   139  func (*Response) ProtoMessage()    {}
   140  func (*Response) Descriptor() ([]byte, []int) {
   141  	return fileDescriptor_gossip_af8c9a20540e5252, []int{2}
   142  }
   143  func (m *Response) XXX_Unmarshal(b []byte) error {
   144  	return m.Unmarshal(b)
   145  }
   146  func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   147  	b = b[:cap(b)]
   148  	n, err := m.MarshalTo(b)
   149  	if err != nil {
   150  		return nil, err
   151  	}
   152  	return b[:n], nil
   153  }
   154  func (dst *Response) XXX_Merge(src proto.Message) {
   155  	xxx_messageInfo_Response.Merge(dst, src)
   156  }
   157  func (m *Response) XXX_Size() int {
   158  	return m.Size()
   159  }
   160  func (m *Response) XXX_DiscardUnknown() {
   161  	xxx_messageInfo_Response.DiscardUnknown(m)
   162  }
   163  
   164  var xxx_messageInfo_Response proto.InternalMessageInfo
   165  
   166  type ConnStatus struct {
   167  	NodeID   github_com_cockroachdb_cockroach_pkg_roachpb.NodeID `protobuf:"varint,1,opt,name=node_id,json=nodeId,proto3,casttype=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"node_id,omitempty"`
   168  	Address  string                                              `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
   169  	AgeNanos int64                                               `protobuf:"varint,3,opt,name=age_nanos,json=ageNanos,proto3" json:"age_nanos,omitempty"`
   170  }
   171  
   172  func (m *ConnStatus) Reset()      { *m = ConnStatus{} }
   173  func (*ConnStatus) ProtoMessage() {}
   174  func (*ConnStatus) Descriptor() ([]byte, []int) {
   175  	return fileDescriptor_gossip_af8c9a20540e5252, []int{3}
   176  }
   177  func (m *ConnStatus) XXX_Unmarshal(b []byte) error {
   178  	return m.Unmarshal(b)
   179  }
   180  func (m *ConnStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   181  	b = b[:cap(b)]
   182  	n, err := m.MarshalTo(b)
   183  	if err != nil {
   184  		return nil, err
   185  	}
   186  	return b[:n], nil
   187  }
   188  func (dst *ConnStatus) XXX_Merge(src proto.Message) {
   189  	xxx_messageInfo_ConnStatus.Merge(dst, src)
   190  }
   191  func (m *ConnStatus) XXX_Size() int {
   192  	return m.Size()
   193  }
   194  func (m *ConnStatus) XXX_DiscardUnknown() {
   195  	xxx_messageInfo_ConnStatus.DiscardUnknown(m)
   196  }
   197  
   198  var xxx_messageInfo_ConnStatus proto.InternalMessageInfo
   199  
   200  type MetricSnap struct {
   201  	BytesReceived int64 `protobuf:"varint,2,opt,name=bytes_received,json=bytesReceived,proto3" json:"bytes_received,omitempty"`
   202  	BytesSent     int64 `protobuf:"varint,3,opt,name=bytes_sent,json=bytesSent,proto3" json:"bytes_sent,omitempty"`
   203  	InfosReceived int64 `protobuf:"varint,4,opt,name=infos_received,json=infosReceived,proto3" json:"infos_received,omitempty"`
   204  	InfosSent     int64 `protobuf:"varint,5,opt,name=infos_sent,json=infosSent,proto3" json:"infos_sent,omitempty"`
   205  	ConnsRefused  int64 `protobuf:"varint,6,opt,name=conns_refused,json=connsRefused,proto3" json:"conns_refused,omitempty"`
   206  }
   207  
   208  func (m *MetricSnap) Reset()      { *m = MetricSnap{} }
   209  func (*MetricSnap) ProtoMessage() {}
   210  func (*MetricSnap) Descriptor() ([]byte, []int) {
   211  	return fileDescriptor_gossip_af8c9a20540e5252, []int{4}
   212  }
   213  func (m *MetricSnap) XXX_Unmarshal(b []byte) error {
   214  	return m.Unmarshal(b)
   215  }
   216  func (m *MetricSnap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   217  	b = b[:cap(b)]
   218  	n, err := m.MarshalTo(b)
   219  	if err != nil {
   220  		return nil, err
   221  	}
   222  	return b[:n], nil
   223  }
   224  func (dst *MetricSnap) XXX_Merge(src proto.Message) {
   225  	xxx_messageInfo_MetricSnap.Merge(dst, src)
   226  }
   227  func (m *MetricSnap) XXX_Size() int {
   228  	return m.Size()
   229  }
   230  func (m *MetricSnap) XXX_DiscardUnknown() {
   231  	xxx_messageInfo_MetricSnap.DiscardUnknown(m)
   232  }
   233  
   234  var xxx_messageInfo_MetricSnap proto.InternalMessageInfo
   235  
   236  type OutgoingConnStatus struct {
   237  	ConnStatus `protobuf:"bytes,1,opt,name=conn_status,json=connStatus,proto3,embedded=conn_status" json:"conn_status"`
   238  	MetricSnap `protobuf:"bytes,2,opt,name=metrics,proto3,embedded=metrics" json:"metrics"`
   239  }
   240  
   241  func (m *OutgoingConnStatus) Reset()      { *m = OutgoingConnStatus{} }
   242  func (*OutgoingConnStatus) ProtoMessage() {}
   243  func (*OutgoingConnStatus) Descriptor() ([]byte, []int) {
   244  	return fileDescriptor_gossip_af8c9a20540e5252, []int{5}
   245  }
   246  func (m *OutgoingConnStatus) XXX_Unmarshal(b []byte) error {
   247  	return m.Unmarshal(b)
   248  }
   249  func (m *OutgoingConnStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   250  	b = b[:cap(b)]
   251  	n, err := m.MarshalTo(b)
   252  	if err != nil {
   253  		return nil, err
   254  	}
   255  	return b[:n], nil
   256  }
   257  func (dst *OutgoingConnStatus) XXX_Merge(src proto.Message) {
   258  	xxx_messageInfo_OutgoingConnStatus.Merge(dst, src)
   259  }
   260  func (m *OutgoingConnStatus) XXX_Size() int {
   261  	return m.Size()
   262  }
   263  func (m *OutgoingConnStatus) XXX_DiscardUnknown() {
   264  	xxx_messageInfo_OutgoingConnStatus.DiscardUnknown(m)
   265  }
   266  
   267  var xxx_messageInfo_OutgoingConnStatus proto.InternalMessageInfo
   268  
   269  type ClientStatus struct {
   270  	ConnStatus []OutgoingConnStatus `protobuf:"bytes,1,rep,name=conn_status,json=connStatus,proto3" json:"conn_status"`
   271  	MaxConns   int32                `protobuf:"varint,2,opt,name=max_conns,json=maxConns,proto3" json:"max_conns,omitempty"`
   272  }
   273  
   274  func (m *ClientStatus) Reset()      { *m = ClientStatus{} }
   275  func (*ClientStatus) ProtoMessage() {}
   276  func (*ClientStatus) Descriptor() ([]byte, []int) {
   277  	return fileDescriptor_gossip_af8c9a20540e5252, []int{6}
   278  }
   279  func (m *ClientStatus) XXX_Unmarshal(b []byte) error {
   280  	return m.Unmarshal(b)
   281  }
   282  func (m *ClientStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   283  	b = b[:cap(b)]
   284  	n, err := m.MarshalTo(b)
   285  	if err != nil {
   286  		return nil, err
   287  	}
   288  	return b[:n], nil
   289  }
   290  func (dst *ClientStatus) XXX_Merge(src proto.Message) {
   291  	xxx_messageInfo_ClientStatus.Merge(dst, src)
   292  }
   293  func (m *ClientStatus) XXX_Size() int {
   294  	return m.Size()
   295  }
   296  func (m *ClientStatus) XXX_DiscardUnknown() {
   297  	xxx_messageInfo_ClientStatus.DiscardUnknown(m)
   298  }
   299  
   300  var xxx_messageInfo_ClientStatus proto.InternalMessageInfo
   301  
   302  type ServerStatus struct {
   303  	ConnStatus []ConnStatus `protobuf:"bytes,1,rep,name=conn_status,json=connStatus,proto3" json:"conn_status"`
   304  	MaxConns   int32        `protobuf:"varint,2,opt,name=max_conns,json=maxConns,proto3" json:"max_conns,omitempty"`
   305  	MetricSnap `protobuf:"bytes,3,opt,name=metrics,proto3,embedded=metrics" json:"metrics"`
   306  }
   307  
   308  func (m *ServerStatus) Reset()      { *m = ServerStatus{} }
   309  func (*ServerStatus) ProtoMessage() {}
   310  func (*ServerStatus) Descriptor() ([]byte, []int) {
   311  	return fileDescriptor_gossip_af8c9a20540e5252, []int{7}
   312  }
   313  func (m *ServerStatus) XXX_Unmarshal(b []byte) error {
   314  	return m.Unmarshal(b)
   315  }
   316  func (m *ServerStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   317  	b = b[:cap(b)]
   318  	n, err := m.MarshalTo(b)
   319  	if err != nil {
   320  		return nil, err
   321  	}
   322  	return b[:n], nil
   323  }
   324  func (dst *ServerStatus) XXX_Merge(src proto.Message) {
   325  	xxx_messageInfo_ServerStatus.Merge(dst, src)
   326  }
   327  func (m *ServerStatus) XXX_Size() int {
   328  	return m.Size()
   329  }
   330  func (m *ServerStatus) XXX_DiscardUnknown() {
   331  	xxx_messageInfo_ServerStatus.DiscardUnknown(m)
   332  }
   333  
   334  var xxx_messageInfo_ServerStatus proto.InternalMessageInfo
   335  
   336  type Connectivity struct {
   337  	SentinelNodeID github_com_cockroachdb_cockroach_pkg_roachpb.NodeID `protobuf:"varint,1,opt,name=sentinel_node_id,json=sentinelNodeId,proto3,casttype=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"sentinel_node_id,omitempty"`
   338  	ClientConns    []Connectivity_Conn                                 `protobuf:"bytes,2,rep,name=client_conns,json=clientConns,proto3" json:"client_conns"`
   339  }
   340  
   341  func (m *Connectivity) Reset()      { *m = Connectivity{} }
   342  func (*Connectivity) ProtoMessage() {}
   343  func (*Connectivity) Descriptor() ([]byte, []int) {
   344  	return fileDescriptor_gossip_af8c9a20540e5252, []int{8}
   345  }
   346  func (m *Connectivity) XXX_Unmarshal(b []byte) error {
   347  	return m.Unmarshal(b)
   348  }
   349  func (m *Connectivity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   350  	b = b[:cap(b)]
   351  	n, err := m.MarshalTo(b)
   352  	if err != nil {
   353  		return nil, err
   354  	}
   355  	return b[:n], nil
   356  }
   357  func (dst *Connectivity) XXX_Merge(src proto.Message) {
   358  	xxx_messageInfo_Connectivity.Merge(dst, src)
   359  }
   360  func (m *Connectivity) XXX_Size() int {
   361  	return m.Size()
   362  }
   363  func (m *Connectivity) XXX_DiscardUnknown() {
   364  	xxx_messageInfo_Connectivity.DiscardUnknown(m)
   365  }
   366  
   367  var xxx_messageInfo_Connectivity proto.InternalMessageInfo
   368  
   369  type Connectivity_Conn struct {
   370  	SourceID github_com_cockroachdb_cockroach_pkg_roachpb.NodeID `protobuf:"varint,1,opt,name=source_id,json=sourceId,proto3,casttype=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"source_id,omitempty"`
   371  	TargetID github_com_cockroachdb_cockroach_pkg_roachpb.NodeID `protobuf:"varint,2,opt,name=target_id,json=targetId,proto3,casttype=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"target_id,omitempty"`
   372  }
   373  
   374  func (m *Connectivity_Conn) Reset()         { *m = Connectivity_Conn{} }
   375  func (m *Connectivity_Conn) String() string { return proto.CompactTextString(m) }
   376  func (*Connectivity_Conn) ProtoMessage()    {}
   377  func (*Connectivity_Conn) Descriptor() ([]byte, []int) {
   378  	return fileDescriptor_gossip_af8c9a20540e5252, []int{8, 0}
   379  }
   380  func (m *Connectivity_Conn) XXX_Unmarshal(b []byte) error {
   381  	return m.Unmarshal(b)
   382  }
   383  func (m *Connectivity_Conn) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   384  	b = b[:cap(b)]
   385  	n, err := m.MarshalTo(b)
   386  	if err != nil {
   387  		return nil, err
   388  	}
   389  	return b[:n], nil
   390  }
   391  func (dst *Connectivity_Conn) XXX_Merge(src proto.Message) {
   392  	xxx_messageInfo_Connectivity_Conn.Merge(dst, src)
   393  }
   394  func (m *Connectivity_Conn) XXX_Size() int {
   395  	return m.Size()
   396  }
   397  func (m *Connectivity_Conn) XXX_DiscardUnknown() {
   398  	xxx_messageInfo_Connectivity_Conn.DiscardUnknown(m)
   399  }
   400  
   401  var xxx_messageInfo_Connectivity_Conn proto.InternalMessageInfo
   402  
   403  // InfoStatus contains information about the current status of the infoStore.
   404  type InfoStatus struct {
   405  	Infos        map[string]Info `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   406  	Client       ClientStatus    `protobuf:"bytes,2,opt,name=client,proto3" json:"client"`
   407  	Server       ServerStatus    `protobuf:"bytes,3,opt,name=server,proto3" json:"server"`
   408  	Connectivity Connectivity    `protobuf:"bytes,4,opt,name=connectivity,proto3" json:"connectivity"`
   409  }
   410  
   411  func (m *InfoStatus) Reset()         { *m = InfoStatus{} }
   412  func (m *InfoStatus) String() string { return proto.CompactTextString(m) }
   413  func (*InfoStatus) ProtoMessage()    {}
   414  func (*InfoStatus) Descriptor() ([]byte, []int) {
   415  	return fileDescriptor_gossip_af8c9a20540e5252, []int{9}
   416  }
   417  func (m *InfoStatus) XXX_Unmarshal(b []byte) error {
   418  	return m.Unmarshal(b)
   419  }
   420  func (m *InfoStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   421  	b = b[:cap(b)]
   422  	n, err := m.MarshalTo(b)
   423  	if err != nil {
   424  		return nil, err
   425  	}
   426  	return b[:n], nil
   427  }
   428  func (dst *InfoStatus) XXX_Merge(src proto.Message) {
   429  	xxx_messageInfo_InfoStatus.Merge(dst, src)
   430  }
   431  func (m *InfoStatus) XXX_Size() int {
   432  	return m.Size()
   433  }
   434  func (m *InfoStatus) XXX_DiscardUnknown() {
   435  	xxx_messageInfo_InfoStatus.DiscardUnknown(m)
   436  }
   437  
   438  var xxx_messageInfo_InfoStatus proto.InternalMessageInfo
   439  
   440  // Info is the basic unit of information traded over the
   441  // gossip network.
   442  type Info struct {
   443  	Value roachpb.Value `protobuf:"bytes,1,opt,name=value,proto3" json:"value"`
   444  	// Wall time of info when generated by originating node (Unix-nanos).
   445  	OrigStamp int64 `protobuf:"varint,2,opt,name=orig_stamp,json=origStamp,proto3" json:"orig_stamp,omitempty"`
   446  	// Wall time when info is to be discarded (Unix-nanos).
   447  	TTLStamp int64 `protobuf:"varint,3,opt,name=ttl_stamp,json=ttlStamp,proto3" json:"ttl_stamp,omitempty"`
   448  	// Number of hops from originator.
   449  	Hops uint32 `protobuf:"varint,4,opt,name=hops,proto3" json:"hops,omitempty"`
   450  	// Originating node's ID.
   451  	NodeID github_com_cockroachdb_cockroach_pkg_roachpb.NodeID `protobuf:"varint,5,opt,name=node_id,json=nodeId,proto3,casttype=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"node_id,omitempty"`
   452  	// Peer node ID which passed this info.
   453  	PeerID github_com_cockroachdb_cockroach_pkg_roachpb.NodeID `protobuf:"varint,6,opt,name=peer_id,json=peerId,proto3,casttype=github.com/cockroachdb/cockroach/pkg/roachpb.NodeID" json:"peer_id,omitempty"`
   454  }
   455  
   456  func (m *Info) Reset()         { *m = Info{} }
   457  func (m *Info) String() string { return proto.CompactTextString(m) }
   458  func (*Info) ProtoMessage()    {}
   459  func (*Info) Descriptor() ([]byte, []int) {
   460  	return fileDescriptor_gossip_af8c9a20540e5252, []int{10}
   461  }
   462  func (m *Info) XXX_Unmarshal(b []byte) error {
   463  	return m.Unmarshal(b)
   464  }
   465  func (m *Info) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   466  	b = b[:cap(b)]
   467  	n, err := m.MarshalTo(b)
   468  	if err != nil {
   469  		return nil, err
   470  	}
   471  	return b[:n], nil
   472  }
   473  func (dst *Info) XXX_Merge(src proto.Message) {
   474  	xxx_messageInfo_Info.Merge(dst, src)
   475  }
   476  func (m *Info) XXX_Size() int {
   477  	return m.Size()
   478  }
   479  func (m *Info) XXX_DiscardUnknown() {
   480  	xxx_messageInfo_Info.DiscardUnknown(m)
   481  }
   482  
   483  var xxx_messageInfo_Info proto.InternalMessageInfo
   484  
   485  func init() {
   486  	proto.RegisterType((*BootstrapInfo)(nil), "cockroach.gossip.BootstrapInfo")
   487  	proto.RegisterType((*Request)(nil), "cockroach.gossip.Request")
   488  	proto.RegisterMapType((map[string]*Info)(nil), "cockroach.gossip.Request.DeltaEntry")
   489  	proto.RegisterMapType((map[github_com_cockroachdb_cockroach_pkg_roachpb.NodeID]int64)(nil), "cockroach.gossip.Request.HighWaterStampsEntry")
   490  	proto.RegisterType((*Response)(nil), "cockroach.gossip.Response")
   491  	proto.RegisterMapType((map[string]*Info)(nil), "cockroach.gossip.Response.DeltaEntry")
   492  	proto.RegisterMapType((map[github_com_cockroachdb_cockroach_pkg_roachpb.NodeID]int64)(nil), "cockroach.gossip.Response.HighWaterStampsEntry")
   493  	proto.RegisterType((*ConnStatus)(nil), "cockroach.gossip.ConnStatus")
   494  	proto.RegisterType((*MetricSnap)(nil), "cockroach.gossip.MetricSnap")
   495  	proto.RegisterType((*OutgoingConnStatus)(nil), "cockroach.gossip.OutgoingConnStatus")
   496  	proto.RegisterType((*ClientStatus)(nil), "cockroach.gossip.ClientStatus")
   497  	proto.RegisterType((*ServerStatus)(nil), "cockroach.gossip.ServerStatus")
   498  	proto.RegisterType((*Connectivity)(nil), "cockroach.gossip.Connectivity")
   499  	proto.RegisterType((*Connectivity_Conn)(nil), "cockroach.gossip.Connectivity.Conn")
   500  	proto.RegisterType((*InfoStatus)(nil), "cockroach.gossip.InfoStatus")
   501  	proto.RegisterMapType((map[string]Info)(nil), "cockroach.gossip.InfoStatus.InfosEntry")
   502  	proto.RegisterType((*Info)(nil), "cockroach.gossip.Info")
   503  }
   504  
   505  // Reference imports to suppress errors if they are not otherwise used.
   506  var _ context.Context
   507  var _ grpc.ClientConn
   508  
   509  // This is a compile-time assertion to ensure that this generated file
   510  // is compatible with the grpc package it is being compiled against.
   511  const _ = grpc.SupportPackageIsVersion4
   512  
   513  // GossipClient is the client API for Gossip service.
   514  //
   515  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   516  type GossipClient interface {
   517  	Gossip(ctx context.Context, opts ...grpc.CallOption) (Gossip_GossipClient, error)
   518  }
   519  
   520  type gossipClient struct {
   521  	cc *grpc.ClientConn
   522  }
   523  
   524  func NewGossipClient(cc *grpc.ClientConn) GossipClient {
   525  	return &gossipClient{cc}
   526  }
   527  
   528  func (c *gossipClient) Gossip(ctx context.Context, opts ...grpc.CallOption) (Gossip_GossipClient, error) {
   529  	stream, err := c.cc.NewStream(ctx, &_Gossip_serviceDesc.Streams[0], "/cockroach.gossip.Gossip/Gossip", opts...)
   530  	if err != nil {
   531  		return nil, err
   532  	}
   533  	x := &gossipGossipClient{stream}
   534  	return x, nil
   535  }
   536  
   537  type Gossip_GossipClient interface {
   538  	Send(*Request) error
   539  	Recv() (*Response, error)
   540  	grpc.ClientStream
   541  }
   542  
   543  type gossipGossipClient struct {
   544  	grpc.ClientStream
   545  }
   546  
   547  func (x *gossipGossipClient) Send(m *Request) error {
   548  	return x.ClientStream.SendMsg(m)
   549  }
   550  
   551  func (x *gossipGossipClient) Recv() (*Response, error) {
   552  	m := new(Response)
   553  	if err := x.ClientStream.RecvMsg(m); err != nil {
   554  		return nil, err
   555  	}
   556  	return m, nil
   557  }
   558  
   559  // GossipServer is the server API for Gossip service.
   560  type GossipServer interface {
   561  	Gossip(Gossip_GossipServer) error
   562  }
   563  
   564  func RegisterGossipServer(s *grpc.Server, srv GossipServer) {
   565  	s.RegisterService(&_Gossip_serviceDesc, srv)
   566  }
   567  
   568  func _Gossip_Gossip_Handler(srv interface{}, stream grpc.ServerStream) error {
   569  	return srv.(GossipServer).Gossip(&gossipGossipServer{stream})
   570  }
   571  
   572  type Gossip_GossipServer interface {
   573  	Send(*Response) error
   574  	Recv() (*Request, error)
   575  	grpc.ServerStream
   576  }
   577  
   578  type gossipGossipServer struct {
   579  	grpc.ServerStream
   580  }
   581  
   582  func (x *gossipGossipServer) Send(m *Response) error {
   583  	return x.ServerStream.SendMsg(m)
   584  }
   585  
   586  func (x *gossipGossipServer) Recv() (*Request, error) {
   587  	m := new(Request)
   588  	if err := x.ServerStream.RecvMsg(m); err != nil {
   589  		return nil, err
   590  	}
   591  	return m, nil
   592  }
   593  
   594  var _Gossip_serviceDesc = grpc.ServiceDesc{
   595  	ServiceName: "cockroach.gossip.Gossip",
   596  	HandlerType: (*GossipServer)(nil),
   597  	Methods:     []grpc.MethodDesc{},
   598  	Streams: []grpc.StreamDesc{
   599  		{
   600  			StreamName:    "Gossip",
   601  			Handler:       _Gossip_Gossip_Handler,
   602  			ServerStreams: true,
   603  			ClientStreams: true,
   604  		},
   605  	},
   606  	Metadata: "gossip/gossip.proto",
   607  }
   608  
   609  func (m *BootstrapInfo) Marshal() (dAtA []byte, err error) {
   610  	size := m.Size()
   611  	dAtA = make([]byte, size)
   612  	n, err := m.MarshalTo(dAtA)
   613  	if err != nil {
   614  		return nil, err
   615  	}
   616  	return dAtA[:n], nil
   617  }
   618  
   619  func (m *BootstrapInfo) MarshalTo(dAtA []byte) (int, error) {
   620  	var i int
   621  	_ = i
   622  	var l int
   623  	_ = l
   624  	if len(m.Addresses) > 0 {
   625  		for _, msg := range m.Addresses {
   626  			dAtA[i] = 0xa
   627  			i++
   628  			i = encodeVarintGossip(dAtA, i, uint64(msg.Size()))
   629  			n, err := msg.MarshalTo(dAtA[i:])
   630  			if err != nil {
   631  				return 0, err
   632  			}
   633  			i += n
   634  		}
   635  	}
   636  	dAtA[i] = 0x12
   637  	i++
   638  	i = encodeVarintGossip(dAtA, i, uint64(m.Timestamp.Size()))
   639  	n1, err := m.Timestamp.MarshalTo(dAtA[i:])
   640  	if err != nil {
   641  		return 0, err
   642  	}
   643  	i += n1
   644  	return i, nil
   645  }
   646  
   647  func (m *Request) Marshal() (dAtA []byte, err error) {
   648  	size := m.Size()
   649  	dAtA = make([]byte, size)
   650  	n, err := m.MarshalTo(dAtA)
   651  	if err != nil {
   652  		return nil, err
   653  	}
   654  	return dAtA[:n], nil
   655  }
   656  
   657  func (m *Request) MarshalTo(dAtA []byte) (int, error) {
   658  	var i int
   659  	_ = i
   660  	var l int
   661  	_ = l
   662  	if m.NodeID != 0 {
   663  		dAtA[i] = 0x8
   664  		i++
   665  		i = encodeVarintGossip(dAtA, i, uint64(m.NodeID))
   666  	}
   667  	dAtA[i] = 0x12
   668  	i++
   669  	i = encodeVarintGossip(dAtA, i, uint64(m.Addr.Size()))
   670  	n2, err := m.Addr.MarshalTo(dAtA[i:])
   671  	if err != nil {
   672  		return 0, err
   673  	}
   674  	i += n2
   675  	if len(m.HighWaterStamps) > 0 {
   676  		keysForHighWaterStamps := make([]int32, 0, len(m.HighWaterStamps))
   677  		for k := range m.HighWaterStamps {
   678  			keysForHighWaterStamps = append(keysForHighWaterStamps, int32(k))
   679  		}
   680  		github_com_gogo_protobuf_sortkeys.Int32s(keysForHighWaterStamps)
   681  		for _, k := range keysForHighWaterStamps {
   682  			dAtA[i] = 0x1a
   683  			i++
   684  			v := m.HighWaterStamps[github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(k)]
   685  			mapSize := 1 + sovGossip(uint64(k)) + 1 + sovGossip(uint64(v))
   686  			i = encodeVarintGossip(dAtA, i, uint64(mapSize))
   687  			dAtA[i] = 0x8
   688  			i++
   689  			i = encodeVarintGossip(dAtA, i, uint64(k))
   690  			dAtA[i] = 0x10
   691  			i++
   692  			i = encodeVarintGossip(dAtA, i, uint64(v))
   693  		}
   694  	}
   695  	if len(m.Delta) > 0 {
   696  		keysForDelta := make([]string, 0, len(m.Delta))
   697  		for k := range m.Delta {
   698  			keysForDelta = append(keysForDelta, string(k))
   699  		}
   700  		github_com_gogo_protobuf_sortkeys.Strings(keysForDelta)
   701  		for _, k := range keysForDelta {
   702  			dAtA[i] = 0x22
   703  			i++
   704  			v := m.Delta[string(k)]
   705  			msgSize := 0
   706  			if v != nil {
   707  				msgSize = v.Size()
   708  				msgSize += 1 + sovGossip(uint64(msgSize))
   709  			}
   710  			mapSize := 1 + len(k) + sovGossip(uint64(len(k))) + msgSize
   711  			i = encodeVarintGossip(dAtA, i, uint64(mapSize))
   712  			dAtA[i] = 0xa
   713  			i++
   714  			i = encodeVarintGossip(dAtA, i, uint64(len(k)))
   715  			i += copy(dAtA[i:], k)
   716  			if v != nil {
   717  				dAtA[i] = 0x12
   718  				i++
   719  				i = encodeVarintGossip(dAtA, i, uint64(v.Size()))
   720  				n3, err := v.MarshalTo(dAtA[i:])
   721  				if err != nil {
   722  					return 0, err
   723  				}
   724  				i += n3
   725  			}
   726  		}
   727  	}
   728  	dAtA[i] = 0x2a
   729  	i++
   730  	i = encodeVarintGossip(dAtA, i, uint64(m.ClusterID.Size()))
   731  	n4, err := m.ClusterID.MarshalTo(dAtA[i:])
   732  	if err != nil {
   733  		return 0, err
   734  	}
   735  	i += n4
   736  	return i, nil
   737  }
   738  
   739  func (m *Response) Marshal() (dAtA []byte, err error) {
   740  	size := m.Size()
   741  	dAtA = make([]byte, size)
   742  	n, err := m.MarshalTo(dAtA)
   743  	if err != nil {
   744  		return nil, err
   745  	}
   746  	return dAtA[:n], nil
   747  }
   748  
   749  func (m *Response) MarshalTo(dAtA []byte) (int, error) {
   750  	var i int
   751  	_ = i
   752  	var l int
   753  	_ = l
   754  	if m.NodeID != 0 {
   755  		dAtA[i] = 0x8
   756  		i++
   757  		i = encodeVarintGossip(dAtA, i, uint64(m.NodeID))
   758  	}
   759  	dAtA[i] = 0x12
   760  	i++
   761  	i = encodeVarintGossip(dAtA, i, uint64(m.Addr.Size()))
   762  	n5, err := m.Addr.MarshalTo(dAtA[i:])
   763  	if err != nil {
   764  		return 0, err
   765  	}
   766  	i += n5
   767  	if m.AlternateAddr != nil {
   768  		dAtA[i] = 0x1a
   769  		i++
   770  		i = encodeVarintGossip(dAtA, i, uint64(m.AlternateAddr.Size()))
   771  		n6, err := m.AlternateAddr.MarshalTo(dAtA[i:])
   772  		if err != nil {
   773  			return 0, err
   774  		}
   775  		i += n6
   776  	}
   777  	if m.AlternateNodeID != 0 {
   778  		dAtA[i] = 0x20
   779  		i++
   780  		i = encodeVarintGossip(dAtA, i, uint64(m.AlternateNodeID))
   781  	}
   782  	if len(m.Delta) > 0 {
   783  		keysForDelta := make([]string, 0, len(m.Delta))
   784  		for k := range m.Delta {
   785  			keysForDelta = append(keysForDelta, string(k))
   786  		}
   787  		github_com_gogo_protobuf_sortkeys.Strings(keysForDelta)
   788  		for _, k := range keysForDelta {
   789  			dAtA[i] = 0x2a
   790  			i++
   791  			v := m.Delta[string(k)]
   792  			msgSize := 0
   793  			if v != nil {
   794  				msgSize = v.Size()
   795  				msgSize += 1 + sovGossip(uint64(msgSize))
   796  			}
   797  			mapSize := 1 + len(k) + sovGossip(uint64(len(k))) + msgSize
   798  			i = encodeVarintGossip(dAtA, i, uint64(mapSize))
   799  			dAtA[i] = 0xa
   800  			i++
   801  			i = encodeVarintGossip(dAtA, i, uint64(len(k)))
   802  			i += copy(dAtA[i:], k)
   803  			if v != nil {
   804  				dAtA[i] = 0x12
   805  				i++
   806  				i = encodeVarintGossip(dAtA, i, uint64(v.Size()))
   807  				n7, err := v.MarshalTo(dAtA[i:])
   808  				if err != nil {
   809  					return 0, err
   810  				}
   811  				i += n7
   812  			}
   813  		}
   814  	}
   815  	if len(m.HighWaterStamps) > 0 {
   816  		keysForHighWaterStamps := make([]int32, 0, len(m.HighWaterStamps))
   817  		for k := range m.HighWaterStamps {
   818  			keysForHighWaterStamps = append(keysForHighWaterStamps, int32(k))
   819  		}
   820  		github_com_gogo_protobuf_sortkeys.Int32s(keysForHighWaterStamps)
   821  		for _, k := range keysForHighWaterStamps {
   822  			dAtA[i] = 0x32
   823  			i++
   824  			v := m.HighWaterStamps[github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(k)]
   825  			mapSize := 1 + sovGossip(uint64(k)) + 1 + sovGossip(uint64(v))
   826  			i = encodeVarintGossip(dAtA, i, uint64(mapSize))
   827  			dAtA[i] = 0x8
   828  			i++
   829  			i = encodeVarintGossip(dAtA, i, uint64(k))
   830  			dAtA[i] = 0x10
   831  			i++
   832  			i = encodeVarintGossip(dAtA, i, uint64(v))
   833  		}
   834  	}
   835  	return i, nil
   836  }
   837  
   838  func (m *ConnStatus) Marshal() (dAtA []byte, err error) {
   839  	size := m.Size()
   840  	dAtA = make([]byte, size)
   841  	n, err := m.MarshalTo(dAtA)
   842  	if err != nil {
   843  		return nil, err
   844  	}
   845  	return dAtA[:n], nil
   846  }
   847  
   848  func (m *ConnStatus) MarshalTo(dAtA []byte) (int, error) {
   849  	var i int
   850  	_ = i
   851  	var l int
   852  	_ = l
   853  	if m.NodeID != 0 {
   854  		dAtA[i] = 0x8
   855  		i++
   856  		i = encodeVarintGossip(dAtA, i, uint64(m.NodeID))
   857  	}
   858  	if len(m.Address) > 0 {
   859  		dAtA[i] = 0x12
   860  		i++
   861  		i = encodeVarintGossip(dAtA, i, uint64(len(m.Address)))
   862  		i += copy(dAtA[i:], m.Address)
   863  	}
   864  	if m.AgeNanos != 0 {
   865  		dAtA[i] = 0x18
   866  		i++
   867  		i = encodeVarintGossip(dAtA, i, uint64(m.AgeNanos))
   868  	}
   869  	return i, nil
   870  }
   871  
   872  func (m *MetricSnap) Marshal() (dAtA []byte, err error) {
   873  	size := m.Size()
   874  	dAtA = make([]byte, size)
   875  	n, err := m.MarshalTo(dAtA)
   876  	if err != nil {
   877  		return nil, err
   878  	}
   879  	return dAtA[:n], nil
   880  }
   881  
   882  func (m *MetricSnap) MarshalTo(dAtA []byte) (int, error) {
   883  	var i int
   884  	_ = i
   885  	var l int
   886  	_ = l
   887  	if m.BytesReceived != 0 {
   888  		dAtA[i] = 0x10
   889  		i++
   890  		i = encodeVarintGossip(dAtA, i, uint64(m.BytesReceived))
   891  	}
   892  	if m.BytesSent != 0 {
   893  		dAtA[i] = 0x18
   894  		i++
   895  		i = encodeVarintGossip(dAtA, i, uint64(m.BytesSent))
   896  	}
   897  	if m.InfosReceived != 0 {
   898  		dAtA[i] = 0x20
   899  		i++
   900  		i = encodeVarintGossip(dAtA, i, uint64(m.InfosReceived))
   901  	}
   902  	if m.InfosSent != 0 {
   903  		dAtA[i] = 0x28
   904  		i++
   905  		i = encodeVarintGossip(dAtA, i, uint64(m.InfosSent))
   906  	}
   907  	if m.ConnsRefused != 0 {
   908  		dAtA[i] = 0x30
   909  		i++
   910  		i = encodeVarintGossip(dAtA, i, uint64(m.ConnsRefused))
   911  	}
   912  	return i, nil
   913  }
   914  
   915  func (m *OutgoingConnStatus) Marshal() (dAtA []byte, err error) {
   916  	size := m.Size()
   917  	dAtA = make([]byte, size)
   918  	n, err := m.MarshalTo(dAtA)
   919  	if err != nil {
   920  		return nil, err
   921  	}
   922  	return dAtA[:n], nil
   923  }
   924  
   925  func (m *OutgoingConnStatus) MarshalTo(dAtA []byte) (int, error) {
   926  	var i int
   927  	_ = i
   928  	var l int
   929  	_ = l
   930  	dAtA[i] = 0xa
   931  	i++
   932  	i = encodeVarintGossip(dAtA, i, uint64(m.ConnStatus.Size()))
   933  	n8, err := m.ConnStatus.MarshalTo(dAtA[i:])
   934  	if err != nil {
   935  		return 0, err
   936  	}
   937  	i += n8
   938  	dAtA[i] = 0x12
   939  	i++
   940  	i = encodeVarintGossip(dAtA, i, uint64(m.MetricSnap.Size()))
   941  	n9, err := m.MetricSnap.MarshalTo(dAtA[i:])
   942  	if err != nil {
   943  		return 0, err
   944  	}
   945  	i += n9
   946  	return i, nil
   947  }
   948  
   949  func (m *ClientStatus) Marshal() (dAtA []byte, err error) {
   950  	size := m.Size()
   951  	dAtA = make([]byte, size)
   952  	n, err := m.MarshalTo(dAtA)
   953  	if err != nil {
   954  		return nil, err
   955  	}
   956  	return dAtA[:n], nil
   957  }
   958  
   959  func (m *ClientStatus) MarshalTo(dAtA []byte) (int, error) {
   960  	var i int
   961  	_ = i
   962  	var l int
   963  	_ = l
   964  	if len(m.ConnStatus) > 0 {
   965  		for _, msg := range m.ConnStatus {
   966  			dAtA[i] = 0xa
   967  			i++
   968  			i = encodeVarintGossip(dAtA, i, uint64(msg.Size()))
   969  			n, err := msg.MarshalTo(dAtA[i:])
   970  			if err != nil {
   971  				return 0, err
   972  			}
   973  			i += n
   974  		}
   975  	}
   976  	if m.MaxConns != 0 {
   977  		dAtA[i] = 0x10
   978  		i++
   979  		i = encodeVarintGossip(dAtA, i, uint64(m.MaxConns))
   980  	}
   981  	return i, nil
   982  }
   983  
   984  func (m *ServerStatus) Marshal() (dAtA []byte, err error) {
   985  	size := m.Size()
   986  	dAtA = make([]byte, size)
   987  	n, err := m.MarshalTo(dAtA)
   988  	if err != nil {
   989  		return nil, err
   990  	}
   991  	return dAtA[:n], nil
   992  }
   993  
   994  func (m *ServerStatus) MarshalTo(dAtA []byte) (int, error) {
   995  	var i int
   996  	_ = i
   997  	var l int
   998  	_ = l
   999  	if len(m.ConnStatus) > 0 {
  1000  		for _, msg := range m.ConnStatus {
  1001  			dAtA[i] = 0xa
  1002  			i++
  1003  			i = encodeVarintGossip(dAtA, i, uint64(msg.Size()))
  1004  			n, err := msg.MarshalTo(dAtA[i:])
  1005  			if err != nil {
  1006  				return 0, err
  1007  			}
  1008  			i += n
  1009  		}
  1010  	}
  1011  	if m.MaxConns != 0 {
  1012  		dAtA[i] = 0x10
  1013  		i++
  1014  		i = encodeVarintGossip(dAtA, i, uint64(m.MaxConns))
  1015  	}
  1016  	dAtA[i] = 0x1a
  1017  	i++
  1018  	i = encodeVarintGossip(dAtA, i, uint64(m.MetricSnap.Size()))
  1019  	n10, err := m.MetricSnap.MarshalTo(dAtA[i:])
  1020  	if err != nil {
  1021  		return 0, err
  1022  	}
  1023  	i += n10
  1024  	return i, nil
  1025  }
  1026  
  1027  func (m *Connectivity) Marshal() (dAtA []byte, err error) {
  1028  	size := m.Size()
  1029  	dAtA = make([]byte, size)
  1030  	n, err := m.MarshalTo(dAtA)
  1031  	if err != nil {
  1032  		return nil, err
  1033  	}
  1034  	return dAtA[:n], nil
  1035  }
  1036  
  1037  func (m *Connectivity) MarshalTo(dAtA []byte) (int, error) {
  1038  	var i int
  1039  	_ = i
  1040  	var l int
  1041  	_ = l
  1042  	if m.SentinelNodeID != 0 {
  1043  		dAtA[i] = 0x8
  1044  		i++
  1045  		i = encodeVarintGossip(dAtA, i, uint64(m.SentinelNodeID))
  1046  	}
  1047  	if len(m.ClientConns) > 0 {
  1048  		for _, msg := range m.ClientConns {
  1049  			dAtA[i] = 0x12
  1050  			i++
  1051  			i = encodeVarintGossip(dAtA, i, uint64(msg.Size()))
  1052  			n, err := msg.MarshalTo(dAtA[i:])
  1053  			if err != nil {
  1054  				return 0, err
  1055  			}
  1056  			i += n
  1057  		}
  1058  	}
  1059  	return i, nil
  1060  }
  1061  
  1062  func (m *Connectivity_Conn) Marshal() (dAtA []byte, err error) {
  1063  	size := m.Size()
  1064  	dAtA = make([]byte, size)
  1065  	n, err := m.MarshalTo(dAtA)
  1066  	if err != nil {
  1067  		return nil, err
  1068  	}
  1069  	return dAtA[:n], nil
  1070  }
  1071  
  1072  func (m *Connectivity_Conn) MarshalTo(dAtA []byte) (int, error) {
  1073  	var i int
  1074  	_ = i
  1075  	var l int
  1076  	_ = l
  1077  	if m.SourceID != 0 {
  1078  		dAtA[i] = 0x8
  1079  		i++
  1080  		i = encodeVarintGossip(dAtA, i, uint64(m.SourceID))
  1081  	}
  1082  	if m.TargetID != 0 {
  1083  		dAtA[i] = 0x10
  1084  		i++
  1085  		i = encodeVarintGossip(dAtA, i, uint64(m.TargetID))
  1086  	}
  1087  	return i, nil
  1088  }
  1089  
  1090  func (m *InfoStatus) Marshal() (dAtA []byte, err error) {
  1091  	size := m.Size()
  1092  	dAtA = make([]byte, size)
  1093  	n, err := m.MarshalTo(dAtA)
  1094  	if err != nil {
  1095  		return nil, err
  1096  	}
  1097  	return dAtA[:n], nil
  1098  }
  1099  
  1100  func (m *InfoStatus) MarshalTo(dAtA []byte) (int, error) {
  1101  	var i int
  1102  	_ = i
  1103  	var l int
  1104  	_ = l
  1105  	if len(m.Infos) > 0 {
  1106  		keysForInfos := make([]string, 0, len(m.Infos))
  1107  		for k := range m.Infos {
  1108  			keysForInfos = append(keysForInfos, string(k))
  1109  		}
  1110  		github_com_gogo_protobuf_sortkeys.Strings(keysForInfos)
  1111  		for _, k := range keysForInfos {
  1112  			dAtA[i] = 0xa
  1113  			i++
  1114  			v := m.Infos[string(k)]
  1115  			msgSize := 0
  1116  			if (&v) != nil {
  1117  				msgSize = (&v).Size()
  1118  				msgSize += 1 + sovGossip(uint64(msgSize))
  1119  			}
  1120  			mapSize := 1 + len(k) + sovGossip(uint64(len(k))) + msgSize
  1121  			i = encodeVarintGossip(dAtA, i, uint64(mapSize))
  1122  			dAtA[i] = 0xa
  1123  			i++
  1124  			i = encodeVarintGossip(dAtA, i, uint64(len(k)))
  1125  			i += copy(dAtA[i:], k)
  1126  			dAtA[i] = 0x12
  1127  			i++
  1128  			i = encodeVarintGossip(dAtA, i, uint64((&v).Size()))
  1129  			n11, err := (&v).MarshalTo(dAtA[i:])
  1130  			if err != nil {
  1131  				return 0, err
  1132  			}
  1133  			i += n11
  1134  		}
  1135  	}
  1136  	dAtA[i] = 0x12
  1137  	i++
  1138  	i = encodeVarintGossip(dAtA, i, uint64(m.Client.Size()))
  1139  	n12, err := m.Client.MarshalTo(dAtA[i:])
  1140  	if err != nil {
  1141  		return 0, err
  1142  	}
  1143  	i += n12
  1144  	dAtA[i] = 0x1a
  1145  	i++
  1146  	i = encodeVarintGossip(dAtA, i, uint64(m.Server.Size()))
  1147  	n13, err := m.Server.MarshalTo(dAtA[i:])
  1148  	if err != nil {
  1149  		return 0, err
  1150  	}
  1151  	i += n13
  1152  	dAtA[i] = 0x22
  1153  	i++
  1154  	i = encodeVarintGossip(dAtA, i, uint64(m.Connectivity.Size()))
  1155  	n14, err := m.Connectivity.MarshalTo(dAtA[i:])
  1156  	if err != nil {
  1157  		return 0, err
  1158  	}
  1159  	i += n14
  1160  	return i, nil
  1161  }
  1162  
  1163  func (m *Info) Marshal() (dAtA []byte, err error) {
  1164  	size := m.Size()
  1165  	dAtA = make([]byte, size)
  1166  	n, err := m.MarshalTo(dAtA)
  1167  	if err != nil {
  1168  		return nil, err
  1169  	}
  1170  	return dAtA[:n], nil
  1171  }
  1172  
  1173  func (m *Info) MarshalTo(dAtA []byte) (int, error) {
  1174  	var i int
  1175  	_ = i
  1176  	var l int
  1177  	_ = l
  1178  	dAtA[i] = 0xa
  1179  	i++
  1180  	i = encodeVarintGossip(dAtA, i, uint64(m.Value.Size()))
  1181  	n15, err := m.Value.MarshalTo(dAtA[i:])
  1182  	if err != nil {
  1183  		return 0, err
  1184  	}
  1185  	i += n15
  1186  	if m.OrigStamp != 0 {
  1187  		dAtA[i] = 0x10
  1188  		i++
  1189  		i = encodeVarintGossip(dAtA, i, uint64(m.OrigStamp))
  1190  	}
  1191  	if m.TTLStamp != 0 {
  1192  		dAtA[i] = 0x18
  1193  		i++
  1194  		i = encodeVarintGossip(dAtA, i, uint64(m.TTLStamp))
  1195  	}
  1196  	if m.Hops != 0 {
  1197  		dAtA[i] = 0x20
  1198  		i++
  1199  		i = encodeVarintGossip(dAtA, i, uint64(m.Hops))
  1200  	}
  1201  	if m.NodeID != 0 {
  1202  		dAtA[i] = 0x28
  1203  		i++
  1204  		i = encodeVarintGossip(dAtA, i, uint64(m.NodeID))
  1205  	}
  1206  	if m.PeerID != 0 {
  1207  		dAtA[i] = 0x30
  1208  		i++
  1209  		i = encodeVarintGossip(dAtA, i, uint64(m.PeerID))
  1210  	}
  1211  	return i, nil
  1212  }
  1213  
  1214  func encodeVarintGossip(dAtA []byte, offset int, v uint64) int {
  1215  	for v >= 1<<7 {
  1216  		dAtA[offset] = uint8(v&0x7f | 0x80)
  1217  		v >>= 7
  1218  		offset++
  1219  	}
  1220  	dAtA[offset] = uint8(v)
  1221  	return offset + 1
  1222  }
  1223  func (m *BootstrapInfo) Size() (n int) {
  1224  	if m == nil {
  1225  		return 0
  1226  	}
  1227  	var l int
  1228  	_ = l
  1229  	if len(m.Addresses) > 0 {
  1230  		for _, e := range m.Addresses {
  1231  			l = e.Size()
  1232  			n += 1 + l + sovGossip(uint64(l))
  1233  		}
  1234  	}
  1235  	l = m.Timestamp.Size()
  1236  	n += 1 + l + sovGossip(uint64(l))
  1237  	return n
  1238  }
  1239  
  1240  func (m *Request) Size() (n int) {
  1241  	if m == nil {
  1242  		return 0
  1243  	}
  1244  	var l int
  1245  	_ = l
  1246  	if m.NodeID != 0 {
  1247  		n += 1 + sovGossip(uint64(m.NodeID))
  1248  	}
  1249  	l = m.Addr.Size()
  1250  	n += 1 + l + sovGossip(uint64(l))
  1251  	if len(m.HighWaterStamps) > 0 {
  1252  		for k, v := range m.HighWaterStamps {
  1253  			_ = k
  1254  			_ = v
  1255  			mapEntrySize := 1 + sovGossip(uint64(k)) + 1 + sovGossip(uint64(v))
  1256  			n += mapEntrySize + 1 + sovGossip(uint64(mapEntrySize))
  1257  		}
  1258  	}
  1259  	if len(m.Delta) > 0 {
  1260  		for k, v := range m.Delta {
  1261  			_ = k
  1262  			_ = v
  1263  			l = 0
  1264  			if v != nil {
  1265  				l = v.Size()
  1266  				l += 1 + sovGossip(uint64(l))
  1267  			}
  1268  			mapEntrySize := 1 + len(k) + sovGossip(uint64(len(k))) + l
  1269  			n += mapEntrySize + 1 + sovGossip(uint64(mapEntrySize))
  1270  		}
  1271  	}
  1272  	l = m.ClusterID.Size()
  1273  	n += 1 + l + sovGossip(uint64(l))
  1274  	return n
  1275  }
  1276  
  1277  func (m *Response) Size() (n int) {
  1278  	if m == nil {
  1279  		return 0
  1280  	}
  1281  	var l int
  1282  	_ = l
  1283  	if m.NodeID != 0 {
  1284  		n += 1 + sovGossip(uint64(m.NodeID))
  1285  	}
  1286  	l = m.Addr.Size()
  1287  	n += 1 + l + sovGossip(uint64(l))
  1288  	if m.AlternateAddr != nil {
  1289  		l = m.AlternateAddr.Size()
  1290  		n += 1 + l + sovGossip(uint64(l))
  1291  	}
  1292  	if m.AlternateNodeID != 0 {
  1293  		n += 1 + sovGossip(uint64(m.AlternateNodeID))
  1294  	}
  1295  	if len(m.Delta) > 0 {
  1296  		for k, v := range m.Delta {
  1297  			_ = k
  1298  			_ = v
  1299  			l = 0
  1300  			if v != nil {
  1301  				l = v.Size()
  1302  				l += 1 + sovGossip(uint64(l))
  1303  			}
  1304  			mapEntrySize := 1 + len(k) + sovGossip(uint64(len(k))) + l
  1305  			n += mapEntrySize + 1 + sovGossip(uint64(mapEntrySize))
  1306  		}
  1307  	}
  1308  	if len(m.HighWaterStamps) > 0 {
  1309  		for k, v := range m.HighWaterStamps {
  1310  			_ = k
  1311  			_ = v
  1312  			mapEntrySize := 1 + sovGossip(uint64(k)) + 1 + sovGossip(uint64(v))
  1313  			n += mapEntrySize + 1 + sovGossip(uint64(mapEntrySize))
  1314  		}
  1315  	}
  1316  	return n
  1317  }
  1318  
  1319  func (m *ConnStatus) Size() (n int) {
  1320  	if m == nil {
  1321  		return 0
  1322  	}
  1323  	var l int
  1324  	_ = l
  1325  	if m.NodeID != 0 {
  1326  		n += 1 + sovGossip(uint64(m.NodeID))
  1327  	}
  1328  	l = len(m.Address)
  1329  	if l > 0 {
  1330  		n += 1 + l + sovGossip(uint64(l))
  1331  	}
  1332  	if m.AgeNanos != 0 {
  1333  		n += 1 + sovGossip(uint64(m.AgeNanos))
  1334  	}
  1335  	return n
  1336  }
  1337  
  1338  func (m *MetricSnap) Size() (n int) {
  1339  	if m == nil {
  1340  		return 0
  1341  	}
  1342  	var l int
  1343  	_ = l
  1344  	if m.BytesReceived != 0 {
  1345  		n += 1 + sovGossip(uint64(m.BytesReceived))
  1346  	}
  1347  	if m.BytesSent != 0 {
  1348  		n += 1 + sovGossip(uint64(m.BytesSent))
  1349  	}
  1350  	if m.InfosReceived != 0 {
  1351  		n += 1 + sovGossip(uint64(m.InfosReceived))
  1352  	}
  1353  	if m.InfosSent != 0 {
  1354  		n += 1 + sovGossip(uint64(m.InfosSent))
  1355  	}
  1356  	if m.ConnsRefused != 0 {
  1357  		n += 1 + sovGossip(uint64(m.ConnsRefused))
  1358  	}
  1359  	return n
  1360  }
  1361  
  1362  func (m *OutgoingConnStatus) Size() (n int) {
  1363  	if m == nil {
  1364  		return 0
  1365  	}
  1366  	var l int
  1367  	_ = l
  1368  	l = m.ConnStatus.Size()
  1369  	n += 1 + l + sovGossip(uint64(l))
  1370  	l = m.MetricSnap.Size()
  1371  	n += 1 + l + sovGossip(uint64(l))
  1372  	return n
  1373  }
  1374  
  1375  func (m *ClientStatus) Size() (n int) {
  1376  	if m == nil {
  1377  		return 0
  1378  	}
  1379  	var l int
  1380  	_ = l
  1381  	if len(m.ConnStatus) > 0 {
  1382  		for _, e := range m.ConnStatus {
  1383  			l = e.Size()
  1384  			n += 1 + l + sovGossip(uint64(l))
  1385  		}
  1386  	}
  1387  	if m.MaxConns != 0 {
  1388  		n += 1 + sovGossip(uint64(m.MaxConns))
  1389  	}
  1390  	return n
  1391  }
  1392  
  1393  func (m *ServerStatus) Size() (n int) {
  1394  	if m == nil {
  1395  		return 0
  1396  	}
  1397  	var l int
  1398  	_ = l
  1399  	if len(m.ConnStatus) > 0 {
  1400  		for _, e := range m.ConnStatus {
  1401  			l = e.Size()
  1402  			n += 1 + l + sovGossip(uint64(l))
  1403  		}
  1404  	}
  1405  	if m.MaxConns != 0 {
  1406  		n += 1 + sovGossip(uint64(m.MaxConns))
  1407  	}
  1408  	l = m.MetricSnap.Size()
  1409  	n += 1 + l + sovGossip(uint64(l))
  1410  	return n
  1411  }
  1412  
  1413  func (m *Connectivity) Size() (n int) {
  1414  	if m == nil {
  1415  		return 0
  1416  	}
  1417  	var l int
  1418  	_ = l
  1419  	if m.SentinelNodeID != 0 {
  1420  		n += 1 + sovGossip(uint64(m.SentinelNodeID))
  1421  	}
  1422  	if len(m.ClientConns) > 0 {
  1423  		for _, e := range m.ClientConns {
  1424  			l = e.Size()
  1425  			n += 1 + l + sovGossip(uint64(l))
  1426  		}
  1427  	}
  1428  	return n
  1429  }
  1430  
  1431  func (m *Connectivity_Conn) Size() (n int) {
  1432  	if m == nil {
  1433  		return 0
  1434  	}
  1435  	var l int
  1436  	_ = l
  1437  	if m.SourceID != 0 {
  1438  		n += 1 + sovGossip(uint64(m.SourceID))
  1439  	}
  1440  	if m.TargetID != 0 {
  1441  		n += 1 + sovGossip(uint64(m.TargetID))
  1442  	}
  1443  	return n
  1444  }
  1445  
  1446  func (m *InfoStatus) Size() (n int) {
  1447  	if m == nil {
  1448  		return 0
  1449  	}
  1450  	var l int
  1451  	_ = l
  1452  	if len(m.Infos) > 0 {
  1453  		for k, v := range m.Infos {
  1454  			_ = k
  1455  			_ = v
  1456  			l = v.Size()
  1457  			mapEntrySize := 1 + len(k) + sovGossip(uint64(len(k))) + 1 + l + sovGossip(uint64(l))
  1458  			n += mapEntrySize + 1 + sovGossip(uint64(mapEntrySize))
  1459  		}
  1460  	}
  1461  	l = m.Client.Size()
  1462  	n += 1 + l + sovGossip(uint64(l))
  1463  	l = m.Server.Size()
  1464  	n += 1 + l + sovGossip(uint64(l))
  1465  	l = m.Connectivity.Size()
  1466  	n += 1 + l + sovGossip(uint64(l))
  1467  	return n
  1468  }
  1469  
  1470  func (m *Info) Size() (n int) {
  1471  	if m == nil {
  1472  		return 0
  1473  	}
  1474  	var l int
  1475  	_ = l
  1476  	l = m.Value.Size()
  1477  	n += 1 + l + sovGossip(uint64(l))
  1478  	if m.OrigStamp != 0 {
  1479  		n += 1 + sovGossip(uint64(m.OrigStamp))
  1480  	}
  1481  	if m.TTLStamp != 0 {
  1482  		n += 1 + sovGossip(uint64(m.TTLStamp))
  1483  	}
  1484  	if m.Hops != 0 {
  1485  		n += 1 + sovGossip(uint64(m.Hops))
  1486  	}
  1487  	if m.NodeID != 0 {
  1488  		n += 1 + sovGossip(uint64(m.NodeID))
  1489  	}
  1490  	if m.PeerID != 0 {
  1491  		n += 1 + sovGossip(uint64(m.PeerID))
  1492  	}
  1493  	return n
  1494  }
  1495  
  1496  func sovGossip(x uint64) (n int) {
  1497  	for {
  1498  		n++
  1499  		x >>= 7
  1500  		if x == 0 {
  1501  			break
  1502  		}
  1503  	}
  1504  	return n
  1505  }
  1506  func sozGossip(x uint64) (n int) {
  1507  	return sovGossip(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1508  }
  1509  func (m *BootstrapInfo) Unmarshal(dAtA []byte) error {
  1510  	l := len(dAtA)
  1511  	iNdEx := 0
  1512  	for iNdEx < l {
  1513  		preIndex := iNdEx
  1514  		var wire uint64
  1515  		for shift := uint(0); ; shift += 7 {
  1516  			if shift >= 64 {
  1517  				return ErrIntOverflowGossip
  1518  			}
  1519  			if iNdEx >= l {
  1520  				return io.ErrUnexpectedEOF
  1521  			}
  1522  			b := dAtA[iNdEx]
  1523  			iNdEx++
  1524  			wire |= (uint64(b) & 0x7F) << shift
  1525  			if b < 0x80 {
  1526  				break
  1527  			}
  1528  		}
  1529  		fieldNum := int32(wire >> 3)
  1530  		wireType := int(wire & 0x7)
  1531  		if wireType == 4 {
  1532  			return fmt.Errorf("proto: BootstrapInfo: wiretype end group for non-group")
  1533  		}
  1534  		if fieldNum <= 0 {
  1535  			return fmt.Errorf("proto: BootstrapInfo: illegal tag %d (wire type %d)", fieldNum, wire)
  1536  		}
  1537  		switch fieldNum {
  1538  		case 1:
  1539  			if wireType != 2 {
  1540  				return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType)
  1541  			}
  1542  			var msglen int
  1543  			for shift := uint(0); ; shift += 7 {
  1544  				if shift >= 64 {
  1545  					return ErrIntOverflowGossip
  1546  				}
  1547  				if iNdEx >= l {
  1548  					return io.ErrUnexpectedEOF
  1549  				}
  1550  				b := dAtA[iNdEx]
  1551  				iNdEx++
  1552  				msglen |= (int(b) & 0x7F) << shift
  1553  				if b < 0x80 {
  1554  					break
  1555  				}
  1556  			}
  1557  			if msglen < 0 {
  1558  				return ErrInvalidLengthGossip
  1559  			}
  1560  			postIndex := iNdEx + msglen
  1561  			if postIndex > l {
  1562  				return io.ErrUnexpectedEOF
  1563  			}
  1564  			m.Addresses = append(m.Addresses, util.UnresolvedAddr{})
  1565  			if err := m.Addresses[len(m.Addresses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1566  				return err
  1567  			}
  1568  			iNdEx = postIndex
  1569  		case 2:
  1570  			if wireType != 2 {
  1571  				return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType)
  1572  			}
  1573  			var msglen int
  1574  			for shift := uint(0); ; shift += 7 {
  1575  				if shift >= 64 {
  1576  					return ErrIntOverflowGossip
  1577  				}
  1578  				if iNdEx >= l {
  1579  					return io.ErrUnexpectedEOF
  1580  				}
  1581  				b := dAtA[iNdEx]
  1582  				iNdEx++
  1583  				msglen |= (int(b) & 0x7F) << shift
  1584  				if b < 0x80 {
  1585  					break
  1586  				}
  1587  			}
  1588  			if msglen < 0 {
  1589  				return ErrInvalidLengthGossip
  1590  			}
  1591  			postIndex := iNdEx + msglen
  1592  			if postIndex > l {
  1593  				return io.ErrUnexpectedEOF
  1594  			}
  1595  			if err := m.Timestamp.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1596  				return err
  1597  			}
  1598  			iNdEx = postIndex
  1599  		default:
  1600  			iNdEx = preIndex
  1601  			skippy, err := skipGossip(dAtA[iNdEx:])
  1602  			if err != nil {
  1603  				return err
  1604  			}
  1605  			if skippy < 0 {
  1606  				return ErrInvalidLengthGossip
  1607  			}
  1608  			if (iNdEx + skippy) > l {
  1609  				return io.ErrUnexpectedEOF
  1610  			}
  1611  			iNdEx += skippy
  1612  		}
  1613  	}
  1614  
  1615  	if iNdEx > l {
  1616  		return io.ErrUnexpectedEOF
  1617  	}
  1618  	return nil
  1619  }
  1620  func (m *Request) Unmarshal(dAtA []byte) error {
  1621  	l := len(dAtA)
  1622  	iNdEx := 0
  1623  	for iNdEx < l {
  1624  		preIndex := iNdEx
  1625  		var wire uint64
  1626  		for shift := uint(0); ; shift += 7 {
  1627  			if shift >= 64 {
  1628  				return ErrIntOverflowGossip
  1629  			}
  1630  			if iNdEx >= l {
  1631  				return io.ErrUnexpectedEOF
  1632  			}
  1633  			b := dAtA[iNdEx]
  1634  			iNdEx++
  1635  			wire |= (uint64(b) & 0x7F) << shift
  1636  			if b < 0x80 {
  1637  				break
  1638  			}
  1639  		}
  1640  		fieldNum := int32(wire >> 3)
  1641  		wireType := int(wire & 0x7)
  1642  		if wireType == 4 {
  1643  			return fmt.Errorf("proto: Request: wiretype end group for non-group")
  1644  		}
  1645  		if fieldNum <= 0 {
  1646  			return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire)
  1647  		}
  1648  		switch fieldNum {
  1649  		case 1:
  1650  			if wireType != 0 {
  1651  				return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType)
  1652  			}
  1653  			m.NodeID = 0
  1654  			for shift := uint(0); ; shift += 7 {
  1655  				if shift >= 64 {
  1656  					return ErrIntOverflowGossip
  1657  				}
  1658  				if iNdEx >= l {
  1659  					return io.ErrUnexpectedEOF
  1660  				}
  1661  				b := dAtA[iNdEx]
  1662  				iNdEx++
  1663  				m.NodeID |= (github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(b) & 0x7F) << shift
  1664  				if b < 0x80 {
  1665  					break
  1666  				}
  1667  			}
  1668  		case 2:
  1669  			if wireType != 2 {
  1670  				return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
  1671  			}
  1672  			var msglen int
  1673  			for shift := uint(0); ; shift += 7 {
  1674  				if shift >= 64 {
  1675  					return ErrIntOverflowGossip
  1676  				}
  1677  				if iNdEx >= l {
  1678  					return io.ErrUnexpectedEOF
  1679  				}
  1680  				b := dAtA[iNdEx]
  1681  				iNdEx++
  1682  				msglen |= (int(b) & 0x7F) << shift
  1683  				if b < 0x80 {
  1684  					break
  1685  				}
  1686  			}
  1687  			if msglen < 0 {
  1688  				return ErrInvalidLengthGossip
  1689  			}
  1690  			postIndex := iNdEx + msglen
  1691  			if postIndex > l {
  1692  				return io.ErrUnexpectedEOF
  1693  			}
  1694  			if err := m.Addr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1695  				return err
  1696  			}
  1697  			iNdEx = postIndex
  1698  		case 3:
  1699  			if wireType != 2 {
  1700  				return fmt.Errorf("proto: wrong wireType = %d for field HighWaterStamps", wireType)
  1701  			}
  1702  			var msglen int
  1703  			for shift := uint(0); ; shift += 7 {
  1704  				if shift >= 64 {
  1705  					return ErrIntOverflowGossip
  1706  				}
  1707  				if iNdEx >= l {
  1708  					return io.ErrUnexpectedEOF
  1709  				}
  1710  				b := dAtA[iNdEx]
  1711  				iNdEx++
  1712  				msglen |= (int(b) & 0x7F) << shift
  1713  				if b < 0x80 {
  1714  					break
  1715  				}
  1716  			}
  1717  			if msglen < 0 {
  1718  				return ErrInvalidLengthGossip
  1719  			}
  1720  			postIndex := iNdEx + msglen
  1721  			if postIndex > l {
  1722  				return io.ErrUnexpectedEOF
  1723  			}
  1724  			if m.HighWaterStamps == nil {
  1725  				m.HighWaterStamps = make(map[github_com_cockroachdb_cockroach_pkg_roachpb.NodeID]int64)
  1726  			}
  1727  			var mapkey int32
  1728  			var mapvalue int64
  1729  			for iNdEx < postIndex {
  1730  				entryPreIndex := iNdEx
  1731  				var wire uint64
  1732  				for shift := uint(0); ; shift += 7 {
  1733  					if shift >= 64 {
  1734  						return ErrIntOverflowGossip
  1735  					}
  1736  					if iNdEx >= l {
  1737  						return io.ErrUnexpectedEOF
  1738  					}
  1739  					b := dAtA[iNdEx]
  1740  					iNdEx++
  1741  					wire |= (uint64(b) & 0x7F) << shift
  1742  					if b < 0x80 {
  1743  						break
  1744  					}
  1745  				}
  1746  				fieldNum := int32(wire >> 3)
  1747  				if fieldNum == 1 {
  1748  					for shift := uint(0); ; shift += 7 {
  1749  						if shift >= 64 {
  1750  							return ErrIntOverflowGossip
  1751  						}
  1752  						if iNdEx >= l {
  1753  							return io.ErrUnexpectedEOF
  1754  						}
  1755  						b := dAtA[iNdEx]
  1756  						iNdEx++
  1757  						mapkey |= (int32(b) & 0x7F) << shift
  1758  						if b < 0x80 {
  1759  							break
  1760  						}
  1761  					}
  1762  				} else if fieldNum == 2 {
  1763  					for shift := uint(0); ; shift += 7 {
  1764  						if shift >= 64 {
  1765  							return ErrIntOverflowGossip
  1766  						}
  1767  						if iNdEx >= l {
  1768  							return io.ErrUnexpectedEOF
  1769  						}
  1770  						b := dAtA[iNdEx]
  1771  						iNdEx++
  1772  						mapvalue |= (int64(b) & 0x7F) << shift
  1773  						if b < 0x80 {
  1774  							break
  1775  						}
  1776  					}
  1777  				} else {
  1778  					iNdEx = entryPreIndex
  1779  					skippy, err := skipGossip(dAtA[iNdEx:])
  1780  					if err != nil {
  1781  						return err
  1782  					}
  1783  					if skippy < 0 {
  1784  						return ErrInvalidLengthGossip
  1785  					}
  1786  					if (iNdEx + skippy) > postIndex {
  1787  						return io.ErrUnexpectedEOF
  1788  					}
  1789  					iNdEx += skippy
  1790  				}
  1791  			}
  1792  			m.HighWaterStamps[github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(mapkey)] = mapvalue
  1793  			iNdEx = postIndex
  1794  		case 4:
  1795  			if wireType != 2 {
  1796  				return fmt.Errorf("proto: wrong wireType = %d for field Delta", wireType)
  1797  			}
  1798  			var msglen int
  1799  			for shift := uint(0); ; shift += 7 {
  1800  				if shift >= 64 {
  1801  					return ErrIntOverflowGossip
  1802  				}
  1803  				if iNdEx >= l {
  1804  					return io.ErrUnexpectedEOF
  1805  				}
  1806  				b := dAtA[iNdEx]
  1807  				iNdEx++
  1808  				msglen |= (int(b) & 0x7F) << shift
  1809  				if b < 0x80 {
  1810  					break
  1811  				}
  1812  			}
  1813  			if msglen < 0 {
  1814  				return ErrInvalidLengthGossip
  1815  			}
  1816  			postIndex := iNdEx + msglen
  1817  			if postIndex > l {
  1818  				return io.ErrUnexpectedEOF
  1819  			}
  1820  			if m.Delta == nil {
  1821  				m.Delta = make(map[string]*Info)
  1822  			}
  1823  			var mapkey string
  1824  			var mapvalue *Info
  1825  			for iNdEx < postIndex {
  1826  				entryPreIndex := iNdEx
  1827  				var wire uint64
  1828  				for shift := uint(0); ; shift += 7 {
  1829  					if shift >= 64 {
  1830  						return ErrIntOverflowGossip
  1831  					}
  1832  					if iNdEx >= l {
  1833  						return io.ErrUnexpectedEOF
  1834  					}
  1835  					b := dAtA[iNdEx]
  1836  					iNdEx++
  1837  					wire |= (uint64(b) & 0x7F) << shift
  1838  					if b < 0x80 {
  1839  						break
  1840  					}
  1841  				}
  1842  				fieldNum := int32(wire >> 3)
  1843  				if fieldNum == 1 {
  1844  					var stringLenmapkey uint64
  1845  					for shift := uint(0); ; shift += 7 {
  1846  						if shift >= 64 {
  1847  							return ErrIntOverflowGossip
  1848  						}
  1849  						if iNdEx >= l {
  1850  							return io.ErrUnexpectedEOF
  1851  						}
  1852  						b := dAtA[iNdEx]
  1853  						iNdEx++
  1854  						stringLenmapkey |= (uint64(b) & 0x7F) << shift
  1855  						if b < 0x80 {
  1856  							break
  1857  						}
  1858  					}
  1859  					intStringLenmapkey := int(stringLenmapkey)
  1860  					if intStringLenmapkey < 0 {
  1861  						return ErrInvalidLengthGossip
  1862  					}
  1863  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  1864  					if postStringIndexmapkey > l {
  1865  						return io.ErrUnexpectedEOF
  1866  					}
  1867  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  1868  					iNdEx = postStringIndexmapkey
  1869  				} else if fieldNum == 2 {
  1870  					var mapmsglen int
  1871  					for shift := uint(0); ; shift += 7 {
  1872  						if shift >= 64 {
  1873  							return ErrIntOverflowGossip
  1874  						}
  1875  						if iNdEx >= l {
  1876  							return io.ErrUnexpectedEOF
  1877  						}
  1878  						b := dAtA[iNdEx]
  1879  						iNdEx++
  1880  						mapmsglen |= (int(b) & 0x7F) << shift
  1881  						if b < 0x80 {
  1882  							break
  1883  						}
  1884  					}
  1885  					if mapmsglen < 0 {
  1886  						return ErrInvalidLengthGossip
  1887  					}
  1888  					postmsgIndex := iNdEx + mapmsglen
  1889  					if mapmsglen < 0 {
  1890  						return ErrInvalidLengthGossip
  1891  					}
  1892  					if postmsgIndex > l {
  1893  						return io.ErrUnexpectedEOF
  1894  					}
  1895  					mapvalue = &Info{}
  1896  					if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
  1897  						return err
  1898  					}
  1899  					iNdEx = postmsgIndex
  1900  				} else {
  1901  					iNdEx = entryPreIndex
  1902  					skippy, err := skipGossip(dAtA[iNdEx:])
  1903  					if err != nil {
  1904  						return err
  1905  					}
  1906  					if skippy < 0 {
  1907  						return ErrInvalidLengthGossip
  1908  					}
  1909  					if (iNdEx + skippy) > postIndex {
  1910  						return io.ErrUnexpectedEOF
  1911  					}
  1912  					iNdEx += skippy
  1913  				}
  1914  			}
  1915  			m.Delta[mapkey] = mapvalue
  1916  			iNdEx = postIndex
  1917  		case 5:
  1918  			if wireType != 2 {
  1919  				return fmt.Errorf("proto: wrong wireType = %d for field ClusterID", wireType)
  1920  			}
  1921  			var byteLen int
  1922  			for shift := uint(0); ; shift += 7 {
  1923  				if shift >= 64 {
  1924  					return ErrIntOverflowGossip
  1925  				}
  1926  				if iNdEx >= l {
  1927  					return io.ErrUnexpectedEOF
  1928  				}
  1929  				b := dAtA[iNdEx]
  1930  				iNdEx++
  1931  				byteLen |= (int(b) & 0x7F) << shift
  1932  				if b < 0x80 {
  1933  					break
  1934  				}
  1935  			}
  1936  			if byteLen < 0 {
  1937  				return ErrInvalidLengthGossip
  1938  			}
  1939  			postIndex := iNdEx + byteLen
  1940  			if postIndex > l {
  1941  				return io.ErrUnexpectedEOF
  1942  			}
  1943  			if err := m.ClusterID.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1944  				return err
  1945  			}
  1946  			iNdEx = postIndex
  1947  		default:
  1948  			iNdEx = preIndex
  1949  			skippy, err := skipGossip(dAtA[iNdEx:])
  1950  			if err != nil {
  1951  				return err
  1952  			}
  1953  			if skippy < 0 {
  1954  				return ErrInvalidLengthGossip
  1955  			}
  1956  			if (iNdEx + skippy) > l {
  1957  				return io.ErrUnexpectedEOF
  1958  			}
  1959  			iNdEx += skippy
  1960  		}
  1961  	}
  1962  
  1963  	if iNdEx > l {
  1964  		return io.ErrUnexpectedEOF
  1965  	}
  1966  	return nil
  1967  }
  1968  func (m *Response) Unmarshal(dAtA []byte) error {
  1969  	l := len(dAtA)
  1970  	iNdEx := 0
  1971  	for iNdEx < l {
  1972  		preIndex := iNdEx
  1973  		var wire uint64
  1974  		for shift := uint(0); ; shift += 7 {
  1975  			if shift >= 64 {
  1976  				return ErrIntOverflowGossip
  1977  			}
  1978  			if iNdEx >= l {
  1979  				return io.ErrUnexpectedEOF
  1980  			}
  1981  			b := dAtA[iNdEx]
  1982  			iNdEx++
  1983  			wire |= (uint64(b) & 0x7F) << shift
  1984  			if b < 0x80 {
  1985  				break
  1986  			}
  1987  		}
  1988  		fieldNum := int32(wire >> 3)
  1989  		wireType := int(wire & 0x7)
  1990  		if wireType == 4 {
  1991  			return fmt.Errorf("proto: Response: wiretype end group for non-group")
  1992  		}
  1993  		if fieldNum <= 0 {
  1994  			return fmt.Errorf("proto: Response: illegal tag %d (wire type %d)", fieldNum, wire)
  1995  		}
  1996  		switch fieldNum {
  1997  		case 1:
  1998  			if wireType != 0 {
  1999  				return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType)
  2000  			}
  2001  			m.NodeID = 0
  2002  			for shift := uint(0); ; shift += 7 {
  2003  				if shift >= 64 {
  2004  					return ErrIntOverflowGossip
  2005  				}
  2006  				if iNdEx >= l {
  2007  					return io.ErrUnexpectedEOF
  2008  				}
  2009  				b := dAtA[iNdEx]
  2010  				iNdEx++
  2011  				m.NodeID |= (github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(b) & 0x7F) << shift
  2012  				if b < 0x80 {
  2013  					break
  2014  				}
  2015  			}
  2016  		case 2:
  2017  			if wireType != 2 {
  2018  				return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
  2019  			}
  2020  			var msglen int
  2021  			for shift := uint(0); ; shift += 7 {
  2022  				if shift >= 64 {
  2023  					return ErrIntOverflowGossip
  2024  				}
  2025  				if iNdEx >= l {
  2026  					return io.ErrUnexpectedEOF
  2027  				}
  2028  				b := dAtA[iNdEx]
  2029  				iNdEx++
  2030  				msglen |= (int(b) & 0x7F) << shift
  2031  				if b < 0x80 {
  2032  					break
  2033  				}
  2034  			}
  2035  			if msglen < 0 {
  2036  				return ErrInvalidLengthGossip
  2037  			}
  2038  			postIndex := iNdEx + msglen
  2039  			if postIndex > l {
  2040  				return io.ErrUnexpectedEOF
  2041  			}
  2042  			if err := m.Addr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2043  				return err
  2044  			}
  2045  			iNdEx = postIndex
  2046  		case 3:
  2047  			if wireType != 2 {
  2048  				return fmt.Errorf("proto: wrong wireType = %d for field AlternateAddr", wireType)
  2049  			}
  2050  			var msglen int
  2051  			for shift := uint(0); ; shift += 7 {
  2052  				if shift >= 64 {
  2053  					return ErrIntOverflowGossip
  2054  				}
  2055  				if iNdEx >= l {
  2056  					return io.ErrUnexpectedEOF
  2057  				}
  2058  				b := dAtA[iNdEx]
  2059  				iNdEx++
  2060  				msglen |= (int(b) & 0x7F) << shift
  2061  				if b < 0x80 {
  2062  					break
  2063  				}
  2064  			}
  2065  			if msglen < 0 {
  2066  				return ErrInvalidLengthGossip
  2067  			}
  2068  			postIndex := iNdEx + msglen
  2069  			if postIndex > l {
  2070  				return io.ErrUnexpectedEOF
  2071  			}
  2072  			if m.AlternateAddr == nil {
  2073  				m.AlternateAddr = &util.UnresolvedAddr{}
  2074  			}
  2075  			if err := m.AlternateAddr.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2076  				return err
  2077  			}
  2078  			iNdEx = postIndex
  2079  		case 4:
  2080  			if wireType != 0 {
  2081  				return fmt.Errorf("proto: wrong wireType = %d for field AlternateNodeID", wireType)
  2082  			}
  2083  			m.AlternateNodeID = 0
  2084  			for shift := uint(0); ; shift += 7 {
  2085  				if shift >= 64 {
  2086  					return ErrIntOverflowGossip
  2087  				}
  2088  				if iNdEx >= l {
  2089  					return io.ErrUnexpectedEOF
  2090  				}
  2091  				b := dAtA[iNdEx]
  2092  				iNdEx++
  2093  				m.AlternateNodeID |= (github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(b) & 0x7F) << shift
  2094  				if b < 0x80 {
  2095  					break
  2096  				}
  2097  			}
  2098  		case 5:
  2099  			if wireType != 2 {
  2100  				return fmt.Errorf("proto: wrong wireType = %d for field Delta", wireType)
  2101  			}
  2102  			var msglen int
  2103  			for shift := uint(0); ; shift += 7 {
  2104  				if shift >= 64 {
  2105  					return ErrIntOverflowGossip
  2106  				}
  2107  				if iNdEx >= l {
  2108  					return io.ErrUnexpectedEOF
  2109  				}
  2110  				b := dAtA[iNdEx]
  2111  				iNdEx++
  2112  				msglen |= (int(b) & 0x7F) << shift
  2113  				if b < 0x80 {
  2114  					break
  2115  				}
  2116  			}
  2117  			if msglen < 0 {
  2118  				return ErrInvalidLengthGossip
  2119  			}
  2120  			postIndex := iNdEx + msglen
  2121  			if postIndex > l {
  2122  				return io.ErrUnexpectedEOF
  2123  			}
  2124  			if m.Delta == nil {
  2125  				m.Delta = make(map[string]*Info)
  2126  			}
  2127  			var mapkey string
  2128  			var mapvalue *Info
  2129  			for iNdEx < postIndex {
  2130  				entryPreIndex := iNdEx
  2131  				var wire uint64
  2132  				for shift := uint(0); ; shift += 7 {
  2133  					if shift >= 64 {
  2134  						return ErrIntOverflowGossip
  2135  					}
  2136  					if iNdEx >= l {
  2137  						return io.ErrUnexpectedEOF
  2138  					}
  2139  					b := dAtA[iNdEx]
  2140  					iNdEx++
  2141  					wire |= (uint64(b) & 0x7F) << shift
  2142  					if b < 0x80 {
  2143  						break
  2144  					}
  2145  				}
  2146  				fieldNum := int32(wire >> 3)
  2147  				if fieldNum == 1 {
  2148  					var stringLenmapkey uint64
  2149  					for shift := uint(0); ; shift += 7 {
  2150  						if shift >= 64 {
  2151  							return ErrIntOverflowGossip
  2152  						}
  2153  						if iNdEx >= l {
  2154  							return io.ErrUnexpectedEOF
  2155  						}
  2156  						b := dAtA[iNdEx]
  2157  						iNdEx++
  2158  						stringLenmapkey |= (uint64(b) & 0x7F) << shift
  2159  						if b < 0x80 {
  2160  							break
  2161  						}
  2162  					}
  2163  					intStringLenmapkey := int(stringLenmapkey)
  2164  					if intStringLenmapkey < 0 {
  2165  						return ErrInvalidLengthGossip
  2166  					}
  2167  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  2168  					if postStringIndexmapkey > l {
  2169  						return io.ErrUnexpectedEOF
  2170  					}
  2171  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  2172  					iNdEx = postStringIndexmapkey
  2173  				} else if fieldNum == 2 {
  2174  					var mapmsglen int
  2175  					for shift := uint(0); ; shift += 7 {
  2176  						if shift >= 64 {
  2177  							return ErrIntOverflowGossip
  2178  						}
  2179  						if iNdEx >= l {
  2180  							return io.ErrUnexpectedEOF
  2181  						}
  2182  						b := dAtA[iNdEx]
  2183  						iNdEx++
  2184  						mapmsglen |= (int(b) & 0x7F) << shift
  2185  						if b < 0x80 {
  2186  							break
  2187  						}
  2188  					}
  2189  					if mapmsglen < 0 {
  2190  						return ErrInvalidLengthGossip
  2191  					}
  2192  					postmsgIndex := iNdEx + mapmsglen
  2193  					if mapmsglen < 0 {
  2194  						return ErrInvalidLengthGossip
  2195  					}
  2196  					if postmsgIndex > l {
  2197  						return io.ErrUnexpectedEOF
  2198  					}
  2199  					mapvalue = &Info{}
  2200  					if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
  2201  						return err
  2202  					}
  2203  					iNdEx = postmsgIndex
  2204  				} else {
  2205  					iNdEx = entryPreIndex
  2206  					skippy, err := skipGossip(dAtA[iNdEx:])
  2207  					if err != nil {
  2208  						return err
  2209  					}
  2210  					if skippy < 0 {
  2211  						return ErrInvalidLengthGossip
  2212  					}
  2213  					if (iNdEx + skippy) > postIndex {
  2214  						return io.ErrUnexpectedEOF
  2215  					}
  2216  					iNdEx += skippy
  2217  				}
  2218  			}
  2219  			m.Delta[mapkey] = mapvalue
  2220  			iNdEx = postIndex
  2221  		case 6:
  2222  			if wireType != 2 {
  2223  				return fmt.Errorf("proto: wrong wireType = %d for field HighWaterStamps", wireType)
  2224  			}
  2225  			var msglen int
  2226  			for shift := uint(0); ; shift += 7 {
  2227  				if shift >= 64 {
  2228  					return ErrIntOverflowGossip
  2229  				}
  2230  				if iNdEx >= l {
  2231  					return io.ErrUnexpectedEOF
  2232  				}
  2233  				b := dAtA[iNdEx]
  2234  				iNdEx++
  2235  				msglen |= (int(b) & 0x7F) << shift
  2236  				if b < 0x80 {
  2237  					break
  2238  				}
  2239  			}
  2240  			if msglen < 0 {
  2241  				return ErrInvalidLengthGossip
  2242  			}
  2243  			postIndex := iNdEx + msglen
  2244  			if postIndex > l {
  2245  				return io.ErrUnexpectedEOF
  2246  			}
  2247  			if m.HighWaterStamps == nil {
  2248  				m.HighWaterStamps = make(map[github_com_cockroachdb_cockroach_pkg_roachpb.NodeID]int64)
  2249  			}
  2250  			var mapkey int32
  2251  			var mapvalue int64
  2252  			for iNdEx < postIndex {
  2253  				entryPreIndex := iNdEx
  2254  				var wire uint64
  2255  				for shift := uint(0); ; shift += 7 {
  2256  					if shift >= 64 {
  2257  						return ErrIntOverflowGossip
  2258  					}
  2259  					if iNdEx >= l {
  2260  						return io.ErrUnexpectedEOF
  2261  					}
  2262  					b := dAtA[iNdEx]
  2263  					iNdEx++
  2264  					wire |= (uint64(b) & 0x7F) << shift
  2265  					if b < 0x80 {
  2266  						break
  2267  					}
  2268  				}
  2269  				fieldNum := int32(wire >> 3)
  2270  				if fieldNum == 1 {
  2271  					for shift := uint(0); ; shift += 7 {
  2272  						if shift >= 64 {
  2273  							return ErrIntOverflowGossip
  2274  						}
  2275  						if iNdEx >= l {
  2276  							return io.ErrUnexpectedEOF
  2277  						}
  2278  						b := dAtA[iNdEx]
  2279  						iNdEx++
  2280  						mapkey |= (int32(b) & 0x7F) << shift
  2281  						if b < 0x80 {
  2282  							break
  2283  						}
  2284  					}
  2285  				} else if fieldNum == 2 {
  2286  					for shift := uint(0); ; shift += 7 {
  2287  						if shift >= 64 {
  2288  							return ErrIntOverflowGossip
  2289  						}
  2290  						if iNdEx >= l {
  2291  							return io.ErrUnexpectedEOF
  2292  						}
  2293  						b := dAtA[iNdEx]
  2294  						iNdEx++
  2295  						mapvalue |= (int64(b) & 0x7F) << shift
  2296  						if b < 0x80 {
  2297  							break
  2298  						}
  2299  					}
  2300  				} else {
  2301  					iNdEx = entryPreIndex
  2302  					skippy, err := skipGossip(dAtA[iNdEx:])
  2303  					if err != nil {
  2304  						return err
  2305  					}
  2306  					if skippy < 0 {
  2307  						return ErrInvalidLengthGossip
  2308  					}
  2309  					if (iNdEx + skippy) > postIndex {
  2310  						return io.ErrUnexpectedEOF
  2311  					}
  2312  					iNdEx += skippy
  2313  				}
  2314  			}
  2315  			m.HighWaterStamps[github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(mapkey)] = mapvalue
  2316  			iNdEx = postIndex
  2317  		default:
  2318  			iNdEx = preIndex
  2319  			skippy, err := skipGossip(dAtA[iNdEx:])
  2320  			if err != nil {
  2321  				return err
  2322  			}
  2323  			if skippy < 0 {
  2324  				return ErrInvalidLengthGossip
  2325  			}
  2326  			if (iNdEx + skippy) > l {
  2327  				return io.ErrUnexpectedEOF
  2328  			}
  2329  			iNdEx += skippy
  2330  		}
  2331  	}
  2332  
  2333  	if iNdEx > l {
  2334  		return io.ErrUnexpectedEOF
  2335  	}
  2336  	return nil
  2337  }
  2338  func (m *ConnStatus) Unmarshal(dAtA []byte) error {
  2339  	l := len(dAtA)
  2340  	iNdEx := 0
  2341  	for iNdEx < l {
  2342  		preIndex := iNdEx
  2343  		var wire uint64
  2344  		for shift := uint(0); ; shift += 7 {
  2345  			if shift >= 64 {
  2346  				return ErrIntOverflowGossip
  2347  			}
  2348  			if iNdEx >= l {
  2349  				return io.ErrUnexpectedEOF
  2350  			}
  2351  			b := dAtA[iNdEx]
  2352  			iNdEx++
  2353  			wire |= (uint64(b) & 0x7F) << shift
  2354  			if b < 0x80 {
  2355  				break
  2356  			}
  2357  		}
  2358  		fieldNum := int32(wire >> 3)
  2359  		wireType := int(wire & 0x7)
  2360  		if wireType == 4 {
  2361  			return fmt.Errorf("proto: ConnStatus: wiretype end group for non-group")
  2362  		}
  2363  		if fieldNum <= 0 {
  2364  			return fmt.Errorf("proto: ConnStatus: illegal tag %d (wire type %d)", fieldNum, wire)
  2365  		}
  2366  		switch fieldNum {
  2367  		case 1:
  2368  			if wireType != 0 {
  2369  				return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType)
  2370  			}
  2371  			m.NodeID = 0
  2372  			for shift := uint(0); ; shift += 7 {
  2373  				if shift >= 64 {
  2374  					return ErrIntOverflowGossip
  2375  				}
  2376  				if iNdEx >= l {
  2377  					return io.ErrUnexpectedEOF
  2378  				}
  2379  				b := dAtA[iNdEx]
  2380  				iNdEx++
  2381  				m.NodeID |= (github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(b) & 0x7F) << shift
  2382  				if b < 0x80 {
  2383  					break
  2384  				}
  2385  			}
  2386  		case 2:
  2387  			if wireType != 2 {
  2388  				return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType)
  2389  			}
  2390  			var stringLen uint64
  2391  			for shift := uint(0); ; shift += 7 {
  2392  				if shift >= 64 {
  2393  					return ErrIntOverflowGossip
  2394  				}
  2395  				if iNdEx >= l {
  2396  					return io.ErrUnexpectedEOF
  2397  				}
  2398  				b := dAtA[iNdEx]
  2399  				iNdEx++
  2400  				stringLen |= (uint64(b) & 0x7F) << shift
  2401  				if b < 0x80 {
  2402  					break
  2403  				}
  2404  			}
  2405  			intStringLen := int(stringLen)
  2406  			if intStringLen < 0 {
  2407  				return ErrInvalidLengthGossip
  2408  			}
  2409  			postIndex := iNdEx + intStringLen
  2410  			if postIndex > l {
  2411  				return io.ErrUnexpectedEOF
  2412  			}
  2413  			m.Address = string(dAtA[iNdEx:postIndex])
  2414  			iNdEx = postIndex
  2415  		case 3:
  2416  			if wireType != 0 {
  2417  				return fmt.Errorf("proto: wrong wireType = %d for field AgeNanos", wireType)
  2418  			}
  2419  			m.AgeNanos = 0
  2420  			for shift := uint(0); ; shift += 7 {
  2421  				if shift >= 64 {
  2422  					return ErrIntOverflowGossip
  2423  				}
  2424  				if iNdEx >= l {
  2425  					return io.ErrUnexpectedEOF
  2426  				}
  2427  				b := dAtA[iNdEx]
  2428  				iNdEx++
  2429  				m.AgeNanos |= (int64(b) & 0x7F) << shift
  2430  				if b < 0x80 {
  2431  					break
  2432  				}
  2433  			}
  2434  		default:
  2435  			iNdEx = preIndex
  2436  			skippy, err := skipGossip(dAtA[iNdEx:])
  2437  			if err != nil {
  2438  				return err
  2439  			}
  2440  			if skippy < 0 {
  2441  				return ErrInvalidLengthGossip
  2442  			}
  2443  			if (iNdEx + skippy) > l {
  2444  				return io.ErrUnexpectedEOF
  2445  			}
  2446  			iNdEx += skippy
  2447  		}
  2448  	}
  2449  
  2450  	if iNdEx > l {
  2451  		return io.ErrUnexpectedEOF
  2452  	}
  2453  	return nil
  2454  }
  2455  func (m *MetricSnap) Unmarshal(dAtA []byte) error {
  2456  	l := len(dAtA)
  2457  	iNdEx := 0
  2458  	for iNdEx < l {
  2459  		preIndex := iNdEx
  2460  		var wire uint64
  2461  		for shift := uint(0); ; shift += 7 {
  2462  			if shift >= 64 {
  2463  				return ErrIntOverflowGossip
  2464  			}
  2465  			if iNdEx >= l {
  2466  				return io.ErrUnexpectedEOF
  2467  			}
  2468  			b := dAtA[iNdEx]
  2469  			iNdEx++
  2470  			wire |= (uint64(b) & 0x7F) << shift
  2471  			if b < 0x80 {
  2472  				break
  2473  			}
  2474  		}
  2475  		fieldNum := int32(wire >> 3)
  2476  		wireType := int(wire & 0x7)
  2477  		if wireType == 4 {
  2478  			return fmt.Errorf("proto: MetricSnap: wiretype end group for non-group")
  2479  		}
  2480  		if fieldNum <= 0 {
  2481  			return fmt.Errorf("proto: MetricSnap: illegal tag %d (wire type %d)", fieldNum, wire)
  2482  		}
  2483  		switch fieldNum {
  2484  		case 2:
  2485  			if wireType != 0 {
  2486  				return fmt.Errorf("proto: wrong wireType = %d for field BytesReceived", wireType)
  2487  			}
  2488  			m.BytesReceived = 0
  2489  			for shift := uint(0); ; shift += 7 {
  2490  				if shift >= 64 {
  2491  					return ErrIntOverflowGossip
  2492  				}
  2493  				if iNdEx >= l {
  2494  					return io.ErrUnexpectedEOF
  2495  				}
  2496  				b := dAtA[iNdEx]
  2497  				iNdEx++
  2498  				m.BytesReceived |= (int64(b) & 0x7F) << shift
  2499  				if b < 0x80 {
  2500  					break
  2501  				}
  2502  			}
  2503  		case 3:
  2504  			if wireType != 0 {
  2505  				return fmt.Errorf("proto: wrong wireType = %d for field BytesSent", wireType)
  2506  			}
  2507  			m.BytesSent = 0
  2508  			for shift := uint(0); ; shift += 7 {
  2509  				if shift >= 64 {
  2510  					return ErrIntOverflowGossip
  2511  				}
  2512  				if iNdEx >= l {
  2513  					return io.ErrUnexpectedEOF
  2514  				}
  2515  				b := dAtA[iNdEx]
  2516  				iNdEx++
  2517  				m.BytesSent |= (int64(b) & 0x7F) << shift
  2518  				if b < 0x80 {
  2519  					break
  2520  				}
  2521  			}
  2522  		case 4:
  2523  			if wireType != 0 {
  2524  				return fmt.Errorf("proto: wrong wireType = %d for field InfosReceived", wireType)
  2525  			}
  2526  			m.InfosReceived = 0
  2527  			for shift := uint(0); ; shift += 7 {
  2528  				if shift >= 64 {
  2529  					return ErrIntOverflowGossip
  2530  				}
  2531  				if iNdEx >= l {
  2532  					return io.ErrUnexpectedEOF
  2533  				}
  2534  				b := dAtA[iNdEx]
  2535  				iNdEx++
  2536  				m.InfosReceived |= (int64(b) & 0x7F) << shift
  2537  				if b < 0x80 {
  2538  					break
  2539  				}
  2540  			}
  2541  		case 5:
  2542  			if wireType != 0 {
  2543  				return fmt.Errorf("proto: wrong wireType = %d for field InfosSent", wireType)
  2544  			}
  2545  			m.InfosSent = 0
  2546  			for shift := uint(0); ; shift += 7 {
  2547  				if shift >= 64 {
  2548  					return ErrIntOverflowGossip
  2549  				}
  2550  				if iNdEx >= l {
  2551  					return io.ErrUnexpectedEOF
  2552  				}
  2553  				b := dAtA[iNdEx]
  2554  				iNdEx++
  2555  				m.InfosSent |= (int64(b) & 0x7F) << shift
  2556  				if b < 0x80 {
  2557  					break
  2558  				}
  2559  			}
  2560  		case 6:
  2561  			if wireType != 0 {
  2562  				return fmt.Errorf("proto: wrong wireType = %d for field ConnsRefused", wireType)
  2563  			}
  2564  			m.ConnsRefused = 0
  2565  			for shift := uint(0); ; shift += 7 {
  2566  				if shift >= 64 {
  2567  					return ErrIntOverflowGossip
  2568  				}
  2569  				if iNdEx >= l {
  2570  					return io.ErrUnexpectedEOF
  2571  				}
  2572  				b := dAtA[iNdEx]
  2573  				iNdEx++
  2574  				m.ConnsRefused |= (int64(b) & 0x7F) << shift
  2575  				if b < 0x80 {
  2576  					break
  2577  				}
  2578  			}
  2579  		default:
  2580  			iNdEx = preIndex
  2581  			skippy, err := skipGossip(dAtA[iNdEx:])
  2582  			if err != nil {
  2583  				return err
  2584  			}
  2585  			if skippy < 0 {
  2586  				return ErrInvalidLengthGossip
  2587  			}
  2588  			if (iNdEx + skippy) > l {
  2589  				return io.ErrUnexpectedEOF
  2590  			}
  2591  			iNdEx += skippy
  2592  		}
  2593  	}
  2594  
  2595  	if iNdEx > l {
  2596  		return io.ErrUnexpectedEOF
  2597  	}
  2598  	return nil
  2599  }
  2600  func (m *OutgoingConnStatus) Unmarshal(dAtA []byte) error {
  2601  	l := len(dAtA)
  2602  	iNdEx := 0
  2603  	for iNdEx < l {
  2604  		preIndex := iNdEx
  2605  		var wire uint64
  2606  		for shift := uint(0); ; shift += 7 {
  2607  			if shift >= 64 {
  2608  				return ErrIntOverflowGossip
  2609  			}
  2610  			if iNdEx >= l {
  2611  				return io.ErrUnexpectedEOF
  2612  			}
  2613  			b := dAtA[iNdEx]
  2614  			iNdEx++
  2615  			wire |= (uint64(b) & 0x7F) << shift
  2616  			if b < 0x80 {
  2617  				break
  2618  			}
  2619  		}
  2620  		fieldNum := int32(wire >> 3)
  2621  		wireType := int(wire & 0x7)
  2622  		if wireType == 4 {
  2623  			return fmt.Errorf("proto: OutgoingConnStatus: wiretype end group for non-group")
  2624  		}
  2625  		if fieldNum <= 0 {
  2626  			return fmt.Errorf("proto: OutgoingConnStatus: illegal tag %d (wire type %d)", fieldNum, wire)
  2627  		}
  2628  		switch fieldNum {
  2629  		case 1:
  2630  			if wireType != 2 {
  2631  				return fmt.Errorf("proto: wrong wireType = %d for field ConnStatus", wireType)
  2632  			}
  2633  			var msglen int
  2634  			for shift := uint(0); ; shift += 7 {
  2635  				if shift >= 64 {
  2636  					return ErrIntOverflowGossip
  2637  				}
  2638  				if iNdEx >= l {
  2639  					return io.ErrUnexpectedEOF
  2640  				}
  2641  				b := dAtA[iNdEx]
  2642  				iNdEx++
  2643  				msglen |= (int(b) & 0x7F) << shift
  2644  				if b < 0x80 {
  2645  					break
  2646  				}
  2647  			}
  2648  			if msglen < 0 {
  2649  				return ErrInvalidLengthGossip
  2650  			}
  2651  			postIndex := iNdEx + msglen
  2652  			if postIndex > l {
  2653  				return io.ErrUnexpectedEOF
  2654  			}
  2655  			if err := m.ConnStatus.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2656  				return err
  2657  			}
  2658  			iNdEx = postIndex
  2659  		case 2:
  2660  			if wireType != 2 {
  2661  				return fmt.Errorf("proto: wrong wireType = %d for field MetricSnap", wireType)
  2662  			}
  2663  			var msglen int
  2664  			for shift := uint(0); ; shift += 7 {
  2665  				if shift >= 64 {
  2666  					return ErrIntOverflowGossip
  2667  				}
  2668  				if iNdEx >= l {
  2669  					return io.ErrUnexpectedEOF
  2670  				}
  2671  				b := dAtA[iNdEx]
  2672  				iNdEx++
  2673  				msglen |= (int(b) & 0x7F) << shift
  2674  				if b < 0x80 {
  2675  					break
  2676  				}
  2677  			}
  2678  			if msglen < 0 {
  2679  				return ErrInvalidLengthGossip
  2680  			}
  2681  			postIndex := iNdEx + msglen
  2682  			if postIndex > l {
  2683  				return io.ErrUnexpectedEOF
  2684  			}
  2685  			if err := m.MetricSnap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2686  				return err
  2687  			}
  2688  			iNdEx = postIndex
  2689  		default:
  2690  			iNdEx = preIndex
  2691  			skippy, err := skipGossip(dAtA[iNdEx:])
  2692  			if err != nil {
  2693  				return err
  2694  			}
  2695  			if skippy < 0 {
  2696  				return ErrInvalidLengthGossip
  2697  			}
  2698  			if (iNdEx + skippy) > l {
  2699  				return io.ErrUnexpectedEOF
  2700  			}
  2701  			iNdEx += skippy
  2702  		}
  2703  	}
  2704  
  2705  	if iNdEx > l {
  2706  		return io.ErrUnexpectedEOF
  2707  	}
  2708  	return nil
  2709  }
  2710  func (m *ClientStatus) Unmarshal(dAtA []byte) error {
  2711  	l := len(dAtA)
  2712  	iNdEx := 0
  2713  	for iNdEx < l {
  2714  		preIndex := iNdEx
  2715  		var wire uint64
  2716  		for shift := uint(0); ; shift += 7 {
  2717  			if shift >= 64 {
  2718  				return ErrIntOverflowGossip
  2719  			}
  2720  			if iNdEx >= l {
  2721  				return io.ErrUnexpectedEOF
  2722  			}
  2723  			b := dAtA[iNdEx]
  2724  			iNdEx++
  2725  			wire |= (uint64(b) & 0x7F) << shift
  2726  			if b < 0x80 {
  2727  				break
  2728  			}
  2729  		}
  2730  		fieldNum := int32(wire >> 3)
  2731  		wireType := int(wire & 0x7)
  2732  		if wireType == 4 {
  2733  			return fmt.Errorf("proto: ClientStatus: wiretype end group for non-group")
  2734  		}
  2735  		if fieldNum <= 0 {
  2736  			return fmt.Errorf("proto: ClientStatus: illegal tag %d (wire type %d)", fieldNum, wire)
  2737  		}
  2738  		switch fieldNum {
  2739  		case 1:
  2740  			if wireType != 2 {
  2741  				return fmt.Errorf("proto: wrong wireType = %d for field ConnStatus", wireType)
  2742  			}
  2743  			var msglen int
  2744  			for shift := uint(0); ; shift += 7 {
  2745  				if shift >= 64 {
  2746  					return ErrIntOverflowGossip
  2747  				}
  2748  				if iNdEx >= l {
  2749  					return io.ErrUnexpectedEOF
  2750  				}
  2751  				b := dAtA[iNdEx]
  2752  				iNdEx++
  2753  				msglen |= (int(b) & 0x7F) << shift
  2754  				if b < 0x80 {
  2755  					break
  2756  				}
  2757  			}
  2758  			if msglen < 0 {
  2759  				return ErrInvalidLengthGossip
  2760  			}
  2761  			postIndex := iNdEx + msglen
  2762  			if postIndex > l {
  2763  				return io.ErrUnexpectedEOF
  2764  			}
  2765  			m.ConnStatus = append(m.ConnStatus, OutgoingConnStatus{})
  2766  			if err := m.ConnStatus[len(m.ConnStatus)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2767  				return err
  2768  			}
  2769  			iNdEx = postIndex
  2770  		case 2:
  2771  			if wireType != 0 {
  2772  				return fmt.Errorf("proto: wrong wireType = %d for field MaxConns", wireType)
  2773  			}
  2774  			m.MaxConns = 0
  2775  			for shift := uint(0); ; shift += 7 {
  2776  				if shift >= 64 {
  2777  					return ErrIntOverflowGossip
  2778  				}
  2779  				if iNdEx >= l {
  2780  					return io.ErrUnexpectedEOF
  2781  				}
  2782  				b := dAtA[iNdEx]
  2783  				iNdEx++
  2784  				m.MaxConns |= (int32(b) & 0x7F) << shift
  2785  				if b < 0x80 {
  2786  					break
  2787  				}
  2788  			}
  2789  		default:
  2790  			iNdEx = preIndex
  2791  			skippy, err := skipGossip(dAtA[iNdEx:])
  2792  			if err != nil {
  2793  				return err
  2794  			}
  2795  			if skippy < 0 {
  2796  				return ErrInvalidLengthGossip
  2797  			}
  2798  			if (iNdEx + skippy) > l {
  2799  				return io.ErrUnexpectedEOF
  2800  			}
  2801  			iNdEx += skippy
  2802  		}
  2803  	}
  2804  
  2805  	if iNdEx > l {
  2806  		return io.ErrUnexpectedEOF
  2807  	}
  2808  	return nil
  2809  }
  2810  func (m *ServerStatus) Unmarshal(dAtA []byte) error {
  2811  	l := len(dAtA)
  2812  	iNdEx := 0
  2813  	for iNdEx < l {
  2814  		preIndex := iNdEx
  2815  		var wire uint64
  2816  		for shift := uint(0); ; shift += 7 {
  2817  			if shift >= 64 {
  2818  				return ErrIntOverflowGossip
  2819  			}
  2820  			if iNdEx >= l {
  2821  				return io.ErrUnexpectedEOF
  2822  			}
  2823  			b := dAtA[iNdEx]
  2824  			iNdEx++
  2825  			wire |= (uint64(b) & 0x7F) << shift
  2826  			if b < 0x80 {
  2827  				break
  2828  			}
  2829  		}
  2830  		fieldNum := int32(wire >> 3)
  2831  		wireType := int(wire & 0x7)
  2832  		if wireType == 4 {
  2833  			return fmt.Errorf("proto: ServerStatus: wiretype end group for non-group")
  2834  		}
  2835  		if fieldNum <= 0 {
  2836  			return fmt.Errorf("proto: ServerStatus: illegal tag %d (wire type %d)", fieldNum, wire)
  2837  		}
  2838  		switch fieldNum {
  2839  		case 1:
  2840  			if wireType != 2 {
  2841  				return fmt.Errorf("proto: wrong wireType = %d for field ConnStatus", wireType)
  2842  			}
  2843  			var msglen int
  2844  			for shift := uint(0); ; shift += 7 {
  2845  				if shift >= 64 {
  2846  					return ErrIntOverflowGossip
  2847  				}
  2848  				if iNdEx >= l {
  2849  					return io.ErrUnexpectedEOF
  2850  				}
  2851  				b := dAtA[iNdEx]
  2852  				iNdEx++
  2853  				msglen |= (int(b) & 0x7F) << shift
  2854  				if b < 0x80 {
  2855  					break
  2856  				}
  2857  			}
  2858  			if msglen < 0 {
  2859  				return ErrInvalidLengthGossip
  2860  			}
  2861  			postIndex := iNdEx + msglen
  2862  			if postIndex > l {
  2863  				return io.ErrUnexpectedEOF
  2864  			}
  2865  			m.ConnStatus = append(m.ConnStatus, ConnStatus{})
  2866  			if err := m.ConnStatus[len(m.ConnStatus)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2867  				return err
  2868  			}
  2869  			iNdEx = postIndex
  2870  		case 2:
  2871  			if wireType != 0 {
  2872  				return fmt.Errorf("proto: wrong wireType = %d for field MaxConns", wireType)
  2873  			}
  2874  			m.MaxConns = 0
  2875  			for shift := uint(0); ; shift += 7 {
  2876  				if shift >= 64 {
  2877  					return ErrIntOverflowGossip
  2878  				}
  2879  				if iNdEx >= l {
  2880  					return io.ErrUnexpectedEOF
  2881  				}
  2882  				b := dAtA[iNdEx]
  2883  				iNdEx++
  2884  				m.MaxConns |= (int32(b) & 0x7F) << shift
  2885  				if b < 0x80 {
  2886  					break
  2887  				}
  2888  			}
  2889  		case 3:
  2890  			if wireType != 2 {
  2891  				return fmt.Errorf("proto: wrong wireType = %d for field MetricSnap", wireType)
  2892  			}
  2893  			var msglen int
  2894  			for shift := uint(0); ; shift += 7 {
  2895  				if shift >= 64 {
  2896  					return ErrIntOverflowGossip
  2897  				}
  2898  				if iNdEx >= l {
  2899  					return io.ErrUnexpectedEOF
  2900  				}
  2901  				b := dAtA[iNdEx]
  2902  				iNdEx++
  2903  				msglen |= (int(b) & 0x7F) << shift
  2904  				if b < 0x80 {
  2905  					break
  2906  				}
  2907  			}
  2908  			if msglen < 0 {
  2909  				return ErrInvalidLengthGossip
  2910  			}
  2911  			postIndex := iNdEx + msglen
  2912  			if postIndex > l {
  2913  				return io.ErrUnexpectedEOF
  2914  			}
  2915  			if err := m.MetricSnap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2916  				return err
  2917  			}
  2918  			iNdEx = postIndex
  2919  		default:
  2920  			iNdEx = preIndex
  2921  			skippy, err := skipGossip(dAtA[iNdEx:])
  2922  			if err != nil {
  2923  				return err
  2924  			}
  2925  			if skippy < 0 {
  2926  				return ErrInvalidLengthGossip
  2927  			}
  2928  			if (iNdEx + skippy) > l {
  2929  				return io.ErrUnexpectedEOF
  2930  			}
  2931  			iNdEx += skippy
  2932  		}
  2933  	}
  2934  
  2935  	if iNdEx > l {
  2936  		return io.ErrUnexpectedEOF
  2937  	}
  2938  	return nil
  2939  }
  2940  func (m *Connectivity) Unmarshal(dAtA []byte) error {
  2941  	l := len(dAtA)
  2942  	iNdEx := 0
  2943  	for iNdEx < l {
  2944  		preIndex := iNdEx
  2945  		var wire uint64
  2946  		for shift := uint(0); ; shift += 7 {
  2947  			if shift >= 64 {
  2948  				return ErrIntOverflowGossip
  2949  			}
  2950  			if iNdEx >= l {
  2951  				return io.ErrUnexpectedEOF
  2952  			}
  2953  			b := dAtA[iNdEx]
  2954  			iNdEx++
  2955  			wire |= (uint64(b) & 0x7F) << shift
  2956  			if b < 0x80 {
  2957  				break
  2958  			}
  2959  		}
  2960  		fieldNum := int32(wire >> 3)
  2961  		wireType := int(wire & 0x7)
  2962  		if wireType == 4 {
  2963  			return fmt.Errorf("proto: Connectivity: wiretype end group for non-group")
  2964  		}
  2965  		if fieldNum <= 0 {
  2966  			return fmt.Errorf("proto: Connectivity: illegal tag %d (wire type %d)", fieldNum, wire)
  2967  		}
  2968  		switch fieldNum {
  2969  		case 1:
  2970  			if wireType != 0 {
  2971  				return fmt.Errorf("proto: wrong wireType = %d for field SentinelNodeID", wireType)
  2972  			}
  2973  			m.SentinelNodeID = 0
  2974  			for shift := uint(0); ; shift += 7 {
  2975  				if shift >= 64 {
  2976  					return ErrIntOverflowGossip
  2977  				}
  2978  				if iNdEx >= l {
  2979  					return io.ErrUnexpectedEOF
  2980  				}
  2981  				b := dAtA[iNdEx]
  2982  				iNdEx++
  2983  				m.SentinelNodeID |= (github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(b) & 0x7F) << shift
  2984  				if b < 0x80 {
  2985  					break
  2986  				}
  2987  			}
  2988  		case 2:
  2989  			if wireType != 2 {
  2990  				return fmt.Errorf("proto: wrong wireType = %d for field ClientConns", wireType)
  2991  			}
  2992  			var msglen int
  2993  			for shift := uint(0); ; shift += 7 {
  2994  				if shift >= 64 {
  2995  					return ErrIntOverflowGossip
  2996  				}
  2997  				if iNdEx >= l {
  2998  					return io.ErrUnexpectedEOF
  2999  				}
  3000  				b := dAtA[iNdEx]
  3001  				iNdEx++
  3002  				msglen |= (int(b) & 0x7F) << shift
  3003  				if b < 0x80 {
  3004  					break
  3005  				}
  3006  			}
  3007  			if msglen < 0 {
  3008  				return ErrInvalidLengthGossip
  3009  			}
  3010  			postIndex := iNdEx + msglen
  3011  			if postIndex > l {
  3012  				return io.ErrUnexpectedEOF
  3013  			}
  3014  			m.ClientConns = append(m.ClientConns, Connectivity_Conn{})
  3015  			if err := m.ClientConns[len(m.ClientConns)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3016  				return err
  3017  			}
  3018  			iNdEx = postIndex
  3019  		default:
  3020  			iNdEx = preIndex
  3021  			skippy, err := skipGossip(dAtA[iNdEx:])
  3022  			if err != nil {
  3023  				return err
  3024  			}
  3025  			if skippy < 0 {
  3026  				return ErrInvalidLengthGossip
  3027  			}
  3028  			if (iNdEx + skippy) > l {
  3029  				return io.ErrUnexpectedEOF
  3030  			}
  3031  			iNdEx += skippy
  3032  		}
  3033  	}
  3034  
  3035  	if iNdEx > l {
  3036  		return io.ErrUnexpectedEOF
  3037  	}
  3038  	return nil
  3039  }
  3040  func (m *Connectivity_Conn) Unmarshal(dAtA []byte) error {
  3041  	l := len(dAtA)
  3042  	iNdEx := 0
  3043  	for iNdEx < l {
  3044  		preIndex := iNdEx
  3045  		var wire uint64
  3046  		for shift := uint(0); ; shift += 7 {
  3047  			if shift >= 64 {
  3048  				return ErrIntOverflowGossip
  3049  			}
  3050  			if iNdEx >= l {
  3051  				return io.ErrUnexpectedEOF
  3052  			}
  3053  			b := dAtA[iNdEx]
  3054  			iNdEx++
  3055  			wire |= (uint64(b) & 0x7F) << shift
  3056  			if b < 0x80 {
  3057  				break
  3058  			}
  3059  		}
  3060  		fieldNum := int32(wire >> 3)
  3061  		wireType := int(wire & 0x7)
  3062  		if wireType == 4 {
  3063  			return fmt.Errorf("proto: Conn: wiretype end group for non-group")
  3064  		}
  3065  		if fieldNum <= 0 {
  3066  			return fmt.Errorf("proto: Conn: illegal tag %d (wire type %d)", fieldNum, wire)
  3067  		}
  3068  		switch fieldNum {
  3069  		case 1:
  3070  			if wireType != 0 {
  3071  				return fmt.Errorf("proto: wrong wireType = %d for field SourceID", wireType)
  3072  			}
  3073  			m.SourceID = 0
  3074  			for shift := uint(0); ; shift += 7 {
  3075  				if shift >= 64 {
  3076  					return ErrIntOverflowGossip
  3077  				}
  3078  				if iNdEx >= l {
  3079  					return io.ErrUnexpectedEOF
  3080  				}
  3081  				b := dAtA[iNdEx]
  3082  				iNdEx++
  3083  				m.SourceID |= (github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(b) & 0x7F) << shift
  3084  				if b < 0x80 {
  3085  					break
  3086  				}
  3087  			}
  3088  		case 2:
  3089  			if wireType != 0 {
  3090  				return fmt.Errorf("proto: wrong wireType = %d for field TargetID", wireType)
  3091  			}
  3092  			m.TargetID = 0
  3093  			for shift := uint(0); ; shift += 7 {
  3094  				if shift >= 64 {
  3095  					return ErrIntOverflowGossip
  3096  				}
  3097  				if iNdEx >= l {
  3098  					return io.ErrUnexpectedEOF
  3099  				}
  3100  				b := dAtA[iNdEx]
  3101  				iNdEx++
  3102  				m.TargetID |= (github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(b) & 0x7F) << shift
  3103  				if b < 0x80 {
  3104  					break
  3105  				}
  3106  			}
  3107  		default:
  3108  			iNdEx = preIndex
  3109  			skippy, err := skipGossip(dAtA[iNdEx:])
  3110  			if err != nil {
  3111  				return err
  3112  			}
  3113  			if skippy < 0 {
  3114  				return ErrInvalidLengthGossip
  3115  			}
  3116  			if (iNdEx + skippy) > l {
  3117  				return io.ErrUnexpectedEOF
  3118  			}
  3119  			iNdEx += skippy
  3120  		}
  3121  	}
  3122  
  3123  	if iNdEx > l {
  3124  		return io.ErrUnexpectedEOF
  3125  	}
  3126  	return nil
  3127  }
  3128  func (m *InfoStatus) Unmarshal(dAtA []byte) error {
  3129  	l := len(dAtA)
  3130  	iNdEx := 0
  3131  	for iNdEx < l {
  3132  		preIndex := iNdEx
  3133  		var wire uint64
  3134  		for shift := uint(0); ; shift += 7 {
  3135  			if shift >= 64 {
  3136  				return ErrIntOverflowGossip
  3137  			}
  3138  			if iNdEx >= l {
  3139  				return io.ErrUnexpectedEOF
  3140  			}
  3141  			b := dAtA[iNdEx]
  3142  			iNdEx++
  3143  			wire |= (uint64(b) & 0x7F) << shift
  3144  			if b < 0x80 {
  3145  				break
  3146  			}
  3147  		}
  3148  		fieldNum := int32(wire >> 3)
  3149  		wireType := int(wire & 0x7)
  3150  		if wireType == 4 {
  3151  			return fmt.Errorf("proto: InfoStatus: wiretype end group for non-group")
  3152  		}
  3153  		if fieldNum <= 0 {
  3154  			return fmt.Errorf("proto: InfoStatus: illegal tag %d (wire type %d)", fieldNum, wire)
  3155  		}
  3156  		switch fieldNum {
  3157  		case 1:
  3158  			if wireType != 2 {
  3159  				return fmt.Errorf("proto: wrong wireType = %d for field Infos", wireType)
  3160  			}
  3161  			var msglen int
  3162  			for shift := uint(0); ; shift += 7 {
  3163  				if shift >= 64 {
  3164  					return ErrIntOverflowGossip
  3165  				}
  3166  				if iNdEx >= l {
  3167  					return io.ErrUnexpectedEOF
  3168  				}
  3169  				b := dAtA[iNdEx]
  3170  				iNdEx++
  3171  				msglen |= (int(b) & 0x7F) << shift
  3172  				if b < 0x80 {
  3173  					break
  3174  				}
  3175  			}
  3176  			if msglen < 0 {
  3177  				return ErrInvalidLengthGossip
  3178  			}
  3179  			postIndex := iNdEx + msglen
  3180  			if postIndex > l {
  3181  				return io.ErrUnexpectedEOF
  3182  			}
  3183  			if m.Infos == nil {
  3184  				m.Infos = make(map[string]Info)
  3185  			}
  3186  			var mapkey string
  3187  			mapvalue := &Info{}
  3188  			for iNdEx < postIndex {
  3189  				entryPreIndex := iNdEx
  3190  				var wire uint64
  3191  				for shift := uint(0); ; shift += 7 {
  3192  					if shift >= 64 {
  3193  						return ErrIntOverflowGossip
  3194  					}
  3195  					if iNdEx >= l {
  3196  						return io.ErrUnexpectedEOF
  3197  					}
  3198  					b := dAtA[iNdEx]
  3199  					iNdEx++
  3200  					wire |= (uint64(b) & 0x7F) << shift
  3201  					if b < 0x80 {
  3202  						break
  3203  					}
  3204  				}
  3205  				fieldNum := int32(wire >> 3)
  3206  				if fieldNum == 1 {
  3207  					var stringLenmapkey uint64
  3208  					for shift := uint(0); ; shift += 7 {
  3209  						if shift >= 64 {
  3210  							return ErrIntOverflowGossip
  3211  						}
  3212  						if iNdEx >= l {
  3213  							return io.ErrUnexpectedEOF
  3214  						}
  3215  						b := dAtA[iNdEx]
  3216  						iNdEx++
  3217  						stringLenmapkey |= (uint64(b) & 0x7F) << shift
  3218  						if b < 0x80 {
  3219  							break
  3220  						}
  3221  					}
  3222  					intStringLenmapkey := int(stringLenmapkey)
  3223  					if intStringLenmapkey < 0 {
  3224  						return ErrInvalidLengthGossip
  3225  					}
  3226  					postStringIndexmapkey := iNdEx + intStringLenmapkey
  3227  					if postStringIndexmapkey > l {
  3228  						return io.ErrUnexpectedEOF
  3229  					}
  3230  					mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  3231  					iNdEx = postStringIndexmapkey
  3232  				} else if fieldNum == 2 {
  3233  					var mapmsglen int
  3234  					for shift := uint(0); ; shift += 7 {
  3235  						if shift >= 64 {
  3236  							return ErrIntOverflowGossip
  3237  						}
  3238  						if iNdEx >= l {
  3239  							return io.ErrUnexpectedEOF
  3240  						}
  3241  						b := dAtA[iNdEx]
  3242  						iNdEx++
  3243  						mapmsglen |= (int(b) & 0x7F) << shift
  3244  						if b < 0x80 {
  3245  							break
  3246  						}
  3247  					}
  3248  					if mapmsglen < 0 {
  3249  						return ErrInvalidLengthGossip
  3250  					}
  3251  					postmsgIndex := iNdEx + mapmsglen
  3252  					if mapmsglen < 0 {
  3253  						return ErrInvalidLengthGossip
  3254  					}
  3255  					if postmsgIndex > l {
  3256  						return io.ErrUnexpectedEOF
  3257  					}
  3258  					mapvalue = &Info{}
  3259  					if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
  3260  						return err
  3261  					}
  3262  					iNdEx = postmsgIndex
  3263  				} else {
  3264  					iNdEx = entryPreIndex
  3265  					skippy, err := skipGossip(dAtA[iNdEx:])
  3266  					if err != nil {
  3267  						return err
  3268  					}
  3269  					if skippy < 0 {
  3270  						return ErrInvalidLengthGossip
  3271  					}
  3272  					if (iNdEx + skippy) > postIndex {
  3273  						return io.ErrUnexpectedEOF
  3274  					}
  3275  					iNdEx += skippy
  3276  				}
  3277  			}
  3278  			m.Infos[mapkey] = *mapvalue
  3279  			iNdEx = postIndex
  3280  		case 2:
  3281  			if wireType != 2 {
  3282  				return fmt.Errorf("proto: wrong wireType = %d for field Client", wireType)
  3283  			}
  3284  			var msglen int
  3285  			for shift := uint(0); ; shift += 7 {
  3286  				if shift >= 64 {
  3287  					return ErrIntOverflowGossip
  3288  				}
  3289  				if iNdEx >= l {
  3290  					return io.ErrUnexpectedEOF
  3291  				}
  3292  				b := dAtA[iNdEx]
  3293  				iNdEx++
  3294  				msglen |= (int(b) & 0x7F) << shift
  3295  				if b < 0x80 {
  3296  					break
  3297  				}
  3298  			}
  3299  			if msglen < 0 {
  3300  				return ErrInvalidLengthGossip
  3301  			}
  3302  			postIndex := iNdEx + msglen
  3303  			if postIndex > l {
  3304  				return io.ErrUnexpectedEOF
  3305  			}
  3306  			if err := m.Client.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3307  				return err
  3308  			}
  3309  			iNdEx = postIndex
  3310  		case 3:
  3311  			if wireType != 2 {
  3312  				return fmt.Errorf("proto: wrong wireType = %d for field Server", wireType)
  3313  			}
  3314  			var msglen int
  3315  			for shift := uint(0); ; shift += 7 {
  3316  				if shift >= 64 {
  3317  					return ErrIntOverflowGossip
  3318  				}
  3319  				if iNdEx >= l {
  3320  					return io.ErrUnexpectedEOF
  3321  				}
  3322  				b := dAtA[iNdEx]
  3323  				iNdEx++
  3324  				msglen |= (int(b) & 0x7F) << shift
  3325  				if b < 0x80 {
  3326  					break
  3327  				}
  3328  			}
  3329  			if msglen < 0 {
  3330  				return ErrInvalidLengthGossip
  3331  			}
  3332  			postIndex := iNdEx + msglen
  3333  			if postIndex > l {
  3334  				return io.ErrUnexpectedEOF
  3335  			}
  3336  			if err := m.Server.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3337  				return err
  3338  			}
  3339  			iNdEx = postIndex
  3340  		case 4:
  3341  			if wireType != 2 {
  3342  				return fmt.Errorf("proto: wrong wireType = %d for field Connectivity", wireType)
  3343  			}
  3344  			var msglen int
  3345  			for shift := uint(0); ; shift += 7 {
  3346  				if shift >= 64 {
  3347  					return ErrIntOverflowGossip
  3348  				}
  3349  				if iNdEx >= l {
  3350  					return io.ErrUnexpectedEOF
  3351  				}
  3352  				b := dAtA[iNdEx]
  3353  				iNdEx++
  3354  				msglen |= (int(b) & 0x7F) << shift
  3355  				if b < 0x80 {
  3356  					break
  3357  				}
  3358  			}
  3359  			if msglen < 0 {
  3360  				return ErrInvalidLengthGossip
  3361  			}
  3362  			postIndex := iNdEx + msglen
  3363  			if postIndex > l {
  3364  				return io.ErrUnexpectedEOF
  3365  			}
  3366  			if err := m.Connectivity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3367  				return err
  3368  			}
  3369  			iNdEx = postIndex
  3370  		default:
  3371  			iNdEx = preIndex
  3372  			skippy, err := skipGossip(dAtA[iNdEx:])
  3373  			if err != nil {
  3374  				return err
  3375  			}
  3376  			if skippy < 0 {
  3377  				return ErrInvalidLengthGossip
  3378  			}
  3379  			if (iNdEx + skippy) > l {
  3380  				return io.ErrUnexpectedEOF
  3381  			}
  3382  			iNdEx += skippy
  3383  		}
  3384  	}
  3385  
  3386  	if iNdEx > l {
  3387  		return io.ErrUnexpectedEOF
  3388  	}
  3389  	return nil
  3390  }
  3391  func (m *Info) Unmarshal(dAtA []byte) error {
  3392  	l := len(dAtA)
  3393  	iNdEx := 0
  3394  	for iNdEx < l {
  3395  		preIndex := iNdEx
  3396  		var wire uint64
  3397  		for shift := uint(0); ; shift += 7 {
  3398  			if shift >= 64 {
  3399  				return ErrIntOverflowGossip
  3400  			}
  3401  			if iNdEx >= l {
  3402  				return io.ErrUnexpectedEOF
  3403  			}
  3404  			b := dAtA[iNdEx]
  3405  			iNdEx++
  3406  			wire |= (uint64(b) & 0x7F) << shift
  3407  			if b < 0x80 {
  3408  				break
  3409  			}
  3410  		}
  3411  		fieldNum := int32(wire >> 3)
  3412  		wireType := int(wire & 0x7)
  3413  		if wireType == 4 {
  3414  			return fmt.Errorf("proto: Info: wiretype end group for non-group")
  3415  		}
  3416  		if fieldNum <= 0 {
  3417  			return fmt.Errorf("proto: Info: illegal tag %d (wire type %d)", fieldNum, wire)
  3418  		}
  3419  		switch fieldNum {
  3420  		case 1:
  3421  			if wireType != 2 {
  3422  				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
  3423  			}
  3424  			var msglen int
  3425  			for shift := uint(0); ; shift += 7 {
  3426  				if shift >= 64 {
  3427  					return ErrIntOverflowGossip
  3428  				}
  3429  				if iNdEx >= l {
  3430  					return io.ErrUnexpectedEOF
  3431  				}
  3432  				b := dAtA[iNdEx]
  3433  				iNdEx++
  3434  				msglen |= (int(b) & 0x7F) << shift
  3435  				if b < 0x80 {
  3436  					break
  3437  				}
  3438  			}
  3439  			if msglen < 0 {
  3440  				return ErrInvalidLengthGossip
  3441  			}
  3442  			postIndex := iNdEx + msglen
  3443  			if postIndex > l {
  3444  				return io.ErrUnexpectedEOF
  3445  			}
  3446  			if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3447  				return err
  3448  			}
  3449  			iNdEx = postIndex
  3450  		case 2:
  3451  			if wireType != 0 {
  3452  				return fmt.Errorf("proto: wrong wireType = %d for field OrigStamp", wireType)
  3453  			}
  3454  			m.OrigStamp = 0
  3455  			for shift := uint(0); ; shift += 7 {
  3456  				if shift >= 64 {
  3457  					return ErrIntOverflowGossip
  3458  				}
  3459  				if iNdEx >= l {
  3460  					return io.ErrUnexpectedEOF
  3461  				}
  3462  				b := dAtA[iNdEx]
  3463  				iNdEx++
  3464  				m.OrigStamp |= (int64(b) & 0x7F) << shift
  3465  				if b < 0x80 {
  3466  					break
  3467  				}
  3468  			}
  3469  		case 3:
  3470  			if wireType != 0 {
  3471  				return fmt.Errorf("proto: wrong wireType = %d for field TTLStamp", wireType)
  3472  			}
  3473  			m.TTLStamp = 0
  3474  			for shift := uint(0); ; shift += 7 {
  3475  				if shift >= 64 {
  3476  					return ErrIntOverflowGossip
  3477  				}
  3478  				if iNdEx >= l {
  3479  					return io.ErrUnexpectedEOF
  3480  				}
  3481  				b := dAtA[iNdEx]
  3482  				iNdEx++
  3483  				m.TTLStamp |= (int64(b) & 0x7F) << shift
  3484  				if b < 0x80 {
  3485  					break
  3486  				}
  3487  			}
  3488  		case 4:
  3489  			if wireType != 0 {
  3490  				return fmt.Errorf("proto: wrong wireType = %d for field Hops", wireType)
  3491  			}
  3492  			m.Hops = 0
  3493  			for shift := uint(0); ; shift += 7 {
  3494  				if shift >= 64 {
  3495  					return ErrIntOverflowGossip
  3496  				}
  3497  				if iNdEx >= l {
  3498  					return io.ErrUnexpectedEOF
  3499  				}
  3500  				b := dAtA[iNdEx]
  3501  				iNdEx++
  3502  				m.Hops |= (uint32(b) & 0x7F) << shift
  3503  				if b < 0x80 {
  3504  					break
  3505  				}
  3506  			}
  3507  		case 5:
  3508  			if wireType != 0 {
  3509  				return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType)
  3510  			}
  3511  			m.NodeID = 0
  3512  			for shift := uint(0); ; shift += 7 {
  3513  				if shift >= 64 {
  3514  					return ErrIntOverflowGossip
  3515  				}
  3516  				if iNdEx >= l {
  3517  					return io.ErrUnexpectedEOF
  3518  				}
  3519  				b := dAtA[iNdEx]
  3520  				iNdEx++
  3521  				m.NodeID |= (github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(b) & 0x7F) << shift
  3522  				if b < 0x80 {
  3523  					break
  3524  				}
  3525  			}
  3526  		case 6:
  3527  			if wireType != 0 {
  3528  				return fmt.Errorf("proto: wrong wireType = %d for field PeerID", wireType)
  3529  			}
  3530  			m.PeerID = 0
  3531  			for shift := uint(0); ; shift += 7 {
  3532  				if shift >= 64 {
  3533  					return ErrIntOverflowGossip
  3534  				}
  3535  				if iNdEx >= l {
  3536  					return io.ErrUnexpectedEOF
  3537  				}
  3538  				b := dAtA[iNdEx]
  3539  				iNdEx++
  3540  				m.PeerID |= (github_com_cockroachdb_cockroach_pkg_roachpb.NodeID(b) & 0x7F) << shift
  3541  				if b < 0x80 {
  3542  					break
  3543  				}
  3544  			}
  3545  		default:
  3546  			iNdEx = preIndex
  3547  			skippy, err := skipGossip(dAtA[iNdEx:])
  3548  			if err != nil {
  3549  				return err
  3550  			}
  3551  			if skippy < 0 {
  3552  				return ErrInvalidLengthGossip
  3553  			}
  3554  			if (iNdEx + skippy) > l {
  3555  				return io.ErrUnexpectedEOF
  3556  			}
  3557  			iNdEx += skippy
  3558  		}
  3559  	}
  3560  
  3561  	if iNdEx > l {
  3562  		return io.ErrUnexpectedEOF
  3563  	}
  3564  	return nil
  3565  }
  3566  func skipGossip(dAtA []byte) (n int, err error) {
  3567  	l := len(dAtA)
  3568  	iNdEx := 0
  3569  	for iNdEx < l {
  3570  		var wire uint64
  3571  		for shift := uint(0); ; shift += 7 {
  3572  			if shift >= 64 {
  3573  				return 0, ErrIntOverflowGossip
  3574  			}
  3575  			if iNdEx >= l {
  3576  				return 0, io.ErrUnexpectedEOF
  3577  			}
  3578  			b := dAtA[iNdEx]
  3579  			iNdEx++
  3580  			wire |= (uint64(b) & 0x7F) << shift
  3581  			if b < 0x80 {
  3582  				break
  3583  			}
  3584  		}
  3585  		wireType := int(wire & 0x7)
  3586  		switch wireType {
  3587  		case 0:
  3588  			for shift := uint(0); ; shift += 7 {
  3589  				if shift >= 64 {
  3590  					return 0, ErrIntOverflowGossip
  3591  				}
  3592  				if iNdEx >= l {
  3593  					return 0, io.ErrUnexpectedEOF
  3594  				}
  3595  				iNdEx++
  3596  				if dAtA[iNdEx-1] < 0x80 {
  3597  					break
  3598  				}
  3599  			}
  3600  			return iNdEx, nil
  3601  		case 1:
  3602  			iNdEx += 8
  3603  			return iNdEx, nil
  3604  		case 2:
  3605  			var length int
  3606  			for shift := uint(0); ; shift += 7 {
  3607  				if shift >= 64 {
  3608  					return 0, ErrIntOverflowGossip
  3609  				}
  3610  				if iNdEx >= l {
  3611  					return 0, io.ErrUnexpectedEOF
  3612  				}
  3613  				b := dAtA[iNdEx]
  3614  				iNdEx++
  3615  				length |= (int(b) & 0x7F) << shift
  3616  				if b < 0x80 {
  3617  					break
  3618  				}
  3619  			}
  3620  			iNdEx += length
  3621  			if length < 0 {
  3622  				return 0, ErrInvalidLengthGossip
  3623  			}
  3624  			return iNdEx, nil
  3625  		case 3:
  3626  			for {
  3627  				var innerWire uint64
  3628  				var start int = iNdEx
  3629  				for shift := uint(0); ; shift += 7 {
  3630  					if shift >= 64 {
  3631  						return 0, ErrIntOverflowGossip
  3632  					}
  3633  					if iNdEx >= l {
  3634  						return 0, io.ErrUnexpectedEOF
  3635  					}
  3636  					b := dAtA[iNdEx]
  3637  					iNdEx++
  3638  					innerWire |= (uint64(b) & 0x7F) << shift
  3639  					if b < 0x80 {
  3640  						break
  3641  					}
  3642  				}
  3643  				innerWireType := int(innerWire & 0x7)
  3644  				if innerWireType == 4 {
  3645  					break
  3646  				}
  3647  				next, err := skipGossip(dAtA[start:])
  3648  				if err != nil {
  3649  					return 0, err
  3650  				}
  3651  				iNdEx = start + next
  3652  			}
  3653  			return iNdEx, nil
  3654  		case 4:
  3655  			return iNdEx, nil
  3656  		case 5:
  3657  			iNdEx += 4
  3658  			return iNdEx, nil
  3659  		default:
  3660  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  3661  		}
  3662  	}
  3663  	panic("unreachable")
  3664  }
  3665  
  3666  var (
  3667  	ErrInvalidLengthGossip = fmt.Errorf("proto: negative length found during unmarshaling")
  3668  	ErrIntOverflowGossip   = fmt.Errorf("proto: integer overflow")
  3669  )
  3670  
  3671  func init() { proto.RegisterFile("gossip/gossip.proto", fileDescriptor_gossip_af8c9a20540e5252) }
  3672  
  3673  var fileDescriptor_gossip_af8c9a20540e5252 = []byte{
  3674  	// 1220 bytes of a gzipped FileDescriptorProto
  3675  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xcf, 0x6f, 0x1b, 0x45,
  3676  	0x14, 0xf6, 0xc6, 0x3f, 0xe2, 0x7d, 0x76, 0xd2, 0x76, 0xa8, 0x90, 0x71, 0xa9, 0x1d, 0xb9, 0x54,
  3677  	0x18, 0x09, 0xad, 0x51, 0xca, 0xa1, 0x6a, 0x39, 0x10, 0x27, 0x55, 0x6b, 0x28, 0x6d, 0xb5, 0x6e,
  3678  	0x41, 0xea, 0xc5, 0x6c, 0x76, 0xa7, 0xeb, 0x55, 0xd7, 0xbb, 0x66, 0x67, 0xd6, 0x34, 0x17, 0x0e,
  3679  	0xfc, 0x05, 0x9c, 0xa0, 0x47, 0x0e, 0xf4, 0x7f, 0xe0, 0xce, 0xa5, 0x42, 0x42, 0xaa, 0x38, 0x55,
  3680  	0x1c, 0x0c, 0xb8, 0x27, 0xee, 0x9c, 0x38, 0xa1, 0x79, 0x33, 0xeb, 0xdd, 0x24, 0x4e, 0x15, 0x92,
  3681  	0x54, 0xe2, 0xe4, 0x99, 0x37, 0xef, 0xfb, 0xe6, 0xbd, 0x6f, 0xde, 0x9b, 0x59, 0xc3, 0x6b, 0x6e,
  3682  	0xc8, 0x98, 0x37, 0xee, 0xc8, 0x1f, 0x63, 0x1c, 0x85, 0x3c, 0x24, 0xa7, 0xed, 0xd0, 0x7e, 0x18,
  3683  	0x85, 0x96, 0x3d, 0x34, 0xa4, 0xbd, 0x4e, 0x70, 0x36, 0xde, 0xee, 0x38, 0x16, 0xb7, 0xa4, 0x57,
  3684  	0xbd, 0x16, 0x73, 0xcf, 0xef, 0x0c, 0x7d, 0xbb, 0xc3, 0xbd, 0x11, 0x65, 0xdc, 0x1a, 0x29, 0x7c,
  3685  	0xbd, 0x8e, 0x2b, 0x71, 0x10, 0x51, 0x16, 0xfa, 0x13, 0xea, 0x0c, 0x2c, 0xc7, 0x89, 0xd4, 0xda,
  3686  	0x59, 0x37, 0x74, 0x43, 0x1c, 0x76, 0xc4, 0x48, 0x5a, 0x5b, 0xdf, 0x6a, 0xb0, 0xd2, 0x0d, 0x43,
  3687  	0xce, 0x78, 0x64, 0x8d, 0x7b, 0xc1, 0x83, 0x90, 0x74, 0x41, 0x17, 0x28, 0xca, 0x18, 0x65, 0x35,
  3688  	0x6d, 0x2d, 0xdf, 0xae, 0xac, 0x37, 0x8c, 0x34, 0x2e, 0xb1, 0x83, 0x71, 0x6f, 0xbe, 0xc3, 0x86,
  3689  	0xe3, 0x44, 0xdd, 0xc2, 0xd3, 0x69, 0x33, 0x67, 0xa6, 0x30, 0xb2, 0x01, 0xfa, 0x3c, 0xb4, 0xda,
  3690  	0xd2, 0x9a, 0xd6, 0xae, 0xac, 0x9f, 0xdf, 0xcb, 0x31, 0xf4, 0x6d, 0xe3, 0x6e, 0xe2, 0x94, 0x50,
  3691  	0xcc, 0x51, 0xad, 0xbf, 0x0b, 0xb0, 0x6c, 0xd2, 0x2f, 0x62, 0xca, 0x38, 0xb9, 0x0f, 0xcb, 0x41,
  3692  	0xe8, 0xd0, 0x81, 0xe7, 0xd4, 0xb4, 0x35, 0xad, 0x5d, 0xec, 0x6e, 0xcc, 0xa6, 0xcd, 0xd2, 0xad,
  3693  	0xd0, 0xa1, 0xbd, 0xad, 0x7f, 0xa6, 0xcd, 0x4b, 0xae, 0xc7, 0x87, 0xf1, 0xb6, 0x61, 0x87, 0xa3,
  3694  	0xce, 0x7c, 0x13, 0x67, 0x3b, 0x1d, 0x77, 0xc6, 0x0f, 0xdd, 0x8e, 0x12, 0xd2, 0x90, 0x30, 0xb3,
  3695  	0x24, 0x18, 0x7b, 0x0e, 0xb9, 0x0c, 0x05, 0x11, 0xb7, 0x8a, 0xf2, 0x70, 0x99, 0x22, 0x82, 0x7c,
  3696  	0xa7, 0xc1, 0x99, 0xa1, 0xe7, 0x0e, 0x07, 0x5f, 0x5a, 0x9c, 0x46, 0x03, 0x0c, 0x9b, 0xd5, 0xf2,
  3697  	0xa8, 0x98, 0x61, 0xec, 0x3d, 0x49, 0x43, 0x25, 0x63, 0xdc, 0xf0, 0xdc, 0xe1, 0x67, 0x02, 0xd1,
  3698  	0x47, 0xc0, 0xb5, 0x80, 0x47, 0x3b, 0xdd, 0xab, 0x82, 0xf7, 0xeb, 0xdf, 0x8f, 0x96, 0xca, 0xa9,
  3699  	0xe1, 0x6e, 0x4a, 0x72, 0x05, 0x8a, 0x0e, 0xf5, 0xb9, 0x55, 0x2b, 0x60, 0x30, 0x6f, 0x1d, 0x1c,
  3700  	0xcc, 0x96, 0x70, 0xc3, 0x10, 0x4c, 0x09, 0x21, 0x2e, 0x80, 0xed, 0xc7, 0x4c, 0x64, 0xe4, 0x39,
  3701  	0xb5, 0xe2, 0x9a, 0xd6, 0xae, 0x76, 0x6f, 0x88, 0xe8, 0x7e, 0x3b, 0xac, 0xd0, 0xb2, 0x06, 0x63,
  3702  	0xcf, 0x31, 0xee, 0xdd, 0xeb, 0x6d, 0xcd, 0xa6, 0x4d, 0x7d, 0x53, 0x12, 0xf6, 0xb6, 0x4c, 0x5d,
  3703  	0x71, 0xf7, 0x9c, 0x7a, 0x17, 0xce, 0x2e, 0x92, 0x82, 0x9c, 0x86, 0xfc, 0x43, 0xba, 0x23, 0x0f,
  3704  	0xda, 0x14, 0x43, 0x72, 0x16, 0x8a, 0x13, 0xcb, 0x8f, 0x29, 0x9e, 0x51, 0xde, 0x94, 0x93, 0x2b,
  3705  	0x4b, 0x97, 0xb5, 0xfa, 0x1d, 0x80, 0x34, 0x83, 0x2c, 0x52, 0x97, 0xc8, 0x77, 0xb3, 0xc8, 0xca,
  3706  	0xfa, 0xeb, 0xfb, 0x85, 0x10, 0x25, 0x9f, 0x61, 0x6c, 0xfd, 0x52, 0x84, 0xb2, 0x49, 0xd9, 0x38,
  3707  	0x0c, 0x18, 0xfd, 0x9f, 0xd6, 0xdd, 0x35, 0x58, 0xb5, 0x7c, 0x4e, 0xa3, 0xc0, 0xe2, 0x14, 0x1b,
  3708  	0xbc, 0x96, 0x3f, 0x0c, 0x87, 0xb9, 0x32, 0x47, 0x89, 0x29, 0x99, 0xc0, 0x99, 0x94, 0x26, 0x49,
  3709  	0xb3, 0x80, 0x69, 0x7e, 0x34, 0x9b, 0x36, 0x4f, 0x6d, 0x24, 0x8b, 0xc7, 0xcb, 0xf7, 0x94, 0xb5,
  3710  	0x8b, 0xc7, 0x21, 0x57, 0x93, 0xe2, 0x2c, 0x62, 0x71, 0x5e, 0x5c, 0x54, 0x9c, 0x52, 0xff, 0x05,
  3711  	0xd5, 0xf9, 0x78, 0x61, 0xcf, 0x95, 0x90, 0xa9, 0xf3, 0x12, 0xa6, 0x57, 0xdf, 0x74, 0x27, 0x5f,
  3712  	0x8b, 0x27, 0xd1, 0x21, 0xad, 0x27, 0x1a, 0xc0, 0x66, 0x18, 0x04, 0x7d, 0x6e, 0xf1, 0x98, 0xbd,
  3713  	0xd2, 0x8a, 0xae, 0xc1, 0xb2, 0x7a, 0x01, 0x30, 0x0c, 0xdd, 0x4c, 0xa6, 0xe4, 0x1c, 0xe8, 0x96,
  3714  	0x4b, 0x07, 0x81, 0x15, 0x84, 0x0c, 0x8b, 0x35, 0x6f, 0x96, 0x2d, 0x97, 0xde, 0x12, 0xf3, 0x2b,
  3715  	0x85, 0xc7, 0xdf, 0x37, 0x73, 0xad, 0x9f, 0x34, 0x80, 0x4f, 0x28, 0x8f, 0x3c, 0xbb, 0x1f, 0x58,
  3716  	0x63, 0x72, 0x11, 0x56, 0xb7, 0x77, 0x38, 0x65, 0x83, 0x88, 0xda, 0xd4, 0x9b, 0x50, 0x47, 0x65,
  3717  	0xb6, 0x82, 0x56, 0x53, 0x19, 0xc9, 0x79, 0x00, 0xe9, 0xc6, 0x68, 0xc0, 0x15, 0xb3, 0x8e, 0x96,
  3718  	0x3e, 0x0d, 0xb8, 0x60, 0xf1, 0x82, 0x07, 0x61, 0x86, 0xa5, 0x20, 0x59, 0xd0, 0x9a, 0x65, 0x91,
  3719  	0x6e, 0xc8, 0x52, 0x94, 0x2c, 0x68, 0x41, 0x96, 0x0b, 0xb0, 0x62, 0x87, 0x41, 0x20, 0x58, 0x1e,
  3720  	0xc4, 0x8c, 0x3a, 0xb5, 0x12, 0x7a, 0x54, 0xd1, 0x68, 0x4a, 0x9b, 0xca, 0xe2, 0x89, 0x06, 0xe4,
  3721  	0x76, 0xcc, 0xdd, 0xd0, 0x0b, 0xdc, 0x8c, 0xea, 0xd7, 0xa1, 0x22, 0x9c, 0x45, 0xb9, 0xf2, 0x98,
  3722  	0xa1, 0xf2, 0x95, 0xf5, 0x37, 0xf7, 0x17, 0x40, 0x0a, 0xe9, 0x96, 0x45, 0x6d, 0x3e, 0x9b, 0x36,
  3723  	0x35, 0x13, 0xec, 0x94, 0xe8, 0x43, 0x58, 0x1e, 0xa1, 0x48, 0x4c, 0x55, 0xd1, 0x02, 0x92, 0x54,
  3724  	0xc5, 0x0c, 0x49, 0x02, 0x53, 0x71, 0x7e, 0x05, 0xd5, 0x4d, 0xdf, 0xa3, 0x01, 0x57, 0xbc, 0x1f,
  3725  	0xef, 0x0d, 0xf0, 0x80, 0x67, 0x63, 0x7f, 0x6e, 0xea, 0x66, 0xca, 0x06, 0x79, 0x0e, 0xf4, 0x91,
  3726  	0xf5, 0x68, 0x80, 0xf2, 0x60, 0x98, 0x45, 0xb3, 0x3c, 0xb2, 0x1e, 0x09, 0x4c, 0xb2, 0xff, 0x8f,
  3727  	0x1a, 0x54, 0xfb, 0x34, 0x9a, 0x60, 0x5d, 0x0b, 0xcc, 0xe6, 0xa2, 0x00, 0x5e, 0xae, 0xd0, 0x7f,
  3728  	0xdb, 0x38, 0x2b, 0x5d, 0xfe, 0x38, 0xd2, 0xfd, 0x90, 0x87, 0xaa, 0x60, 0xa4, 0x36, 0xf7, 0x26,
  3729  	0x1e, 0xdf, 0x21, 0x0c, 0x4e, 0x8b, 0xba, 0xf1, 0x02, 0xea, 0x0f, 0x76, 0xf7, 0x56, 0x6f, 0x36,
  3730  	0x6d, 0xae, 0xf6, 0xd5, 0xda, 0xf1, 0x7a, 0x6c, 0x95, 0x65, 0x69, 0x1c, 0x72, 0x13, 0xaa, 0x36,
  3731  	0x1e, 0xe0, 0x3c, 0x5b, 0x21, 0xd8, 0x85, 0xc5, 0x82, 0x25, 0xa1, 0xe2, 0x44, 0xe9, 0x56, 0x91,
  3732  	0x70, 0xd4, 0xa6, 0xfe, 0xb3, 0x06, 0x05, 0x31, 0x22, 0x9f, 0x83, 0xce, 0xc2, 0x38, 0xb2, 0x33,
  3733  	0x49, 0x6c, 0xce, 0xa6, 0xcd, 0x72, 0x1f, 0x8d, 0x47, 0x0f, 0xbf, 0x2c, 0x59, 0x7b, 0x8e, 0xd8,
  3734  	0x81, 0x5b, 0x91, 0x4b, 0xb9, 0xd8, 0x61, 0x29, 0xdd, 0xe1, 0x2e, 0x1a, 0x8f, 0xb1, 0x83, 0x64,
  3735  	0xed, 0x25, 0x9d, 0xf8, 0xd7, 0x12, 0x80, 0xb8, 0x4f, 0xe7, 0xf5, 0x55, 0xc4, 0x86, 0x56, 0x95,
  3736  	0xf5, 0xf6, 0xe2, 0xcb, 0x57, 0x3a, 0xe3, 0x50, 0x3d, 0x11, 0x52, 0x2c, 0x89, 0x25, 0x1f, 0x40,
  3737  	0x49, 0xaa, 0xb6, 0xe0, 0xd1, 0x4e, 0xe4, 0xce, 0x74, 0x95, 0x02, 0x2b, 0x8c, 0x40, 0x33, 0x2c,
  3738  	0xf9, 0x05, 0xcf, 0xb5, 0x42, 0x67, 0x5b, 0x22, 0x41, 0x4b, 0x0c, 0xb9, 0x01, 0x78, 0xdf, 0x24,
  3739  	0x47, 0x89, 0x17, 0xd9, 0xe2, 0x08, 0x32, 0x5e, 0x8a, 0x63, 0x17, 0x52, 0xbc, 0x53, 0x69, 0x82,
  3740  	0x27, 0xf2, 0xcd, 0xf4, 0xeb, 0x12, 0x14, 0xf0, 0xaf, 0xc3, 0xfb, 0x09, 0x54, 0xde, 0x70, 0xb5,
  3741  	0x0c, 0x34, 0x39, 0xae, 0x4f, 0xc5, 0x7a, 0x22, 0x2b, 0x3a, 0x8b, 0xeb, 0x37, 0x8c, 0x3c, 0x77,
  3742  	0x90, 0xfe, 0x5b, 0xc8, 0x9b, 0xba, 0xb0, 0xe0, 0x9b, 0x47, 0xde, 0x01, 0x9d, 0x73, 0x5f, 0xad,
  3743  	0xe2, 0x15, 0xdf, 0xad, 0x62, 0xc5, 0xdc, 0xbd, 0x89, 0x0e, 0x66, 0x99, 0x73, 0x5f, 0xba, 0x12,
  3744  	0x28, 0x0c, 0xc3, 0x31, 0x43, 0x71, 0x56, 0x4c, 0x1c, 0x67, 0x5f, 0xbc, 0xe2, 0x49, 0xbf, 0x78,
  3745  	0xf7, 0x61, 0x79, 0x4c, 0xe5, 0x87, 0x72, 0x29, 0xe5, 0xbe, 0x43, 0xc5, 0xa7, 0xee, 0x91, 0xb9,
  3746  	0x05, 0x63, 0xcf, 0x59, 0xbf, 0x0d, 0xa5, 0xeb, 0x28, 0x37, 0xb9, 0x36, 0x1f, 0xbd, 0x71, 0xe0,
  3747  	0x87, 0x7c, 0xbd, 0x7e, 0xf0, 0xc7, 0x4f, 0x2b, 0xd7, 0xd6, 0xde, 0xd3, 0xba, 0xed, 0xa7, 0x7f,
  3748  	0x36, 0x72, 0x4f, 0x67, 0x0d, 0xed, 0xd9, 0xac, 0xa1, 0x3d, 0x9f, 0x35, 0xb4, 0x3f, 0x66, 0x0d,
  3749  	0xed, 0x9b, 0x17, 0x8d, 0xdc, 0xb3, 0x17, 0x8d, 0xdc, 0xf3, 0x17, 0x8d, 0xdc, 0xfd, 0x92, 0x04,
  3750  	0x6e, 0x97, 0xf0, 0xaf, 0xe1, 0xa5, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x31, 0x0f, 0x39, 0xe4,
  3751  	0xa3, 0x0e, 0x00, 0x00,
  3752  }