github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/roachpb/metadata.pb.go (about) 1 // Code generated by protoc-gen-gogo. DO NOT EDIT. 2 // source: roachpb/metadata.proto 3 4 package roachpb 5 6 import proto "github.com/gogo/protobuf/proto" 7 import fmt "fmt" 8 import math "math" 9 import util "github.com/cockroachdb/cockroach/pkg/util" 10 import hlc "github.com/cockroachdb/cockroach/pkg/util/hlc" 11 12 import bytes "bytes" 13 14 import encoding_binary "encoding/binary" 15 16 import io "io" 17 18 // Reference imports to suppress errors if they are not otherwise used. 19 var _ = proto.Marshal 20 var _ = fmt.Errorf 21 var _ = math.Inf 22 23 // This is a compile-time assertion to ensure that this generated file 24 // is compatible with the proto package it is being compiled against. 25 // A compilation error at this line likely means your copy of the 26 // proto package needs to be updated. 27 const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package 28 29 // ReplicaType identifies which raft activities a replica participates in. In 30 // normal operation, VOTER_FULL and LEARNER are the only used states. However, 31 // atomic replication changes require a transition through a "joint config"; in 32 // this joint config, the VOTER_DEMOTING and VOTER_INCOMING types are used as 33 // well to denote voters which are being downgraded to learners and newly added 34 // by the change, respectively. A demoting voter is turning into a learner, 35 // which we prefer over a direct removal, which was used prior to v20.1 and 36 // uses the VOTER_OUTGOING type instead (see VersionChangeReplicasDemotion for 37 // details on why we're not doing that any more). 38 // 39 // All voter types indicate a replica that participates in all raft activities, 40 // including voting for leadership and committing entries. Typically, this 41 // requires a majority of voters to reach a decision. In a joint config, two 42 // separate majorities are required: one from the set of replicas that have 43 // either type VOTER or VOTER_OUTOING or VOTER_DEMOTING, as well as that of the 44 // set of types VOTER and VOTER_INCOMING . For example, when type VOTER_FULL is 45 // assigned to replicas 1 and 2, while 3 is VOTER_OUTGOING and 4 is 46 // VOTER_INCOMING, then the two sets over which quorums need to be achieved are 47 // {1,2,3} and {1,2,4}. Thus, {1,2} is a quorum of both, {1,3} is a quorum of 48 // the first but not the second, {1,4} is a quorum of the second but not the 49 // first, and {3,4} is a quorum of neither. 50 type ReplicaType int32 51 52 const ( 53 // VOTER_FULL indicates a replica that is a voter both in the 54 // incoming and outgoing set. 55 VOTER_FULL ReplicaType = 0 56 // VOTER_INCOMING indicates a voting replica that will be a 57 // VOTER_FULL once the ongoing atomic replication change is finalized; that is, 58 // it is in the process of being added. In practice, this replica type should 59 // be treated like a VOTER_FULL. 60 VOTER_INCOMING ReplicaType = 2 61 // VOTER_OUTGOING indicates a voting replica that will not be part 62 // of the descriptor once the ongoing atomic replication change is finalized; 63 // that is, it is in the process of being removed. In practice, a replica of 64 // this type should be treated accordingly and no work should be assigned to 65 // it. 66 VOTER_OUTGOING ReplicaType = 3 67 // VOTER_DEMOTING indicates a voting replica that will become a learner once 68 // the ongoing atomic replication change is finalized; that is, it is in the 69 // process of being demoted. Since learners are currently short-lived, this 70 // replica is really being removed, with an intermediate step, and no work 71 // should be assigned to it. 72 VOTER_DEMOTING ReplicaType = 4 73 // LEARNER indicates a replica that applies committed entries, but does not 74 // count towards the quorum(s). Candidates will not ask for (or take into 75 // account) votes of (peers they consider) LEARNERs for leadership nor do 76 // their acknowledged log entries get taken into account for determining the 77 // committed index. At the time of writing, learners in CockroachDB are a 78 // short-term transient state: a replica being added and on its way to being a 79 // VOTER_{FULL,INCOMING}, or a VOTER_DEMOTING being removed. 80 LEARNER ReplicaType = 1 81 ) 82 83 var ReplicaType_name = map[int32]string{ 84 0: "VOTER_FULL", 85 2: "VOTER_INCOMING", 86 3: "VOTER_OUTGOING", 87 4: "VOTER_DEMOTING", 88 1: "LEARNER", 89 } 90 var ReplicaType_value = map[string]int32{ 91 "VOTER_FULL": 0, 92 "VOTER_INCOMING": 2, 93 "VOTER_OUTGOING": 3, 94 "VOTER_DEMOTING": 4, 95 "LEARNER": 1, 96 } 97 98 func (x ReplicaType) Enum() *ReplicaType { 99 p := new(ReplicaType) 100 *p = x 101 return p 102 } 103 func (x ReplicaType) String() string { 104 return proto.EnumName(ReplicaType_name, int32(x)) 105 } 106 func (x *ReplicaType) UnmarshalJSON(data []byte) error { 107 value, err := proto.UnmarshalJSONEnum(ReplicaType_value, data, "ReplicaType") 108 if err != nil { 109 return err 110 } 111 *x = ReplicaType(value) 112 return nil 113 } 114 func (ReplicaType) EnumDescriptor() ([]byte, []int) { 115 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{0} 116 } 117 118 // Attributes specifies a list of arbitrary strings describing 119 // node topology, store type, and machine capabilities. 120 type Attributes struct { 121 Attrs []string `protobuf:"bytes,1,rep,name=attrs" json:"attrs,omitempty" yaml:"attrs,flow"` 122 } 123 124 func (m *Attributes) Reset() { *m = Attributes{} } 125 func (*Attributes) ProtoMessage() {} 126 func (*Attributes) Descriptor() ([]byte, []int) { 127 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{0} 128 } 129 func (m *Attributes) XXX_Unmarshal(b []byte) error { 130 return m.Unmarshal(b) 131 } 132 func (m *Attributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 133 b = b[:cap(b)] 134 n, err := m.MarshalTo(b) 135 if err != nil { 136 return nil, err 137 } 138 return b[:n], nil 139 } 140 func (dst *Attributes) XXX_Merge(src proto.Message) { 141 xxx_messageInfo_Attributes.Merge(dst, src) 142 } 143 func (m *Attributes) XXX_Size() int { 144 return m.Size() 145 } 146 func (m *Attributes) XXX_DiscardUnknown() { 147 xxx_messageInfo_Attributes.DiscardUnknown(m) 148 } 149 150 var xxx_messageInfo_Attributes proto.InternalMessageInfo 151 152 // ReplicationTarget identifies a node/store pair. 153 type ReplicationTarget struct { 154 NodeID NodeID `protobuf:"varint,1,opt,name=node_id,json=nodeId,casttype=NodeID" json:"node_id"` 155 StoreID StoreID `protobuf:"varint,2,opt,name=store_id,json=storeId,casttype=StoreID" json:"store_id"` 156 } 157 158 func (m *ReplicationTarget) Reset() { *m = ReplicationTarget{} } 159 func (*ReplicationTarget) ProtoMessage() {} 160 func (*ReplicationTarget) Descriptor() ([]byte, []int) { 161 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{1} 162 } 163 func (m *ReplicationTarget) XXX_Unmarshal(b []byte) error { 164 return m.Unmarshal(b) 165 } 166 func (m *ReplicationTarget) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 167 b = b[:cap(b)] 168 n, err := m.MarshalTo(b) 169 if err != nil { 170 return nil, err 171 } 172 return b[:n], nil 173 } 174 func (dst *ReplicationTarget) XXX_Merge(src proto.Message) { 175 xxx_messageInfo_ReplicationTarget.Merge(dst, src) 176 } 177 func (m *ReplicationTarget) XXX_Size() int { 178 return m.Size() 179 } 180 func (m *ReplicationTarget) XXX_DiscardUnknown() { 181 xxx_messageInfo_ReplicationTarget.DiscardUnknown(m) 182 } 183 184 var xxx_messageInfo_ReplicationTarget proto.InternalMessageInfo 185 186 // ReplicaDescriptor describes a replica location by node ID 187 // (corresponds to a host:port via lookup on gossip network) and store 188 // ID (identifies the device). 189 // TODO(jeffreyxiao): All nullable fields in ReplicaDescriptor can be made 190 // non-nullable if #38302 is guaranteed to be on all nodes (I.E. 20.1). 191 type ReplicaDescriptor struct { 192 NodeID NodeID `protobuf:"varint,1,opt,name=node_id,json=nodeId,casttype=NodeID" json:"node_id"` 193 StoreID StoreID `protobuf:"varint,2,opt,name=store_id,json=storeId,casttype=StoreID" json:"store_id"` 194 // replica_id uniquely identifies a replica instance. If a range is removed from 195 // a store and then re-added to the same store, the new instance will have a 196 // higher replica_id. 197 ReplicaID ReplicaID `protobuf:"varint,3,opt,name=replica_id,json=replicaId,casttype=ReplicaID" json:"replica_id"` 198 // Type indicates which raft activities a replica participates in. A nil type 199 // is equivalent to VOTER. 200 Type *ReplicaType `protobuf:"varint,4,opt,name=type,enum=cockroach.roachpb.ReplicaType" json:"type,omitempty"` 201 } 202 203 func (m *ReplicaDescriptor) Reset() { *m = ReplicaDescriptor{} } 204 func (*ReplicaDescriptor) ProtoMessage() {} 205 func (*ReplicaDescriptor) Descriptor() ([]byte, []int) { 206 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{2} 207 } 208 func (m *ReplicaDescriptor) XXX_Unmarshal(b []byte) error { 209 return m.Unmarshal(b) 210 } 211 func (m *ReplicaDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 212 b = b[:cap(b)] 213 n, err := m.MarshalTo(b) 214 if err != nil { 215 return nil, err 216 } 217 return b[:n], nil 218 } 219 func (dst *ReplicaDescriptor) XXX_Merge(src proto.Message) { 220 xxx_messageInfo_ReplicaDescriptor.Merge(dst, src) 221 } 222 func (m *ReplicaDescriptor) XXX_Size() int { 223 return m.Size() 224 } 225 func (m *ReplicaDescriptor) XXX_DiscardUnknown() { 226 xxx_messageInfo_ReplicaDescriptor.DiscardUnknown(m) 227 } 228 229 var xxx_messageInfo_ReplicaDescriptor proto.InternalMessageInfo 230 231 // ReplicaIdent uniquely identifies a specific replica. 232 type ReplicaIdent struct { 233 RangeID RangeID `protobuf:"varint,1,opt,name=range_id,json=rangeId,casttype=RangeID" json:"range_id"` 234 Replica ReplicaDescriptor `protobuf:"bytes,2,opt,name=replica" json:"replica"` 235 } 236 237 func (m *ReplicaIdent) Reset() { *m = ReplicaIdent{} } 238 func (m *ReplicaIdent) String() string { return proto.CompactTextString(m) } 239 func (*ReplicaIdent) ProtoMessage() {} 240 func (*ReplicaIdent) Descriptor() ([]byte, []int) { 241 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{3} 242 } 243 func (m *ReplicaIdent) XXX_Unmarshal(b []byte) error { 244 return m.Unmarshal(b) 245 } 246 func (m *ReplicaIdent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 247 b = b[:cap(b)] 248 n, err := m.MarshalTo(b) 249 if err != nil { 250 return nil, err 251 } 252 return b[:n], nil 253 } 254 func (dst *ReplicaIdent) XXX_Merge(src proto.Message) { 255 xxx_messageInfo_ReplicaIdent.Merge(dst, src) 256 } 257 func (m *ReplicaIdent) XXX_Size() int { 258 return m.Size() 259 } 260 func (m *ReplicaIdent) XXX_DiscardUnknown() { 261 xxx_messageInfo_ReplicaIdent.DiscardUnknown(m) 262 } 263 264 var xxx_messageInfo_ReplicaIdent proto.InternalMessageInfo 265 266 // RangeDescriptor is the value stored in a range metadata key. 267 // A range is described using an inclusive start key, a non-inclusive end key, 268 // and a list of replicas where the range is stored. 269 // 270 // NOTE: Care must be taken when changing the encoding of this proto 271 // because it is used as part of conditional put operations. 272 // TODO(jeffreyxiao): All nullable fields in RangeDescriptor can be made 273 // non-nullable if #38302 is guaranteed to be on all nodes (I.E. 20.1). 274 type RangeDescriptor struct { 275 RangeID RangeID `protobuf:"varint,1,opt,name=range_id,json=rangeId,casttype=RangeID" json:"range_id"` 276 // start_key is the first key which may be contained by this range. 277 StartKey RKey `protobuf:"bytes,2,opt,name=start_key,json=startKey,casttype=RKey" json:"start_key,omitempty"` 278 // end_key marks the end of the range's possible keys. EndKey itself is not 279 // contained in this range - it will be contained in the immediately 280 // subsequent range. 281 EndKey RKey `protobuf:"bytes,3,opt,name=end_key,json=endKey,casttype=RKey" json:"end_key,omitempty"` 282 // InternalReplicas is the is the set of nodes/stores on which replicas of 283 // this range are stored. DO NOT USE this field directly, use the `Replicas` 284 // method instead. The ordering is arbitrary and subject to permutation. 285 InternalReplicas []ReplicaDescriptor `protobuf:"bytes,4,rep,name=internal_replicas,json=internalReplicas" json:"internal_replicas"` 286 // next_replica_id is a counter used to generate replica IDs. 287 NextReplicaID ReplicaID `protobuf:"varint,5,opt,name=next_replica_id,json=nextReplicaId,casttype=ReplicaID" json:"next_replica_id"` 288 // generation is incremented on every split, merge, and every replica change, 289 // i.e., whenever the span of the range or replica set changes. It is 290 // initialized to zero when the range is first created. The generation 291 // counter was first introduced to allow the range descriptor resulting from 292 // a split and then merge to be distinguishable from the initial range 293 // descriptor. This is important since changes to the range descriptors use 294 // CPuts to ensure mutual exclusion. 295 // 296 // See #28071 for details on the above. 297 // 298 // Generations are also useful to make local replicaGC decisions when applying 299 // a snapshot on keyspace that has overlapping replicas (but note that we do 300 // not use this at the time of writing due to migration concerns; see below). 301 // 302 // We want to be able to compare the snapshot range's generation counter to 303 // that of the overlapping replicas to draw a conclusion about whether the 304 // snapshot can be applied (in which case the overlapping replicas need to be 305 // safely removable). To that end, on a split, not only do we increment the 306 // left hand side's generation, we also copy the resultant generation to the 307 // newly created right hand side. On merges, we update the left hand side's 308 // generation so that it exceeds by one the maximum of the left hand side and 309 // the right hand side's generations from before the merge. 310 // 311 // If two replicas (perhaps one of them represented by a raft or preemptive 312 // snapshot) as defined by their full range descriptor (including, notably, 313 // the generation) overlap, then one of them has to be stale. This is because 314 // the keyspace cleanly shards into non-overlapping ranges at all times (i.e. 315 // for all consistent snapshots). Since meta ranges (or more generally, range 316 // descriptors) are only ever updated transactionally, mutations to the meta 317 // ranges can be serialized (i.e. put into some sequential ordering). We know 318 // that the descriptors corresponding to both of our replicas can't be from 319 // the same consistent snapshot of the meta ranges, so there is a version of 320 // the meta ranges that includes only the first replica, and there is a 321 // version that includes only the second replica. Without loss of generality, 322 // assume that the first version is "older". This means that there is a finite 323 // sequence of splits and merges that were applied to the consistent snapshot 324 // corresponding to the first version which resulted in the second version of 325 // the meta ranges. 326 // 327 // Each individual operation, thanks to the generational semantics above, has 328 // the invariant that the resulting descriptors have a strictly larger 329 // generation than any descriptors from the previous version that they cover. 330 // For example, if a descriptor [a,c) at generation 5 is split into [a,b) and 331 // [b,c), both of those latter range descriptors have generation 6. If [c,d) 332 // is at generation 12 and [d, f) is at generation 17, then the resulting 333 // merged range [c,f) will have generation 18. 334 // 335 // At the end of the day, for incoming snapshots, this means that we only have 336 // to collect the overlapping replicas and their generations. Any replica with 337 // a smaller generation is stale by the above argument and can be replicaGC'ed 338 // right away. Any replica with a larger generation indicates that the snapshot 339 // is stale and should be discarded. A replica with the same generation is 340 // necessarily a replica of the range the snapshot is addressing (this is the 341 // usual case, in which a snapshot "overlaps" precisely one replica, which is 342 // the replica it's supposed to update, and no splits and merges have taken 343 // place at all). 344 // 345 // For a third note, observe that the generational semantics above may 346 // possibly allow range merges without colocation, at least in the sense that 347 // the counter examples in #28071 are defused. This is because the 348 // generational counter can answer the question whether the overlapping 349 // replica is gc'able or not. If it is not gc'able, then by definition the 350 // replica applying the merge is. 351 Generation int64 `protobuf:"varint,6,opt,name=generation" json:"generation"` 352 // The presence of the sticky_bit indicates that the range should not be 353 // automatically merged by the merge queue with the range to its left. It is 354 // set during a split operation and unset during an unsplit operation. Note 355 // that the unsplit operation is a different operation from the merge 356 // operation. Unsplit only unsets sticky_bit. It is represented by a 357 // timestamp that indicates when it expires. After the expiration time has 358 // passed, the split is eligible for automatic merging. A nil sticky bit is 359 // equivalent to hlc.Timestamp{}. 360 // 361 // The reason the sticky_bit exists is because when the merge queue is 362 // enabled and a manual split happens, the split ranges would immediately be 363 // merged by the merge queue. Previous, we threw an error when a user 364 // attempted to execute ALTER TABLE/INDEX ... SPLIT AT ... when the merge 365 // queue is enabled. With sticky_bit, users can manually split ranges without 366 // diabling the merge queue. 367 StickyBit *hlc.Timestamp `protobuf:"bytes,7,opt,name=sticky_bit,json=stickyBit" json:"sticky_bit,omitempty"` 368 } 369 370 func (m *RangeDescriptor) Reset() { *m = RangeDescriptor{} } 371 func (*RangeDescriptor) ProtoMessage() {} 372 func (*RangeDescriptor) Descriptor() ([]byte, []int) { 373 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{4} 374 } 375 func (m *RangeDescriptor) XXX_Unmarshal(b []byte) error { 376 return m.Unmarshal(b) 377 } 378 func (m *RangeDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 379 b = b[:cap(b)] 380 n, err := m.MarshalTo(b) 381 if err != nil { 382 return nil, err 383 } 384 return b[:n], nil 385 } 386 func (dst *RangeDescriptor) XXX_Merge(src proto.Message) { 387 xxx_messageInfo_RangeDescriptor.Merge(dst, src) 388 } 389 func (m *RangeDescriptor) XXX_Size() int { 390 return m.Size() 391 } 392 func (m *RangeDescriptor) XXX_DiscardUnknown() { 393 xxx_messageInfo_RangeDescriptor.DiscardUnknown(m) 394 } 395 396 var xxx_messageInfo_RangeDescriptor proto.InternalMessageInfo 397 398 // Percentiles contains a handful of hard-coded percentiles meant to summarize 399 // a distribution. 400 type Percentiles struct { 401 P10 float64 `protobuf:"fixed64,1,opt,name=p10" json:"p10"` 402 P25 float64 `protobuf:"fixed64,2,opt,name=p25" json:"p25"` 403 P50 float64 `protobuf:"fixed64,3,opt,name=p50" json:"p50"` 404 P75 float64 `protobuf:"fixed64,4,opt,name=p75" json:"p75"` 405 P90 float64 `protobuf:"fixed64,5,opt,name=p90" json:"p90"` 406 PMax float64 `protobuf:"fixed64,6,opt,name=pMax" json:"pMax"` 407 } 408 409 func (m *Percentiles) Reset() { *m = Percentiles{} } 410 func (*Percentiles) ProtoMessage() {} 411 func (*Percentiles) Descriptor() ([]byte, []int) { 412 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{5} 413 } 414 func (m *Percentiles) XXX_Unmarshal(b []byte) error { 415 return m.Unmarshal(b) 416 } 417 func (m *Percentiles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 418 b = b[:cap(b)] 419 n, err := m.MarshalTo(b) 420 if err != nil { 421 return nil, err 422 } 423 return b[:n], nil 424 } 425 func (dst *Percentiles) XXX_Merge(src proto.Message) { 426 xxx_messageInfo_Percentiles.Merge(dst, src) 427 } 428 func (m *Percentiles) XXX_Size() int { 429 return m.Size() 430 } 431 func (m *Percentiles) XXX_DiscardUnknown() { 432 xxx_messageInfo_Percentiles.DiscardUnknown(m) 433 } 434 435 var xxx_messageInfo_Percentiles proto.InternalMessageInfo 436 437 // StoreCapacity contains capacity information for a storage device. 438 type StoreCapacity struct { 439 // Total capacity of the disk used by the store, including space used by the 440 // operating system and other applications. 441 Capacity int64 `protobuf:"varint,1,opt,name=capacity" json:"capacity"` 442 // Available space remaining on the disk used by the store. 443 Available int64 `protobuf:"varint,2,opt,name=available" json:"available"` 444 // Amount of disk space used by the data in the CockroachDB store. Note that 445 // this is going to be less than (capacity - available), because those two 446 // fields consider the entire disk and everything on it, while this only 447 // tracks the store's disk usage. 448 Used int64 `protobuf:"varint,8,opt,name=used" json:"used"` 449 // Amount of logical bytes stored in the store, ignoring RocksDB space 450 // overhead. Useful for rebalancing so that moving a replica from one store 451 // to another actually removes its bytes from the source store even though 452 // RocksDB may not actually reclaim the physical disk space for a while. 453 LogicalBytes int64 `protobuf:"varint,9,opt,name=logical_bytes,json=logicalBytes" json:"logical_bytes"` 454 RangeCount int32 `protobuf:"varint,3,opt,name=range_count,json=rangeCount" json:"range_count"` 455 LeaseCount int32 `protobuf:"varint,4,opt,name=lease_count,json=leaseCount" json:"lease_count"` 456 // queries_per_second tracks the average number of queries processed per 457 // second by replicas in the store. The stat is tracked over the time period 458 // defined in storage/replica_stats.go, which as of July 2018 is 30 minutes. 459 QueriesPerSecond float64 `protobuf:"fixed64,10,opt,name=queries_per_second,json=queriesPerSecond" json:"queries_per_second"` 460 // writes_per_second tracks the average number of keys written per second 461 // by ranges in the store. The stat is tracked over the time period defined 462 // in storage/replica_stats.go, which as of July 2018 is 30 minutes. 463 WritesPerSecond float64 `protobuf:"fixed64,5,opt,name=writes_per_second,json=writesPerSecond" json:"writes_per_second"` 464 // bytes_per_replica and writes_per_replica contain percentiles for the 465 // number of bytes and writes-per-second to each replica in the store. 466 // This information can be used for rebalancing decisions. 467 BytesPerReplica Percentiles `protobuf:"bytes,6,opt,name=bytes_per_replica,json=bytesPerReplica" json:"bytes_per_replica"` 468 WritesPerReplica Percentiles `protobuf:"bytes,7,opt,name=writes_per_replica,json=writesPerReplica" json:"writes_per_replica"` 469 } 470 471 func (m *StoreCapacity) Reset() { *m = StoreCapacity{} } 472 func (*StoreCapacity) ProtoMessage() {} 473 func (*StoreCapacity) Descriptor() ([]byte, []int) { 474 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{6} 475 } 476 func (m *StoreCapacity) XXX_Unmarshal(b []byte) error { 477 return m.Unmarshal(b) 478 } 479 func (m *StoreCapacity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 480 b = b[:cap(b)] 481 n, err := m.MarshalTo(b) 482 if err != nil { 483 return nil, err 484 } 485 return b[:n], nil 486 } 487 func (dst *StoreCapacity) XXX_Merge(src proto.Message) { 488 xxx_messageInfo_StoreCapacity.Merge(dst, src) 489 } 490 func (m *StoreCapacity) XXX_Size() int { 491 return m.Size() 492 } 493 func (m *StoreCapacity) XXX_DiscardUnknown() { 494 xxx_messageInfo_StoreCapacity.DiscardUnknown(m) 495 } 496 497 var xxx_messageInfo_StoreCapacity proto.InternalMessageInfo 498 499 // NodeDescriptor holds details on node physical/network topology. 500 type NodeDescriptor struct { 501 NodeID NodeID `protobuf:"varint,1,opt,name=node_id,json=nodeId,casttype=NodeID" json:"node_id"` 502 Address util.UnresolvedAddr `protobuf:"bytes,2,opt,name=address" json:"address"` 503 Attrs Attributes `protobuf:"bytes,3,opt,name=attrs" json:"attrs"` 504 Locality Locality `protobuf:"bytes,4,opt,name=locality" json:"locality"` 505 ServerVersion Version `protobuf:"bytes,5,opt,name=ServerVersion" json:"ServerVersion"` 506 BuildTag string `protobuf:"bytes,6,opt,name=build_tag,json=buildTag" json:"build_tag"` 507 StartedAt int64 `protobuf:"varint,7,opt,name=started_at,json=startedAt" json:"started_at"` 508 LocalityAddress []LocalityAddress `protobuf:"bytes,8,rep,name=locality_address,json=localityAddress" json:"locality_address"` 509 ClusterName string `protobuf:"bytes,9,opt,name=cluster_name,json=clusterName" json:"cluster_name"` 510 // The SQL address. If empty, indicates that the base address field 511 // is also used to accept SQL connections. 512 SQLAddress util.UnresolvedAddr `protobuf:"bytes,10,opt,name=sql_address,json=sqlAddress" json:"sql_address"` 513 } 514 515 func (m *NodeDescriptor) Reset() { *m = NodeDescriptor{} } 516 func (m *NodeDescriptor) String() string { return proto.CompactTextString(m) } 517 func (*NodeDescriptor) ProtoMessage() {} 518 func (*NodeDescriptor) Descriptor() ([]byte, []int) { 519 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{7} 520 } 521 func (m *NodeDescriptor) XXX_Unmarshal(b []byte) error { 522 return m.Unmarshal(b) 523 } 524 func (m *NodeDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 525 b = b[:cap(b)] 526 n, err := m.MarshalTo(b) 527 if err != nil { 528 return nil, err 529 } 530 return b[:n], nil 531 } 532 func (dst *NodeDescriptor) XXX_Merge(src proto.Message) { 533 xxx_messageInfo_NodeDescriptor.Merge(dst, src) 534 } 535 func (m *NodeDescriptor) XXX_Size() int { 536 return m.Size() 537 } 538 func (m *NodeDescriptor) XXX_DiscardUnknown() { 539 xxx_messageInfo_NodeDescriptor.DiscardUnknown(m) 540 } 541 542 var xxx_messageInfo_NodeDescriptor proto.InternalMessageInfo 543 544 // LocalityAddress holds the private address accessible only from other nodes 545 // in the corresponding locality. 546 type LocalityAddress struct { 547 Address util.UnresolvedAddr `protobuf:"bytes,1,opt,name=address" json:"address"` 548 LocalityTier Tier `protobuf:"bytes,2,opt,name=locality_tier,json=localityTier" json:"locality_tier"` 549 } 550 551 func (m *LocalityAddress) Reset() { *m = LocalityAddress{} } 552 func (m *LocalityAddress) String() string { return proto.CompactTextString(m) } 553 func (*LocalityAddress) ProtoMessage() {} 554 func (*LocalityAddress) Descriptor() ([]byte, []int) { 555 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{8} 556 } 557 func (m *LocalityAddress) XXX_Unmarshal(b []byte) error { 558 return m.Unmarshal(b) 559 } 560 func (m *LocalityAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 561 b = b[:cap(b)] 562 n, err := m.MarshalTo(b) 563 if err != nil { 564 return nil, err 565 } 566 return b[:n], nil 567 } 568 func (dst *LocalityAddress) XXX_Merge(src proto.Message) { 569 xxx_messageInfo_LocalityAddress.Merge(dst, src) 570 } 571 func (m *LocalityAddress) XXX_Size() int { 572 return m.Size() 573 } 574 func (m *LocalityAddress) XXX_DiscardUnknown() { 575 xxx_messageInfo_LocalityAddress.DiscardUnknown(m) 576 } 577 578 var xxx_messageInfo_LocalityAddress proto.InternalMessageInfo 579 580 // StoreDescriptor holds store information including store attributes, node 581 // descriptor and store capacity. 582 type StoreDescriptor struct { 583 StoreID StoreID `protobuf:"varint,1,opt,name=store_id,json=storeId,casttype=StoreID" json:"store_id"` 584 Attrs Attributes `protobuf:"bytes,2,opt,name=attrs" json:"attrs"` 585 Node NodeDescriptor `protobuf:"bytes,3,opt,name=node" json:"node"` 586 Capacity StoreCapacity `protobuf:"bytes,4,opt,name=capacity" json:"capacity"` 587 } 588 589 func (m *StoreDescriptor) Reset() { *m = StoreDescriptor{} } 590 func (m *StoreDescriptor) String() string { return proto.CompactTextString(m) } 591 func (*StoreDescriptor) ProtoMessage() {} 592 func (*StoreDescriptor) Descriptor() ([]byte, []int) { 593 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{9} 594 } 595 func (m *StoreDescriptor) XXX_Unmarshal(b []byte) error { 596 return m.Unmarshal(b) 597 } 598 func (m *StoreDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 599 b = b[:cap(b)] 600 n, err := m.MarshalTo(b) 601 if err != nil { 602 return nil, err 603 } 604 return b[:n], nil 605 } 606 func (dst *StoreDescriptor) XXX_Merge(src proto.Message) { 607 xxx_messageInfo_StoreDescriptor.Merge(dst, src) 608 } 609 func (m *StoreDescriptor) XXX_Size() int { 610 return m.Size() 611 } 612 func (m *StoreDescriptor) XXX_DiscardUnknown() { 613 xxx_messageInfo_StoreDescriptor.DiscardUnknown(m) 614 } 615 616 var xxx_messageInfo_StoreDescriptor proto.InternalMessageInfo 617 618 // StoreDeadReplicas holds a storeID and a list of dead replicas on that store. 619 // Used to let the range lease holder know about corrupted or otherwise 620 // destroyed replicas that should be transferred to a different store. 621 type StoreDeadReplicas struct { 622 StoreID StoreID `protobuf:"varint,1,opt,name=store_id,json=storeId,casttype=StoreID" json:"store_id"` 623 Replicas []ReplicaIdent `protobuf:"bytes,2,rep,name=replicas" json:"replicas"` 624 } 625 626 func (m *StoreDeadReplicas) Reset() { *m = StoreDeadReplicas{} } 627 func (m *StoreDeadReplicas) String() string { return proto.CompactTextString(m) } 628 func (*StoreDeadReplicas) ProtoMessage() {} 629 func (*StoreDeadReplicas) Descriptor() ([]byte, []int) { 630 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{10} 631 } 632 func (m *StoreDeadReplicas) XXX_Unmarshal(b []byte) error { 633 return m.Unmarshal(b) 634 } 635 func (m *StoreDeadReplicas) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 636 b = b[:cap(b)] 637 n, err := m.MarshalTo(b) 638 if err != nil { 639 return nil, err 640 } 641 return b[:n], nil 642 } 643 func (dst *StoreDeadReplicas) XXX_Merge(src proto.Message) { 644 xxx_messageInfo_StoreDeadReplicas.Merge(dst, src) 645 } 646 func (m *StoreDeadReplicas) XXX_Size() int { 647 return m.Size() 648 } 649 func (m *StoreDeadReplicas) XXX_DiscardUnknown() { 650 xxx_messageInfo_StoreDeadReplicas.DiscardUnknown(m) 651 } 652 653 var xxx_messageInfo_StoreDeadReplicas proto.InternalMessageInfo 654 655 // Locality is an ordered set of key value Tiers that describe a node's 656 // location. The tier keys should be the same across all nodes. 657 type Locality struct { 658 Tiers []Tier `protobuf:"bytes,1,rep,name=tiers" json:"tiers"` 659 } 660 661 func (m *Locality) Reset() { *m = Locality{} } 662 func (*Locality) ProtoMessage() {} 663 func (*Locality) Descriptor() ([]byte, []int) { 664 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{11} 665 } 666 func (m *Locality) XXX_Unmarshal(b []byte) error { 667 return m.Unmarshal(b) 668 } 669 func (m *Locality) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 670 b = b[:cap(b)] 671 n, err := m.MarshalTo(b) 672 if err != nil { 673 return nil, err 674 } 675 return b[:n], nil 676 } 677 func (dst *Locality) XXX_Merge(src proto.Message) { 678 xxx_messageInfo_Locality.Merge(dst, src) 679 } 680 func (m *Locality) XXX_Size() int { 681 return m.Size() 682 } 683 func (m *Locality) XXX_DiscardUnknown() { 684 xxx_messageInfo_Locality.DiscardUnknown(m) 685 } 686 687 var xxx_messageInfo_Locality proto.InternalMessageInfo 688 689 // Tier represents one level of the locality hierarchy. 690 type Tier struct { 691 // Key is the name of tier and should match all other nodes. 692 Key string `protobuf:"bytes,1,opt,name=key" json:"key"` 693 // Value is node specific value corresponding to the key. 694 Value string `protobuf:"bytes,2,opt,name=value" json:"value"` 695 } 696 697 func (m *Tier) Reset() { *m = Tier{} } 698 func (*Tier) ProtoMessage() {} 699 func (*Tier) Descriptor() ([]byte, []int) { 700 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{12} 701 } 702 func (m *Tier) XXX_Unmarshal(b []byte) error { 703 return m.Unmarshal(b) 704 } 705 func (m *Tier) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 706 b = b[:cap(b)] 707 n, err := m.MarshalTo(b) 708 if err != nil { 709 return nil, err 710 } 711 return b[:n], nil 712 } 713 func (dst *Tier) XXX_Merge(src proto.Message) { 714 xxx_messageInfo_Tier.Merge(dst, src) 715 } 716 func (m *Tier) XXX_Size() int { 717 return m.Size() 718 } 719 func (m *Tier) XXX_DiscardUnknown() { 720 xxx_messageInfo_Tier.DiscardUnknown(m) 721 } 722 723 var xxx_messageInfo_Tier proto.InternalMessageInfo 724 725 type Version struct { 726 Major int32 `protobuf:"varint,1,opt,name=major_val,json=majorVal" json:"major_val"` 727 Minor int32 `protobuf:"varint,2,opt,name=minor_val,json=minorVal" json:"minor_val"` 728 // Note that patch is a placeholder and will always be zero. 729 Patch int32 `protobuf:"varint,3,opt,name=patch" json:"patch"` 730 // The unstable version is used to migrate during development. 731 // Users of stable, public releases will only use binaries 732 // with unstable set to 0. 733 Unstable int32 `protobuf:"varint,4,opt,name=unstable" json:"unstable"` 734 } 735 736 func (m *Version) Reset() { *m = Version{} } 737 func (*Version) ProtoMessage() {} 738 func (*Version) Descriptor() ([]byte, []int) { 739 return fileDescriptor_metadata_4d08fb4df4010e8b, []int{13} 740 } 741 func (m *Version) XXX_Unmarshal(b []byte) error { 742 return m.Unmarshal(b) 743 } 744 func (m *Version) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 745 b = b[:cap(b)] 746 n, err := m.MarshalTo(b) 747 if err != nil { 748 return nil, err 749 } 750 return b[:n], nil 751 } 752 func (dst *Version) XXX_Merge(src proto.Message) { 753 xxx_messageInfo_Version.Merge(dst, src) 754 } 755 func (m *Version) XXX_Size() int { 756 return m.Size() 757 } 758 func (m *Version) XXX_DiscardUnknown() { 759 xxx_messageInfo_Version.DiscardUnknown(m) 760 } 761 762 var xxx_messageInfo_Version proto.InternalMessageInfo 763 764 func init() { 765 proto.RegisterType((*Attributes)(nil), "cockroach.roachpb.Attributes") 766 proto.RegisterType((*ReplicationTarget)(nil), "cockroach.roachpb.ReplicationTarget") 767 proto.RegisterType((*ReplicaDescriptor)(nil), "cockroach.roachpb.ReplicaDescriptor") 768 proto.RegisterType((*ReplicaIdent)(nil), "cockroach.roachpb.ReplicaIdent") 769 proto.RegisterType((*RangeDescriptor)(nil), "cockroach.roachpb.RangeDescriptor") 770 proto.RegisterType((*Percentiles)(nil), "cockroach.roachpb.Percentiles") 771 proto.RegisterType((*StoreCapacity)(nil), "cockroach.roachpb.StoreCapacity") 772 proto.RegisterType((*NodeDescriptor)(nil), "cockroach.roachpb.NodeDescriptor") 773 proto.RegisterType((*LocalityAddress)(nil), "cockroach.roachpb.LocalityAddress") 774 proto.RegisterType((*StoreDescriptor)(nil), "cockroach.roachpb.StoreDescriptor") 775 proto.RegisterType((*StoreDeadReplicas)(nil), "cockroach.roachpb.StoreDeadReplicas") 776 proto.RegisterType((*Locality)(nil), "cockroach.roachpb.Locality") 777 proto.RegisterType((*Tier)(nil), "cockroach.roachpb.Tier") 778 proto.RegisterType((*Version)(nil), "cockroach.roachpb.Version") 779 proto.RegisterEnum("cockroach.roachpb.ReplicaType", ReplicaType_name, ReplicaType_value) 780 } 781 func (this *ReplicationTarget) Equal(that interface{}) bool { 782 if that == nil { 783 return this == nil 784 } 785 786 that1, ok := that.(*ReplicationTarget) 787 if !ok { 788 that2, ok := that.(ReplicationTarget) 789 if ok { 790 that1 = &that2 791 } else { 792 return false 793 } 794 } 795 if that1 == nil { 796 return this == nil 797 } else if this == nil { 798 return false 799 } 800 if this.NodeID != that1.NodeID { 801 return false 802 } 803 if this.StoreID != that1.StoreID { 804 return false 805 } 806 return true 807 } 808 func (this *ReplicaDescriptor) Equal(that interface{}) bool { 809 if that == nil { 810 return this == nil 811 } 812 813 that1, ok := that.(*ReplicaDescriptor) 814 if !ok { 815 that2, ok := that.(ReplicaDescriptor) 816 if ok { 817 that1 = &that2 818 } else { 819 return false 820 } 821 } 822 if that1 == nil { 823 return this == nil 824 } else if this == nil { 825 return false 826 } 827 if this.NodeID != that1.NodeID { 828 return false 829 } 830 if this.StoreID != that1.StoreID { 831 return false 832 } 833 if this.ReplicaID != that1.ReplicaID { 834 return false 835 } 836 if this.Type != nil && that1.Type != nil { 837 if *this.Type != *that1.Type { 838 return false 839 } 840 } else if this.Type != nil { 841 return false 842 } else if that1.Type != nil { 843 return false 844 } 845 return true 846 } 847 func (this *RangeDescriptor) Equal(that interface{}) bool { 848 if that == nil { 849 return this == nil 850 } 851 852 that1, ok := that.(*RangeDescriptor) 853 if !ok { 854 that2, ok := that.(RangeDescriptor) 855 if ok { 856 that1 = &that2 857 } else { 858 return false 859 } 860 } 861 if that1 == nil { 862 return this == nil 863 } else if this == nil { 864 return false 865 } 866 if this.RangeID != that1.RangeID { 867 return false 868 } 869 if !bytes.Equal(this.StartKey, that1.StartKey) { 870 return false 871 } 872 if !bytes.Equal(this.EndKey, that1.EndKey) { 873 return false 874 } 875 if len(this.InternalReplicas) != len(that1.InternalReplicas) { 876 return false 877 } 878 for i := range this.InternalReplicas { 879 if !this.InternalReplicas[i].Equal(&that1.InternalReplicas[i]) { 880 return false 881 } 882 } 883 if this.NextReplicaID != that1.NextReplicaID { 884 return false 885 } 886 if this.Generation != that1.Generation { 887 return false 888 } 889 if !this.StickyBit.Equal(that1.StickyBit) { 890 return false 891 } 892 return true 893 } 894 func (m *Attributes) Marshal() (dAtA []byte, err error) { 895 size := m.Size() 896 dAtA = make([]byte, size) 897 n, err := m.MarshalTo(dAtA) 898 if err != nil { 899 return nil, err 900 } 901 return dAtA[:n], nil 902 } 903 904 func (m *Attributes) MarshalTo(dAtA []byte) (int, error) { 905 var i int 906 _ = i 907 var l int 908 _ = l 909 if len(m.Attrs) > 0 { 910 for _, s := range m.Attrs { 911 dAtA[i] = 0xa 912 i++ 913 l = len(s) 914 for l >= 1<<7 { 915 dAtA[i] = uint8(uint64(l)&0x7f | 0x80) 916 l >>= 7 917 i++ 918 } 919 dAtA[i] = uint8(l) 920 i++ 921 i += copy(dAtA[i:], s) 922 } 923 } 924 return i, nil 925 } 926 927 func (m *ReplicationTarget) Marshal() (dAtA []byte, err error) { 928 size := m.Size() 929 dAtA = make([]byte, size) 930 n, err := m.MarshalTo(dAtA) 931 if err != nil { 932 return nil, err 933 } 934 return dAtA[:n], nil 935 } 936 937 func (m *ReplicationTarget) MarshalTo(dAtA []byte) (int, error) { 938 var i int 939 _ = i 940 var l int 941 _ = l 942 dAtA[i] = 0x8 943 i++ 944 i = encodeVarintMetadata(dAtA, i, uint64(m.NodeID)) 945 dAtA[i] = 0x10 946 i++ 947 i = encodeVarintMetadata(dAtA, i, uint64(m.StoreID)) 948 return i, nil 949 } 950 951 func (m *ReplicaDescriptor) Marshal() (dAtA []byte, err error) { 952 size := m.Size() 953 dAtA = make([]byte, size) 954 n, err := m.MarshalTo(dAtA) 955 if err != nil { 956 return nil, err 957 } 958 return dAtA[:n], nil 959 } 960 961 func (m *ReplicaDescriptor) MarshalTo(dAtA []byte) (int, error) { 962 var i int 963 _ = i 964 var l int 965 _ = l 966 dAtA[i] = 0x8 967 i++ 968 i = encodeVarintMetadata(dAtA, i, uint64(m.NodeID)) 969 dAtA[i] = 0x10 970 i++ 971 i = encodeVarintMetadata(dAtA, i, uint64(m.StoreID)) 972 dAtA[i] = 0x18 973 i++ 974 i = encodeVarintMetadata(dAtA, i, uint64(m.ReplicaID)) 975 if m.Type != nil { 976 dAtA[i] = 0x20 977 i++ 978 i = encodeVarintMetadata(dAtA, i, uint64(*m.Type)) 979 } 980 return i, nil 981 } 982 983 func (m *ReplicaIdent) Marshal() (dAtA []byte, err error) { 984 size := m.Size() 985 dAtA = make([]byte, size) 986 n, err := m.MarshalTo(dAtA) 987 if err != nil { 988 return nil, err 989 } 990 return dAtA[:n], nil 991 } 992 993 func (m *ReplicaIdent) MarshalTo(dAtA []byte) (int, error) { 994 var i int 995 _ = i 996 var l int 997 _ = l 998 dAtA[i] = 0x8 999 i++ 1000 i = encodeVarintMetadata(dAtA, i, uint64(m.RangeID)) 1001 dAtA[i] = 0x12 1002 i++ 1003 i = encodeVarintMetadata(dAtA, i, uint64(m.Replica.Size())) 1004 n1, err := m.Replica.MarshalTo(dAtA[i:]) 1005 if err != nil { 1006 return 0, err 1007 } 1008 i += n1 1009 return i, nil 1010 } 1011 1012 func (m *RangeDescriptor) Marshal() (dAtA []byte, err error) { 1013 size := m.Size() 1014 dAtA = make([]byte, size) 1015 n, err := m.MarshalTo(dAtA) 1016 if err != nil { 1017 return nil, err 1018 } 1019 return dAtA[:n], nil 1020 } 1021 1022 func (m *RangeDescriptor) MarshalTo(dAtA []byte) (int, error) { 1023 var i int 1024 _ = i 1025 var l int 1026 _ = l 1027 dAtA[i] = 0x8 1028 i++ 1029 i = encodeVarintMetadata(dAtA, i, uint64(m.RangeID)) 1030 if m.StartKey != nil { 1031 dAtA[i] = 0x12 1032 i++ 1033 i = encodeVarintMetadata(dAtA, i, uint64(len(m.StartKey))) 1034 i += copy(dAtA[i:], m.StartKey) 1035 } 1036 if m.EndKey != nil { 1037 dAtA[i] = 0x1a 1038 i++ 1039 i = encodeVarintMetadata(dAtA, i, uint64(len(m.EndKey))) 1040 i += copy(dAtA[i:], m.EndKey) 1041 } 1042 if len(m.InternalReplicas) > 0 { 1043 for _, msg := range m.InternalReplicas { 1044 dAtA[i] = 0x22 1045 i++ 1046 i = encodeVarintMetadata(dAtA, i, uint64(msg.Size())) 1047 n, err := msg.MarshalTo(dAtA[i:]) 1048 if err != nil { 1049 return 0, err 1050 } 1051 i += n 1052 } 1053 } 1054 dAtA[i] = 0x28 1055 i++ 1056 i = encodeVarintMetadata(dAtA, i, uint64(m.NextReplicaID)) 1057 dAtA[i] = 0x30 1058 i++ 1059 i = encodeVarintMetadata(dAtA, i, uint64(m.Generation)) 1060 if m.StickyBit != nil { 1061 dAtA[i] = 0x3a 1062 i++ 1063 i = encodeVarintMetadata(dAtA, i, uint64(m.StickyBit.Size())) 1064 n2, err := m.StickyBit.MarshalTo(dAtA[i:]) 1065 if err != nil { 1066 return 0, err 1067 } 1068 i += n2 1069 } 1070 return i, nil 1071 } 1072 1073 func (m *Percentiles) Marshal() (dAtA []byte, err error) { 1074 size := m.Size() 1075 dAtA = make([]byte, size) 1076 n, err := m.MarshalTo(dAtA) 1077 if err != nil { 1078 return nil, err 1079 } 1080 return dAtA[:n], nil 1081 } 1082 1083 func (m *Percentiles) MarshalTo(dAtA []byte) (int, error) { 1084 var i int 1085 _ = i 1086 var l int 1087 _ = l 1088 dAtA[i] = 0x9 1089 i++ 1090 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.P10)))) 1091 i += 8 1092 dAtA[i] = 0x11 1093 i++ 1094 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.P25)))) 1095 i += 8 1096 dAtA[i] = 0x19 1097 i++ 1098 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.P50)))) 1099 i += 8 1100 dAtA[i] = 0x21 1101 i++ 1102 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.P75)))) 1103 i += 8 1104 dAtA[i] = 0x29 1105 i++ 1106 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.P90)))) 1107 i += 8 1108 dAtA[i] = 0x31 1109 i++ 1110 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.PMax)))) 1111 i += 8 1112 return i, nil 1113 } 1114 1115 func (m *StoreCapacity) Marshal() (dAtA []byte, err error) { 1116 size := m.Size() 1117 dAtA = make([]byte, size) 1118 n, err := m.MarshalTo(dAtA) 1119 if err != nil { 1120 return nil, err 1121 } 1122 return dAtA[:n], nil 1123 } 1124 1125 func (m *StoreCapacity) MarshalTo(dAtA []byte) (int, error) { 1126 var i int 1127 _ = i 1128 var l int 1129 _ = l 1130 dAtA[i] = 0x8 1131 i++ 1132 i = encodeVarintMetadata(dAtA, i, uint64(m.Capacity)) 1133 dAtA[i] = 0x10 1134 i++ 1135 i = encodeVarintMetadata(dAtA, i, uint64(m.Available)) 1136 dAtA[i] = 0x18 1137 i++ 1138 i = encodeVarintMetadata(dAtA, i, uint64(m.RangeCount)) 1139 dAtA[i] = 0x20 1140 i++ 1141 i = encodeVarintMetadata(dAtA, i, uint64(m.LeaseCount)) 1142 dAtA[i] = 0x29 1143 i++ 1144 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.WritesPerSecond)))) 1145 i += 8 1146 dAtA[i] = 0x32 1147 i++ 1148 i = encodeVarintMetadata(dAtA, i, uint64(m.BytesPerReplica.Size())) 1149 n3, err := m.BytesPerReplica.MarshalTo(dAtA[i:]) 1150 if err != nil { 1151 return 0, err 1152 } 1153 i += n3 1154 dAtA[i] = 0x3a 1155 i++ 1156 i = encodeVarintMetadata(dAtA, i, uint64(m.WritesPerReplica.Size())) 1157 n4, err := m.WritesPerReplica.MarshalTo(dAtA[i:]) 1158 if err != nil { 1159 return 0, err 1160 } 1161 i += n4 1162 dAtA[i] = 0x40 1163 i++ 1164 i = encodeVarintMetadata(dAtA, i, uint64(m.Used)) 1165 dAtA[i] = 0x48 1166 i++ 1167 i = encodeVarintMetadata(dAtA, i, uint64(m.LogicalBytes)) 1168 dAtA[i] = 0x51 1169 i++ 1170 encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.QueriesPerSecond)))) 1171 i += 8 1172 return i, nil 1173 } 1174 1175 func (m *NodeDescriptor) Marshal() (dAtA []byte, err error) { 1176 size := m.Size() 1177 dAtA = make([]byte, size) 1178 n, err := m.MarshalTo(dAtA) 1179 if err != nil { 1180 return nil, err 1181 } 1182 return dAtA[:n], nil 1183 } 1184 1185 func (m *NodeDescriptor) MarshalTo(dAtA []byte) (int, error) { 1186 var i int 1187 _ = i 1188 var l int 1189 _ = l 1190 dAtA[i] = 0x8 1191 i++ 1192 i = encodeVarintMetadata(dAtA, i, uint64(m.NodeID)) 1193 dAtA[i] = 0x12 1194 i++ 1195 i = encodeVarintMetadata(dAtA, i, uint64(m.Address.Size())) 1196 n5, err := m.Address.MarshalTo(dAtA[i:]) 1197 if err != nil { 1198 return 0, err 1199 } 1200 i += n5 1201 dAtA[i] = 0x1a 1202 i++ 1203 i = encodeVarintMetadata(dAtA, i, uint64(m.Attrs.Size())) 1204 n6, err := m.Attrs.MarshalTo(dAtA[i:]) 1205 if err != nil { 1206 return 0, err 1207 } 1208 i += n6 1209 dAtA[i] = 0x22 1210 i++ 1211 i = encodeVarintMetadata(dAtA, i, uint64(m.Locality.Size())) 1212 n7, err := m.Locality.MarshalTo(dAtA[i:]) 1213 if err != nil { 1214 return 0, err 1215 } 1216 i += n7 1217 dAtA[i] = 0x2a 1218 i++ 1219 i = encodeVarintMetadata(dAtA, i, uint64(m.ServerVersion.Size())) 1220 n8, err := m.ServerVersion.MarshalTo(dAtA[i:]) 1221 if err != nil { 1222 return 0, err 1223 } 1224 i += n8 1225 dAtA[i] = 0x32 1226 i++ 1227 i = encodeVarintMetadata(dAtA, i, uint64(len(m.BuildTag))) 1228 i += copy(dAtA[i:], m.BuildTag) 1229 dAtA[i] = 0x38 1230 i++ 1231 i = encodeVarintMetadata(dAtA, i, uint64(m.StartedAt)) 1232 if len(m.LocalityAddress) > 0 { 1233 for _, msg := range m.LocalityAddress { 1234 dAtA[i] = 0x42 1235 i++ 1236 i = encodeVarintMetadata(dAtA, i, uint64(msg.Size())) 1237 n, err := msg.MarshalTo(dAtA[i:]) 1238 if err != nil { 1239 return 0, err 1240 } 1241 i += n 1242 } 1243 } 1244 dAtA[i] = 0x4a 1245 i++ 1246 i = encodeVarintMetadata(dAtA, i, uint64(len(m.ClusterName))) 1247 i += copy(dAtA[i:], m.ClusterName) 1248 dAtA[i] = 0x52 1249 i++ 1250 i = encodeVarintMetadata(dAtA, i, uint64(m.SQLAddress.Size())) 1251 n9, err := m.SQLAddress.MarshalTo(dAtA[i:]) 1252 if err != nil { 1253 return 0, err 1254 } 1255 i += n9 1256 return i, nil 1257 } 1258 1259 func (m *LocalityAddress) Marshal() (dAtA []byte, err error) { 1260 size := m.Size() 1261 dAtA = make([]byte, size) 1262 n, err := m.MarshalTo(dAtA) 1263 if err != nil { 1264 return nil, err 1265 } 1266 return dAtA[:n], nil 1267 } 1268 1269 func (m *LocalityAddress) MarshalTo(dAtA []byte) (int, error) { 1270 var i int 1271 _ = i 1272 var l int 1273 _ = l 1274 dAtA[i] = 0xa 1275 i++ 1276 i = encodeVarintMetadata(dAtA, i, uint64(m.Address.Size())) 1277 n10, err := m.Address.MarshalTo(dAtA[i:]) 1278 if err != nil { 1279 return 0, err 1280 } 1281 i += n10 1282 dAtA[i] = 0x12 1283 i++ 1284 i = encodeVarintMetadata(dAtA, i, uint64(m.LocalityTier.Size())) 1285 n11, err := m.LocalityTier.MarshalTo(dAtA[i:]) 1286 if err != nil { 1287 return 0, err 1288 } 1289 i += n11 1290 return i, nil 1291 } 1292 1293 func (m *StoreDescriptor) Marshal() (dAtA []byte, err error) { 1294 size := m.Size() 1295 dAtA = make([]byte, size) 1296 n, err := m.MarshalTo(dAtA) 1297 if err != nil { 1298 return nil, err 1299 } 1300 return dAtA[:n], nil 1301 } 1302 1303 func (m *StoreDescriptor) MarshalTo(dAtA []byte) (int, error) { 1304 var i int 1305 _ = i 1306 var l int 1307 _ = l 1308 dAtA[i] = 0x8 1309 i++ 1310 i = encodeVarintMetadata(dAtA, i, uint64(m.StoreID)) 1311 dAtA[i] = 0x12 1312 i++ 1313 i = encodeVarintMetadata(dAtA, i, uint64(m.Attrs.Size())) 1314 n12, err := m.Attrs.MarshalTo(dAtA[i:]) 1315 if err != nil { 1316 return 0, err 1317 } 1318 i += n12 1319 dAtA[i] = 0x1a 1320 i++ 1321 i = encodeVarintMetadata(dAtA, i, uint64(m.Node.Size())) 1322 n13, err := m.Node.MarshalTo(dAtA[i:]) 1323 if err != nil { 1324 return 0, err 1325 } 1326 i += n13 1327 dAtA[i] = 0x22 1328 i++ 1329 i = encodeVarintMetadata(dAtA, i, uint64(m.Capacity.Size())) 1330 n14, err := m.Capacity.MarshalTo(dAtA[i:]) 1331 if err != nil { 1332 return 0, err 1333 } 1334 i += n14 1335 return i, nil 1336 } 1337 1338 func (m *StoreDeadReplicas) Marshal() (dAtA []byte, err error) { 1339 size := m.Size() 1340 dAtA = make([]byte, size) 1341 n, err := m.MarshalTo(dAtA) 1342 if err != nil { 1343 return nil, err 1344 } 1345 return dAtA[:n], nil 1346 } 1347 1348 func (m *StoreDeadReplicas) MarshalTo(dAtA []byte) (int, error) { 1349 var i int 1350 _ = i 1351 var l int 1352 _ = l 1353 dAtA[i] = 0x8 1354 i++ 1355 i = encodeVarintMetadata(dAtA, i, uint64(m.StoreID)) 1356 if len(m.Replicas) > 0 { 1357 for _, msg := range m.Replicas { 1358 dAtA[i] = 0x12 1359 i++ 1360 i = encodeVarintMetadata(dAtA, i, uint64(msg.Size())) 1361 n, err := msg.MarshalTo(dAtA[i:]) 1362 if err != nil { 1363 return 0, err 1364 } 1365 i += n 1366 } 1367 } 1368 return i, nil 1369 } 1370 1371 func (m *Locality) Marshal() (dAtA []byte, err error) { 1372 size := m.Size() 1373 dAtA = make([]byte, size) 1374 n, err := m.MarshalTo(dAtA) 1375 if err != nil { 1376 return nil, err 1377 } 1378 return dAtA[:n], nil 1379 } 1380 1381 func (m *Locality) MarshalTo(dAtA []byte) (int, error) { 1382 var i int 1383 _ = i 1384 var l int 1385 _ = l 1386 if len(m.Tiers) > 0 { 1387 for _, msg := range m.Tiers { 1388 dAtA[i] = 0xa 1389 i++ 1390 i = encodeVarintMetadata(dAtA, i, uint64(msg.Size())) 1391 n, err := msg.MarshalTo(dAtA[i:]) 1392 if err != nil { 1393 return 0, err 1394 } 1395 i += n 1396 } 1397 } 1398 return i, nil 1399 } 1400 1401 func (m *Tier) Marshal() (dAtA []byte, err error) { 1402 size := m.Size() 1403 dAtA = make([]byte, size) 1404 n, err := m.MarshalTo(dAtA) 1405 if err != nil { 1406 return nil, err 1407 } 1408 return dAtA[:n], nil 1409 } 1410 1411 func (m *Tier) MarshalTo(dAtA []byte) (int, error) { 1412 var i int 1413 _ = i 1414 var l int 1415 _ = l 1416 dAtA[i] = 0xa 1417 i++ 1418 i = encodeVarintMetadata(dAtA, i, uint64(len(m.Key))) 1419 i += copy(dAtA[i:], m.Key) 1420 dAtA[i] = 0x12 1421 i++ 1422 i = encodeVarintMetadata(dAtA, i, uint64(len(m.Value))) 1423 i += copy(dAtA[i:], m.Value) 1424 return i, nil 1425 } 1426 1427 func (m *Version) Marshal() (dAtA []byte, err error) { 1428 size := m.Size() 1429 dAtA = make([]byte, size) 1430 n, err := m.MarshalTo(dAtA) 1431 if err != nil { 1432 return nil, err 1433 } 1434 return dAtA[:n], nil 1435 } 1436 1437 func (m *Version) MarshalTo(dAtA []byte) (int, error) { 1438 var i int 1439 _ = i 1440 var l int 1441 _ = l 1442 dAtA[i] = 0x8 1443 i++ 1444 i = encodeVarintMetadata(dAtA, i, uint64(m.Major)) 1445 dAtA[i] = 0x10 1446 i++ 1447 i = encodeVarintMetadata(dAtA, i, uint64(m.Minor)) 1448 dAtA[i] = 0x18 1449 i++ 1450 i = encodeVarintMetadata(dAtA, i, uint64(m.Patch)) 1451 dAtA[i] = 0x20 1452 i++ 1453 i = encodeVarintMetadata(dAtA, i, uint64(m.Unstable)) 1454 return i, nil 1455 } 1456 1457 func encodeVarintMetadata(dAtA []byte, offset int, v uint64) int { 1458 for v >= 1<<7 { 1459 dAtA[offset] = uint8(v&0x7f | 0x80) 1460 v >>= 7 1461 offset++ 1462 } 1463 dAtA[offset] = uint8(v) 1464 return offset + 1 1465 } 1466 func NewPopulatedReplicaDescriptor(r randyMetadata, easy bool) *ReplicaDescriptor { 1467 this := &ReplicaDescriptor{} 1468 this.NodeID = NodeID(r.Int31()) 1469 if r.Intn(2) == 0 { 1470 this.NodeID *= -1 1471 } 1472 this.StoreID = StoreID(r.Int31()) 1473 if r.Intn(2) == 0 { 1474 this.StoreID *= -1 1475 } 1476 this.ReplicaID = ReplicaID(r.Int31()) 1477 if r.Intn(2) == 0 { 1478 this.ReplicaID *= -1 1479 } 1480 if r.Intn(10) != 0 { 1481 v1 := ReplicaType([]int32{0, 2, 3, 4, 1}[r.Intn(5)]) 1482 this.Type = &v1 1483 } 1484 if !easy && r.Intn(10) != 0 { 1485 } 1486 return this 1487 } 1488 1489 func NewPopulatedRangeDescriptor(r randyMetadata, easy bool) *RangeDescriptor { 1490 this := &RangeDescriptor{} 1491 this.RangeID = RangeID(r.Int63()) 1492 if r.Intn(2) == 0 { 1493 this.RangeID *= -1 1494 } 1495 if r.Intn(10) != 0 { 1496 v2 := r.Intn(100) 1497 this.StartKey = make(RKey, v2) 1498 for i := 0; i < v2; i++ { 1499 this.StartKey[i] = byte(r.Intn(256)) 1500 } 1501 } 1502 if r.Intn(10) != 0 { 1503 v3 := r.Intn(100) 1504 this.EndKey = make(RKey, v3) 1505 for i := 0; i < v3; i++ { 1506 this.EndKey[i] = byte(r.Intn(256)) 1507 } 1508 } 1509 if r.Intn(10) != 0 { 1510 v4 := r.Intn(5) 1511 this.InternalReplicas = make([]ReplicaDescriptor, v4) 1512 for i := 0; i < v4; i++ { 1513 v5 := NewPopulatedReplicaDescriptor(r, easy) 1514 this.InternalReplicas[i] = *v5 1515 } 1516 } 1517 this.NextReplicaID = ReplicaID(r.Int31()) 1518 if r.Intn(2) == 0 { 1519 this.NextReplicaID *= -1 1520 } 1521 this.Generation = int64(r.Int63()) 1522 if r.Intn(2) == 0 { 1523 this.Generation *= -1 1524 } 1525 if r.Intn(10) != 0 { 1526 this.StickyBit = hlc.NewPopulatedTimestamp(r, easy) 1527 } 1528 if !easy && r.Intn(10) != 0 { 1529 } 1530 return this 1531 } 1532 1533 type randyMetadata interface { 1534 Float32() float32 1535 Float64() float64 1536 Int63() int64 1537 Int31() int32 1538 Uint32() uint32 1539 Intn(n int) int 1540 } 1541 1542 func randUTF8RuneMetadata(r randyMetadata) rune { 1543 ru := r.Intn(62) 1544 if ru < 10 { 1545 return rune(ru + 48) 1546 } else if ru < 36 { 1547 return rune(ru + 55) 1548 } 1549 return rune(ru + 61) 1550 } 1551 func randStringMetadata(r randyMetadata) string { 1552 v6 := r.Intn(100) 1553 tmps := make([]rune, v6) 1554 for i := 0; i < v6; i++ { 1555 tmps[i] = randUTF8RuneMetadata(r) 1556 } 1557 return string(tmps) 1558 } 1559 func randUnrecognizedMetadata(r randyMetadata, maxFieldNumber int) (dAtA []byte) { 1560 l := r.Intn(5) 1561 for i := 0; i < l; i++ { 1562 wire := r.Intn(4) 1563 if wire == 3 { 1564 wire = 5 1565 } 1566 fieldNumber := maxFieldNumber + r.Intn(100) 1567 dAtA = randFieldMetadata(dAtA, r, fieldNumber, wire) 1568 } 1569 return dAtA 1570 } 1571 func randFieldMetadata(dAtA []byte, r randyMetadata, fieldNumber int, wire int) []byte { 1572 key := uint32(fieldNumber)<<3 | uint32(wire) 1573 switch wire { 1574 case 0: 1575 dAtA = encodeVarintPopulateMetadata(dAtA, uint64(key)) 1576 v7 := r.Int63() 1577 if r.Intn(2) == 0 { 1578 v7 *= -1 1579 } 1580 dAtA = encodeVarintPopulateMetadata(dAtA, uint64(v7)) 1581 case 1: 1582 dAtA = encodeVarintPopulateMetadata(dAtA, uint64(key)) 1583 dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256))) 1584 case 2: 1585 dAtA = encodeVarintPopulateMetadata(dAtA, uint64(key)) 1586 ll := r.Intn(100) 1587 dAtA = encodeVarintPopulateMetadata(dAtA, uint64(ll)) 1588 for j := 0; j < ll; j++ { 1589 dAtA = append(dAtA, byte(r.Intn(256))) 1590 } 1591 default: 1592 dAtA = encodeVarintPopulateMetadata(dAtA, uint64(key)) 1593 dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256))) 1594 } 1595 return dAtA 1596 } 1597 func encodeVarintPopulateMetadata(dAtA []byte, v uint64) []byte { 1598 for v >= 1<<7 { 1599 dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80)) 1600 v >>= 7 1601 } 1602 dAtA = append(dAtA, uint8(v)) 1603 return dAtA 1604 } 1605 func (m *Attributes) Size() (n int) { 1606 if m == nil { 1607 return 0 1608 } 1609 var l int 1610 _ = l 1611 if len(m.Attrs) > 0 { 1612 for _, s := range m.Attrs { 1613 l = len(s) 1614 n += 1 + l + sovMetadata(uint64(l)) 1615 } 1616 } 1617 return n 1618 } 1619 1620 func (m *ReplicationTarget) Size() (n int) { 1621 if m == nil { 1622 return 0 1623 } 1624 var l int 1625 _ = l 1626 n += 1 + sovMetadata(uint64(m.NodeID)) 1627 n += 1 + sovMetadata(uint64(m.StoreID)) 1628 return n 1629 } 1630 1631 func (m *ReplicaDescriptor) Size() (n int) { 1632 if m == nil { 1633 return 0 1634 } 1635 var l int 1636 _ = l 1637 n += 1 + sovMetadata(uint64(m.NodeID)) 1638 n += 1 + sovMetadata(uint64(m.StoreID)) 1639 n += 1 + sovMetadata(uint64(m.ReplicaID)) 1640 if m.Type != nil { 1641 n += 1 + sovMetadata(uint64(*m.Type)) 1642 } 1643 return n 1644 } 1645 1646 func (m *ReplicaIdent) Size() (n int) { 1647 if m == nil { 1648 return 0 1649 } 1650 var l int 1651 _ = l 1652 n += 1 + sovMetadata(uint64(m.RangeID)) 1653 l = m.Replica.Size() 1654 n += 1 + l + sovMetadata(uint64(l)) 1655 return n 1656 } 1657 1658 func (m *RangeDescriptor) Size() (n int) { 1659 if m == nil { 1660 return 0 1661 } 1662 var l int 1663 _ = l 1664 n += 1 + sovMetadata(uint64(m.RangeID)) 1665 if m.StartKey != nil { 1666 l = len(m.StartKey) 1667 n += 1 + l + sovMetadata(uint64(l)) 1668 } 1669 if m.EndKey != nil { 1670 l = len(m.EndKey) 1671 n += 1 + l + sovMetadata(uint64(l)) 1672 } 1673 if len(m.InternalReplicas) > 0 { 1674 for _, e := range m.InternalReplicas { 1675 l = e.Size() 1676 n += 1 + l + sovMetadata(uint64(l)) 1677 } 1678 } 1679 n += 1 + sovMetadata(uint64(m.NextReplicaID)) 1680 n += 1 + sovMetadata(uint64(m.Generation)) 1681 if m.StickyBit != nil { 1682 l = m.StickyBit.Size() 1683 n += 1 + l + sovMetadata(uint64(l)) 1684 } 1685 return n 1686 } 1687 1688 func (m *Percentiles) Size() (n int) { 1689 if m == nil { 1690 return 0 1691 } 1692 var l int 1693 _ = l 1694 n += 9 1695 n += 9 1696 n += 9 1697 n += 9 1698 n += 9 1699 n += 9 1700 return n 1701 } 1702 1703 func (m *StoreCapacity) Size() (n int) { 1704 if m == nil { 1705 return 0 1706 } 1707 var l int 1708 _ = l 1709 n += 1 + sovMetadata(uint64(m.Capacity)) 1710 n += 1 + sovMetadata(uint64(m.Available)) 1711 n += 1 + sovMetadata(uint64(m.RangeCount)) 1712 n += 1 + sovMetadata(uint64(m.LeaseCount)) 1713 n += 9 1714 l = m.BytesPerReplica.Size() 1715 n += 1 + l + sovMetadata(uint64(l)) 1716 l = m.WritesPerReplica.Size() 1717 n += 1 + l + sovMetadata(uint64(l)) 1718 n += 1 + sovMetadata(uint64(m.Used)) 1719 n += 1 + sovMetadata(uint64(m.LogicalBytes)) 1720 n += 9 1721 return n 1722 } 1723 1724 func (m *NodeDescriptor) Size() (n int) { 1725 if m == nil { 1726 return 0 1727 } 1728 var l int 1729 _ = l 1730 n += 1 + sovMetadata(uint64(m.NodeID)) 1731 l = m.Address.Size() 1732 n += 1 + l + sovMetadata(uint64(l)) 1733 l = m.Attrs.Size() 1734 n += 1 + l + sovMetadata(uint64(l)) 1735 l = m.Locality.Size() 1736 n += 1 + l + sovMetadata(uint64(l)) 1737 l = m.ServerVersion.Size() 1738 n += 1 + l + sovMetadata(uint64(l)) 1739 l = len(m.BuildTag) 1740 n += 1 + l + sovMetadata(uint64(l)) 1741 n += 1 + sovMetadata(uint64(m.StartedAt)) 1742 if len(m.LocalityAddress) > 0 { 1743 for _, e := range m.LocalityAddress { 1744 l = e.Size() 1745 n += 1 + l + sovMetadata(uint64(l)) 1746 } 1747 } 1748 l = len(m.ClusterName) 1749 n += 1 + l + sovMetadata(uint64(l)) 1750 l = m.SQLAddress.Size() 1751 n += 1 + l + sovMetadata(uint64(l)) 1752 return n 1753 } 1754 1755 func (m *LocalityAddress) Size() (n int) { 1756 if m == nil { 1757 return 0 1758 } 1759 var l int 1760 _ = l 1761 l = m.Address.Size() 1762 n += 1 + l + sovMetadata(uint64(l)) 1763 l = m.LocalityTier.Size() 1764 n += 1 + l + sovMetadata(uint64(l)) 1765 return n 1766 } 1767 1768 func (m *StoreDescriptor) Size() (n int) { 1769 if m == nil { 1770 return 0 1771 } 1772 var l int 1773 _ = l 1774 n += 1 + sovMetadata(uint64(m.StoreID)) 1775 l = m.Attrs.Size() 1776 n += 1 + l + sovMetadata(uint64(l)) 1777 l = m.Node.Size() 1778 n += 1 + l + sovMetadata(uint64(l)) 1779 l = m.Capacity.Size() 1780 n += 1 + l + sovMetadata(uint64(l)) 1781 return n 1782 } 1783 1784 func (m *StoreDeadReplicas) Size() (n int) { 1785 if m == nil { 1786 return 0 1787 } 1788 var l int 1789 _ = l 1790 n += 1 + sovMetadata(uint64(m.StoreID)) 1791 if len(m.Replicas) > 0 { 1792 for _, e := range m.Replicas { 1793 l = e.Size() 1794 n += 1 + l + sovMetadata(uint64(l)) 1795 } 1796 } 1797 return n 1798 } 1799 1800 func (m *Locality) Size() (n int) { 1801 if m == nil { 1802 return 0 1803 } 1804 var l int 1805 _ = l 1806 if len(m.Tiers) > 0 { 1807 for _, e := range m.Tiers { 1808 l = e.Size() 1809 n += 1 + l + sovMetadata(uint64(l)) 1810 } 1811 } 1812 return n 1813 } 1814 1815 func (m *Tier) Size() (n int) { 1816 if m == nil { 1817 return 0 1818 } 1819 var l int 1820 _ = l 1821 l = len(m.Key) 1822 n += 1 + l + sovMetadata(uint64(l)) 1823 l = len(m.Value) 1824 n += 1 + l + sovMetadata(uint64(l)) 1825 return n 1826 } 1827 1828 func (m *Version) Size() (n int) { 1829 if m == nil { 1830 return 0 1831 } 1832 var l int 1833 _ = l 1834 n += 1 + sovMetadata(uint64(m.Major)) 1835 n += 1 + sovMetadata(uint64(m.Minor)) 1836 n += 1 + sovMetadata(uint64(m.Patch)) 1837 n += 1 + sovMetadata(uint64(m.Unstable)) 1838 return n 1839 } 1840 1841 func sovMetadata(x uint64) (n int) { 1842 for { 1843 n++ 1844 x >>= 7 1845 if x == 0 { 1846 break 1847 } 1848 } 1849 return n 1850 } 1851 func sozMetadata(x uint64) (n int) { 1852 return sovMetadata(uint64((x << 1) ^ uint64((int64(x) >> 63)))) 1853 } 1854 func (m *Attributes) Unmarshal(dAtA []byte) error { 1855 l := len(dAtA) 1856 iNdEx := 0 1857 for iNdEx < l { 1858 preIndex := iNdEx 1859 var wire uint64 1860 for shift := uint(0); ; shift += 7 { 1861 if shift >= 64 { 1862 return ErrIntOverflowMetadata 1863 } 1864 if iNdEx >= l { 1865 return io.ErrUnexpectedEOF 1866 } 1867 b := dAtA[iNdEx] 1868 iNdEx++ 1869 wire |= (uint64(b) & 0x7F) << shift 1870 if b < 0x80 { 1871 break 1872 } 1873 } 1874 fieldNum := int32(wire >> 3) 1875 wireType := int(wire & 0x7) 1876 if wireType == 4 { 1877 return fmt.Errorf("proto: Attributes: wiretype end group for non-group") 1878 } 1879 if fieldNum <= 0 { 1880 return fmt.Errorf("proto: Attributes: illegal tag %d (wire type %d)", fieldNum, wire) 1881 } 1882 switch fieldNum { 1883 case 1: 1884 if wireType != 2 { 1885 return fmt.Errorf("proto: wrong wireType = %d for field Attrs", wireType) 1886 } 1887 var stringLen uint64 1888 for shift := uint(0); ; shift += 7 { 1889 if shift >= 64 { 1890 return ErrIntOverflowMetadata 1891 } 1892 if iNdEx >= l { 1893 return io.ErrUnexpectedEOF 1894 } 1895 b := dAtA[iNdEx] 1896 iNdEx++ 1897 stringLen |= (uint64(b) & 0x7F) << shift 1898 if b < 0x80 { 1899 break 1900 } 1901 } 1902 intStringLen := int(stringLen) 1903 if intStringLen < 0 { 1904 return ErrInvalidLengthMetadata 1905 } 1906 postIndex := iNdEx + intStringLen 1907 if postIndex > l { 1908 return io.ErrUnexpectedEOF 1909 } 1910 m.Attrs = append(m.Attrs, string(dAtA[iNdEx:postIndex])) 1911 iNdEx = postIndex 1912 default: 1913 iNdEx = preIndex 1914 skippy, err := skipMetadata(dAtA[iNdEx:]) 1915 if err != nil { 1916 return err 1917 } 1918 if skippy < 0 { 1919 return ErrInvalidLengthMetadata 1920 } 1921 if (iNdEx + skippy) > l { 1922 return io.ErrUnexpectedEOF 1923 } 1924 iNdEx += skippy 1925 } 1926 } 1927 1928 if iNdEx > l { 1929 return io.ErrUnexpectedEOF 1930 } 1931 return nil 1932 } 1933 func (m *ReplicationTarget) Unmarshal(dAtA []byte) error { 1934 l := len(dAtA) 1935 iNdEx := 0 1936 for iNdEx < l { 1937 preIndex := iNdEx 1938 var wire uint64 1939 for shift := uint(0); ; shift += 7 { 1940 if shift >= 64 { 1941 return ErrIntOverflowMetadata 1942 } 1943 if iNdEx >= l { 1944 return io.ErrUnexpectedEOF 1945 } 1946 b := dAtA[iNdEx] 1947 iNdEx++ 1948 wire |= (uint64(b) & 0x7F) << shift 1949 if b < 0x80 { 1950 break 1951 } 1952 } 1953 fieldNum := int32(wire >> 3) 1954 wireType := int(wire & 0x7) 1955 if wireType == 4 { 1956 return fmt.Errorf("proto: ReplicationTarget: wiretype end group for non-group") 1957 } 1958 if fieldNum <= 0 { 1959 return fmt.Errorf("proto: ReplicationTarget: illegal tag %d (wire type %d)", fieldNum, wire) 1960 } 1961 switch fieldNum { 1962 case 1: 1963 if wireType != 0 { 1964 return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType) 1965 } 1966 m.NodeID = 0 1967 for shift := uint(0); ; shift += 7 { 1968 if shift >= 64 { 1969 return ErrIntOverflowMetadata 1970 } 1971 if iNdEx >= l { 1972 return io.ErrUnexpectedEOF 1973 } 1974 b := dAtA[iNdEx] 1975 iNdEx++ 1976 m.NodeID |= (NodeID(b) & 0x7F) << shift 1977 if b < 0x80 { 1978 break 1979 } 1980 } 1981 case 2: 1982 if wireType != 0 { 1983 return fmt.Errorf("proto: wrong wireType = %d for field StoreID", wireType) 1984 } 1985 m.StoreID = 0 1986 for shift := uint(0); ; shift += 7 { 1987 if shift >= 64 { 1988 return ErrIntOverflowMetadata 1989 } 1990 if iNdEx >= l { 1991 return io.ErrUnexpectedEOF 1992 } 1993 b := dAtA[iNdEx] 1994 iNdEx++ 1995 m.StoreID |= (StoreID(b) & 0x7F) << shift 1996 if b < 0x80 { 1997 break 1998 } 1999 } 2000 default: 2001 iNdEx = preIndex 2002 skippy, err := skipMetadata(dAtA[iNdEx:]) 2003 if err != nil { 2004 return err 2005 } 2006 if skippy < 0 { 2007 return ErrInvalidLengthMetadata 2008 } 2009 if (iNdEx + skippy) > l { 2010 return io.ErrUnexpectedEOF 2011 } 2012 iNdEx += skippy 2013 } 2014 } 2015 2016 if iNdEx > l { 2017 return io.ErrUnexpectedEOF 2018 } 2019 return nil 2020 } 2021 func (m *ReplicaDescriptor) Unmarshal(dAtA []byte) error { 2022 l := len(dAtA) 2023 iNdEx := 0 2024 for iNdEx < l { 2025 preIndex := iNdEx 2026 var wire uint64 2027 for shift := uint(0); ; shift += 7 { 2028 if shift >= 64 { 2029 return ErrIntOverflowMetadata 2030 } 2031 if iNdEx >= l { 2032 return io.ErrUnexpectedEOF 2033 } 2034 b := dAtA[iNdEx] 2035 iNdEx++ 2036 wire |= (uint64(b) & 0x7F) << shift 2037 if b < 0x80 { 2038 break 2039 } 2040 } 2041 fieldNum := int32(wire >> 3) 2042 wireType := int(wire & 0x7) 2043 if wireType == 4 { 2044 return fmt.Errorf("proto: ReplicaDescriptor: wiretype end group for non-group") 2045 } 2046 if fieldNum <= 0 { 2047 return fmt.Errorf("proto: ReplicaDescriptor: illegal tag %d (wire type %d)", fieldNum, wire) 2048 } 2049 switch fieldNum { 2050 case 1: 2051 if wireType != 0 { 2052 return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType) 2053 } 2054 m.NodeID = 0 2055 for shift := uint(0); ; shift += 7 { 2056 if shift >= 64 { 2057 return ErrIntOverflowMetadata 2058 } 2059 if iNdEx >= l { 2060 return io.ErrUnexpectedEOF 2061 } 2062 b := dAtA[iNdEx] 2063 iNdEx++ 2064 m.NodeID |= (NodeID(b) & 0x7F) << shift 2065 if b < 0x80 { 2066 break 2067 } 2068 } 2069 case 2: 2070 if wireType != 0 { 2071 return fmt.Errorf("proto: wrong wireType = %d for field StoreID", wireType) 2072 } 2073 m.StoreID = 0 2074 for shift := uint(0); ; shift += 7 { 2075 if shift >= 64 { 2076 return ErrIntOverflowMetadata 2077 } 2078 if iNdEx >= l { 2079 return io.ErrUnexpectedEOF 2080 } 2081 b := dAtA[iNdEx] 2082 iNdEx++ 2083 m.StoreID |= (StoreID(b) & 0x7F) << shift 2084 if b < 0x80 { 2085 break 2086 } 2087 } 2088 case 3: 2089 if wireType != 0 { 2090 return fmt.Errorf("proto: wrong wireType = %d for field ReplicaID", wireType) 2091 } 2092 m.ReplicaID = 0 2093 for shift := uint(0); ; shift += 7 { 2094 if shift >= 64 { 2095 return ErrIntOverflowMetadata 2096 } 2097 if iNdEx >= l { 2098 return io.ErrUnexpectedEOF 2099 } 2100 b := dAtA[iNdEx] 2101 iNdEx++ 2102 m.ReplicaID |= (ReplicaID(b) & 0x7F) << shift 2103 if b < 0x80 { 2104 break 2105 } 2106 } 2107 case 4: 2108 if wireType != 0 { 2109 return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) 2110 } 2111 var v ReplicaType 2112 for shift := uint(0); ; shift += 7 { 2113 if shift >= 64 { 2114 return ErrIntOverflowMetadata 2115 } 2116 if iNdEx >= l { 2117 return io.ErrUnexpectedEOF 2118 } 2119 b := dAtA[iNdEx] 2120 iNdEx++ 2121 v |= (ReplicaType(b) & 0x7F) << shift 2122 if b < 0x80 { 2123 break 2124 } 2125 } 2126 m.Type = &v 2127 default: 2128 iNdEx = preIndex 2129 skippy, err := skipMetadata(dAtA[iNdEx:]) 2130 if err != nil { 2131 return err 2132 } 2133 if skippy < 0 { 2134 return ErrInvalidLengthMetadata 2135 } 2136 if (iNdEx + skippy) > l { 2137 return io.ErrUnexpectedEOF 2138 } 2139 iNdEx += skippy 2140 } 2141 } 2142 2143 if iNdEx > l { 2144 return io.ErrUnexpectedEOF 2145 } 2146 return nil 2147 } 2148 func (m *ReplicaIdent) Unmarshal(dAtA []byte) error { 2149 l := len(dAtA) 2150 iNdEx := 0 2151 for iNdEx < l { 2152 preIndex := iNdEx 2153 var wire uint64 2154 for shift := uint(0); ; shift += 7 { 2155 if shift >= 64 { 2156 return ErrIntOverflowMetadata 2157 } 2158 if iNdEx >= l { 2159 return io.ErrUnexpectedEOF 2160 } 2161 b := dAtA[iNdEx] 2162 iNdEx++ 2163 wire |= (uint64(b) & 0x7F) << shift 2164 if b < 0x80 { 2165 break 2166 } 2167 } 2168 fieldNum := int32(wire >> 3) 2169 wireType := int(wire & 0x7) 2170 if wireType == 4 { 2171 return fmt.Errorf("proto: ReplicaIdent: wiretype end group for non-group") 2172 } 2173 if fieldNum <= 0 { 2174 return fmt.Errorf("proto: ReplicaIdent: illegal tag %d (wire type %d)", fieldNum, wire) 2175 } 2176 switch fieldNum { 2177 case 1: 2178 if wireType != 0 { 2179 return fmt.Errorf("proto: wrong wireType = %d for field RangeID", wireType) 2180 } 2181 m.RangeID = 0 2182 for shift := uint(0); ; shift += 7 { 2183 if shift >= 64 { 2184 return ErrIntOverflowMetadata 2185 } 2186 if iNdEx >= l { 2187 return io.ErrUnexpectedEOF 2188 } 2189 b := dAtA[iNdEx] 2190 iNdEx++ 2191 m.RangeID |= (RangeID(b) & 0x7F) << shift 2192 if b < 0x80 { 2193 break 2194 } 2195 } 2196 case 2: 2197 if wireType != 2 { 2198 return fmt.Errorf("proto: wrong wireType = %d for field Replica", wireType) 2199 } 2200 var msglen int 2201 for shift := uint(0); ; shift += 7 { 2202 if shift >= 64 { 2203 return ErrIntOverflowMetadata 2204 } 2205 if iNdEx >= l { 2206 return io.ErrUnexpectedEOF 2207 } 2208 b := dAtA[iNdEx] 2209 iNdEx++ 2210 msglen |= (int(b) & 0x7F) << shift 2211 if b < 0x80 { 2212 break 2213 } 2214 } 2215 if msglen < 0 { 2216 return ErrInvalidLengthMetadata 2217 } 2218 postIndex := iNdEx + msglen 2219 if postIndex > l { 2220 return io.ErrUnexpectedEOF 2221 } 2222 if err := m.Replica.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 2223 return err 2224 } 2225 iNdEx = postIndex 2226 default: 2227 iNdEx = preIndex 2228 skippy, err := skipMetadata(dAtA[iNdEx:]) 2229 if err != nil { 2230 return err 2231 } 2232 if skippy < 0 { 2233 return ErrInvalidLengthMetadata 2234 } 2235 if (iNdEx + skippy) > l { 2236 return io.ErrUnexpectedEOF 2237 } 2238 iNdEx += skippy 2239 } 2240 } 2241 2242 if iNdEx > l { 2243 return io.ErrUnexpectedEOF 2244 } 2245 return nil 2246 } 2247 func (m *RangeDescriptor) Unmarshal(dAtA []byte) error { 2248 l := len(dAtA) 2249 iNdEx := 0 2250 for iNdEx < l { 2251 preIndex := iNdEx 2252 var wire uint64 2253 for shift := uint(0); ; shift += 7 { 2254 if shift >= 64 { 2255 return ErrIntOverflowMetadata 2256 } 2257 if iNdEx >= l { 2258 return io.ErrUnexpectedEOF 2259 } 2260 b := dAtA[iNdEx] 2261 iNdEx++ 2262 wire |= (uint64(b) & 0x7F) << shift 2263 if b < 0x80 { 2264 break 2265 } 2266 } 2267 fieldNum := int32(wire >> 3) 2268 wireType := int(wire & 0x7) 2269 if wireType == 4 { 2270 return fmt.Errorf("proto: RangeDescriptor: wiretype end group for non-group") 2271 } 2272 if fieldNum <= 0 { 2273 return fmt.Errorf("proto: RangeDescriptor: illegal tag %d (wire type %d)", fieldNum, wire) 2274 } 2275 switch fieldNum { 2276 case 1: 2277 if wireType != 0 { 2278 return fmt.Errorf("proto: wrong wireType = %d for field RangeID", wireType) 2279 } 2280 m.RangeID = 0 2281 for shift := uint(0); ; shift += 7 { 2282 if shift >= 64 { 2283 return ErrIntOverflowMetadata 2284 } 2285 if iNdEx >= l { 2286 return io.ErrUnexpectedEOF 2287 } 2288 b := dAtA[iNdEx] 2289 iNdEx++ 2290 m.RangeID |= (RangeID(b) & 0x7F) << shift 2291 if b < 0x80 { 2292 break 2293 } 2294 } 2295 case 2: 2296 if wireType != 2 { 2297 return fmt.Errorf("proto: wrong wireType = %d for field StartKey", wireType) 2298 } 2299 var byteLen int 2300 for shift := uint(0); ; shift += 7 { 2301 if shift >= 64 { 2302 return ErrIntOverflowMetadata 2303 } 2304 if iNdEx >= l { 2305 return io.ErrUnexpectedEOF 2306 } 2307 b := dAtA[iNdEx] 2308 iNdEx++ 2309 byteLen |= (int(b) & 0x7F) << shift 2310 if b < 0x80 { 2311 break 2312 } 2313 } 2314 if byteLen < 0 { 2315 return ErrInvalidLengthMetadata 2316 } 2317 postIndex := iNdEx + byteLen 2318 if postIndex > l { 2319 return io.ErrUnexpectedEOF 2320 } 2321 m.StartKey = append(m.StartKey[:0], dAtA[iNdEx:postIndex]...) 2322 if m.StartKey == nil { 2323 m.StartKey = []byte{} 2324 } 2325 iNdEx = postIndex 2326 case 3: 2327 if wireType != 2 { 2328 return fmt.Errorf("proto: wrong wireType = %d for field EndKey", wireType) 2329 } 2330 var byteLen int 2331 for shift := uint(0); ; shift += 7 { 2332 if shift >= 64 { 2333 return ErrIntOverflowMetadata 2334 } 2335 if iNdEx >= l { 2336 return io.ErrUnexpectedEOF 2337 } 2338 b := dAtA[iNdEx] 2339 iNdEx++ 2340 byteLen |= (int(b) & 0x7F) << shift 2341 if b < 0x80 { 2342 break 2343 } 2344 } 2345 if byteLen < 0 { 2346 return ErrInvalidLengthMetadata 2347 } 2348 postIndex := iNdEx + byteLen 2349 if postIndex > l { 2350 return io.ErrUnexpectedEOF 2351 } 2352 m.EndKey = append(m.EndKey[:0], dAtA[iNdEx:postIndex]...) 2353 if m.EndKey == nil { 2354 m.EndKey = []byte{} 2355 } 2356 iNdEx = postIndex 2357 case 4: 2358 if wireType != 2 { 2359 return fmt.Errorf("proto: wrong wireType = %d for field InternalReplicas", wireType) 2360 } 2361 var msglen int 2362 for shift := uint(0); ; shift += 7 { 2363 if shift >= 64 { 2364 return ErrIntOverflowMetadata 2365 } 2366 if iNdEx >= l { 2367 return io.ErrUnexpectedEOF 2368 } 2369 b := dAtA[iNdEx] 2370 iNdEx++ 2371 msglen |= (int(b) & 0x7F) << shift 2372 if b < 0x80 { 2373 break 2374 } 2375 } 2376 if msglen < 0 { 2377 return ErrInvalidLengthMetadata 2378 } 2379 postIndex := iNdEx + msglen 2380 if postIndex > l { 2381 return io.ErrUnexpectedEOF 2382 } 2383 m.InternalReplicas = append(m.InternalReplicas, ReplicaDescriptor{}) 2384 if err := m.InternalReplicas[len(m.InternalReplicas)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 2385 return err 2386 } 2387 iNdEx = postIndex 2388 case 5: 2389 if wireType != 0 { 2390 return fmt.Errorf("proto: wrong wireType = %d for field NextReplicaID", wireType) 2391 } 2392 m.NextReplicaID = 0 2393 for shift := uint(0); ; shift += 7 { 2394 if shift >= 64 { 2395 return ErrIntOverflowMetadata 2396 } 2397 if iNdEx >= l { 2398 return io.ErrUnexpectedEOF 2399 } 2400 b := dAtA[iNdEx] 2401 iNdEx++ 2402 m.NextReplicaID |= (ReplicaID(b) & 0x7F) << shift 2403 if b < 0x80 { 2404 break 2405 } 2406 } 2407 case 6: 2408 if wireType != 0 { 2409 return fmt.Errorf("proto: wrong wireType = %d for field Generation", wireType) 2410 } 2411 m.Generation = 0 2412 for shift := uint(0); ; shift += 7 { 2413 if shift >= 64 { 2414 return ErrIntOverflowMetadata 2415 } 2416 if iNdEx >= l { 2417 return io.ErrUnexpectedEOF 2418 } 2419 b := dAtA[iNdEx] 2420 iNdEx++ 2421 m.Generation |= (int64(b) & 0x7F) << shift 2422 if b < 0x80 { 2423 break 2424 } 2425 } 2426 case 7: 2427 if wireType != 2 { 2428 return fmt.Errorf("proto: wrong wireType = %d for field StickyBit", wireType) 2429 } 2430 var msglen int 2431 for shift := uint(0); ; shift += 7 { 2432 if shift >= 64 { 2433 return ErrIntOverflowMetadata 2434 } 2435 if iNdEx >= l { 2436 return io.ErrUnexpectedEOF 2437 } 2438 b := dAtA[iNdEx] 2439 iNdEx++ 2440 msglen |= (int(b) & 0x7F) << shift 2441 if b < 0x80 { 2442 break 2443 } 2444 } 2445 if msglen < 0 { 2446 return ErrInvalidLengthMetadata 2447 } 2448 postIndex := iNdEx + msglen 2449 if postIndex > l { 2450 return io.ErrUnexpectedEOF 2451 } 2452 if m.StickyBit == nil { 2453 m.StickyBit = &hlc.Timestamp{} 2454 } 2455 if err := m.StickyBit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 2456 return err 2457 } 2458 iNdEx = postIndex 2459 default: 2460 iNdEx = preIndex 2461 skippy, err := skipMetadata(dAtA[iNdEx:]) 2462 if err != nil { 2463 return err 2464 } 2465 if skippy < 0 { 2466 return ErrInvalidLengthMetadata 2467 } 2468 if (iNdEx + skippy) > l { 2469 return io.ErrUnexpectedEOF 2470 } 2471 iNdEx += skippy 2472 } 2473 } 2474 2475 if iNdEx > l { 2476 return io.ErrUnexpectedEOF 2477 } 2478 return nil 2479 } 2480 func (m *Percentiles) Unmarshal(dAtA []byte) error { 2481 l := len(dAtA) 2482 iNdEx := 0 2483 for iNdEx < l { 2484 preIndex := iNdEx 2485 var wire uint64 2486 for shift := uint(0); ; shift += 7 { 2487 if shift >= 64 { 2488 return ErrIntOverflowMetadata 2489 } 2490 if iNdEx >= l { 2491 return io.ErrUnexpectedEOF 2492 } 2493 b := dAtA[iNdEx] 2494 iNdEx++ 2495 wire |= (uint64(b) & 0x7F) << shift 2496 if b < 0x80 { 2497 break 2498 } 2499 } 2500 fieldNum := int32(wire >> 3) 2501 wireType := int(wire & 0x7) 2502 if wireType == 4 { 2503 return fmt.Errorf("proto: Percentiles: wiretype end group for non-group") 2504 } 2505 if fieldNum <= 0 { 2506 return fmt.Errorf("proto: Percentiles: illegal tag %d (wire type %d)", fieldNum, wire) 2507 } 2508 switch fieldNum { 2509 case 1: 2510 if wireType != 1 { 2511 return fmt.Errorf("proto: wrong wireType = %d for field P10", wireType) 2512 } 2513 var v uint64 2514 if (iNdEx + 8) > l { 2515 return io.ErrUnexpectedEOF 2516 } 2517 v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 2518 iNdEx += 8 2519 m.P10 = float64(math.Float64frombits(v)) 2520 case 2: 2521 if wireType != 1 { 2522 return fmt.Errorf("proto: wrong wireType = %d for field P25", wireType) 2523 } 2524 var v uint64 2525 if (iNdEx + 8) > l { 2526 return io.ErrUnexpectedEOF 2527 } 2528 v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 2529 iNdEx += 8 2530 m.P25 = float64(math.Float64frombits(v)) 2531 case 3: 2532 if wireType != 1 { 2533 return fmt.Errorf("proto: wrong wireType = %d for field P50", wireType) 2534 } 2535 var v uint64 2536 if (iNdEx + 8) > l { 2537 return io.ErrUnexpectedEOF 2538 } 2539 v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 2540 iNdEx += 8 2541 m.P50 = float64(math.Float64frombits(v)) 2542 case 4: 2543 if wireType != 1 { 2544 return fmt.Errorf("proto: wrong wireType = %d for field P75", wireType) 2545 } 2546 var v uint64 2547 if (iNdEx + 8) > l { 2548 return io.ErrUnexpectedEOF 2549 } 2550 v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 2551 iNdEx += 8 2552 m.P75 = float64(math.Float64frombits(v)) 2553 case 5: 2554 if wireType != 1 { 2555 return fmt.Errorf("proto: wrong wireType = %d for field P90", wireType) 2556 } 2557 var v uint64 2558 if (iNdEx + 8) > l { 2559 return io.ErrUnexpectedEOF 2560 } 2561 v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 2562 iNdEx += 8 2563 m.P90 = float64(math.Float64frombits(v)) 2564 case 6: 2565 if wireType != 1 { 2566 return fmt.Errorf("proto: wrong wireType = %d for field PMax", wireType) 2567 } 2568 var v uint64 2569 if (iNdEx + 8) > l { 2570 return io.ErrUnexpectedEOF 2571 } 2572 v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 2573 iNdEx += 8 2574 m.PMax = float64(math.Float64frombits(v)) 2575 default: 2576 iNdEx = preIndex 2577 skippy, err := skipMetadata(dAtA[iNdEx:]) 2578 if err != nil { 2579 return err 2580 } 2581 if skippy < 0 { 2582 return ErrInvalidLengthMetadata 2583 } 2584 if (iNdEx + skippy) > l { 2585 return io.ErrUnexpectedEOF 2586 } 2587 iNdEx += skippy 2588 } 2589 } 2590 2591 if iNdEx > l { 2592 return io.ErrUnexpectedEOF 2593 } 2594 return nil 2595 } 2596 func (m *StoreCapacity) Unmarshal(dAtA []byte) error { 2597 l := len(dAtA) 2598 iNdEx := 0 2599 for iNdEx < l { 2600 preIndex := iNdEx 2601 var wire uint64 2602 for shift := uint(0); ; shift += 7 { 2603 if shift >= 64 { 2604 return ErrIntOverflowMetadata 2605 } 2606 if iNdEx >= l { 2607 return io.ErrUnexpectedEOF 2608 } 2609 b := dAtA[iNdEx] 2610 iNdEx++ 2611 wire |= (uint64(b) & 0x7F) << shift 2612 if b < 0x80 { 2613 break 2614 } 2615 } 2616 fieldNum := int32(wire >> 3) 2617 wireType := int(wire & 0x7) 2618 if wireType == 4 { 2619 return fmt.Errorf("proto: StoreCapacity: wiretype end group for non-group") 2620 } 2621 if fieldNum <= 0 { 2622 return fmt.Errorf("proto: StoreCapacity: illegal tag %d (wire type %d)", fieldNum, wire) 2623 } 2624 switch fieldNum { 2625 case 1: 2626 if wireType != 0 { 2627 return fmt.Errorf("proto: wrong wireType = %d for field Capacity", wireType) 2628 } 2629 m.Capacity = 0 2630 for shift := uint(0); ; shift += 7 { 2631 if shift >= 64 { 2632 return ErrIntOverflowMetadata 2633 } 2634 if iNdEx >= l { 2635 return io.ErrUnexpectedEOF 2636 } 2637 b := dAtA[iNdEx] 2638 iNdEx++ 2639 m.Capacity |= (int64(b) & 0x7F) << shift 2640 if b < 0x80 { 2641 break 2642 } 2643 } 2644 case 2: 2645 if wireType != 0 { 2646 return fmt.Errorf("proto: wrong wireType = %d for field Available", wireType) 2647 } 2648 m.Available = 0 2649 for shift := uint(0); ; shift += 7 { 2650 if shift >= 64 { 2651 return ErrIntOverflowMetadata 2652 } 2653 if iNdEx >= l { 2654 return io.ErrUnexpectedEOF 2655 } 2656 b := dAtA[iNdEx] 2657 iNdEx++ 2658 m.Available |= (int64(b) & 0x7F) << shift 2659 if b < 0x80 { 2660 break 2661 } 2662 } 2663 case 3: 2664 if wireType != 0 { 2665 return fmt.Errorf("proto: wrong wireType = %d for field RangeCount", wireType) 2666 } 2667 m.RangeCount = 0 2668 for shift := uint(0); ; shift += 7 { 2669 if shift >= 64 { 2670 return ErrIntOverflowMetadata 2671 } 2672 if iNdEx >= l { 2673 return io.ErrUnexpectedEOF 2674 } 2675 b := dAtA[iNdEx] 2676 iNdEx++ 2677 m.RangeCount |= (int32(b) & 0x7F) << shift 2678 if b < 0x80 { 2679 break 2680 } 2681 } 2682 case 4: 2683 if wireType != 0 { 2684 return fmt.Errorf("proto: wrong wireType = %d for field LeaseCount", wireType) 2685 } 2686 m.LeaseCount = 0 2687 for shift := uint(0); ; shift += 7 { 2688 if shift >= 64 { 2689 return ErrIntOverflowMetadata 2690 } 2691 if iNdEx >= l { 2692 return io.ErrUnexpectedEOF 2693 } 2694 b := dAtA[iNdEx] 2695 iNdEx++ 2696 m.LeaseCount |= (int32(b) & 0x7F) << shift 2697 if b < 0x80 { 2698 break 2699 } 2700 } 2701 case 5: 2702 if wireType != 1 { 2703 return fmt.Errorf("proto: wrong wireType = %d for field WritesPerSecond", wireType) 2704 } 2705 var v uint64 2706 if (iNdEx + 8) > l { 2707 return io.ErrUnexpectedEOF 2708 } 2709 v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 2710 iNdEx += 8 2711 m.WritesPerSecond = float64(math.Float64frombits(v)) 2712 case 6: 2713 if wireType != 2 { 2714 return fmt.Errorf("proto: wrong wireType = %d for field BytesPerReplica", wireType) 2715 } 2716 var msglen int 2717 for shift := uint(0); ; shift += 7 { 2718 if shift >= 64 { 2719 return ErrIntOverflowMetadata 2720 } 2721 if iNdEx >= l { 2722 return io.ErrUnexpectedEOF 2723 } 2724 b := dAtA[iNdEx] 2725 iNdEx++ 2726 msglen |= (int(b) & 0x7F) << shift 2727 if b < 0x80 { 2728 break 2729 } 2730 } 2731 if msglen < 0 { 2732 return ErrInvalidLengthMetadata 2733 } 2734 postIndex := iNdEx + msglen 2735 if postIndex > l { 2736 return io.ErrUnexpectedEOF 2737 } 2738 if err := m.BytesPerReplica.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 2739 return err 2740 } 2741 iNdEx = postIndex 2742 case 7: 2743 if wireType != 2 { 2744 return fmt.Errorf("proto: wrong wireType = %d for field WritesPerReplica", wireType) 2745 } 2746 var msglen int 2747 for shift := uint(0); ; shift += 7 { 2748 if shift >= 64 { 2749 return ErrIntOverflowMetadata 2750 } 2751 if iNdEx >= l { 2752 return io.ErrUnexpectedEOF 2753 } 2754 b := dAtA[iNdEx] 2755 iNdEx++ 2756 msglen |= (int(b) & 0x7F) << shift 2757 if b < 0x80 { 2758 break 2759 } 2760 } 2761 if msglen < 0 { 2762 return ErrInvalidLengthMetadata 2763 } 2764 postIndex := iNdEx + msglen 2765 if postIndex > l { 2766 return io.ErrUnexpectedEOF 2767 } 2768 if err := m.WritesPerReplica.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 2769 return err 2770 } 2771 iNdEx = postIndex 2772 case 8: 2773 if wireType != 0 { 2774 return fmt.Errorf("proto: wrong wireType = %d for field Used", wireType) 2775 } 2776 m.Used = 0 2777 for shift := uint(0); ; shift += 7 { 2778 if shift >= 64 { 2779 return ErrIntOverflowMetadata 2780 } 2781 if iNdEx >= l { 2782 return io.ErrUnexpectedEOF 2783 } 2784 b := dAtA[iNdEx] 2785 iNdEx++ 2786 m.Used |= (int64(b) & 0x7F) << shift 2787 if b < 0x80 { 2788 break 2789 } 2790 } 2791 case 9: 2792 if wireType != 0 { 2793 return fmt.Errorf("proto: wrong wireType = %d for field LogicalBytes", wireType) 2794 } 2795 m.LogicalBytes = 0 2796 for shift := uint(0); ; shift += 7 { 2797 if shift >= 64 { 2798 return ErrIntOverflowMetadata 2799 } 2800 if iNdEx >= l { 2801 return io.ErrUnexpectedEOF 2802 } 2803 b := dAtA[iNdEx] 2804 iNdEx++ 2805 m.LogicalBytes |= (int64(b) & 0x7F) << shift 2806 if b < 0x80 { 2807 break 2808 } 2809 } 2810 case 10: 2811 if wireType != 1 { 2812 return fmt.Errorf("proto: wrong wireType = %d for field QueriesPerSecond", wireType) 2813 } 2814 var v uint64 2815 if (iNdEx + 8) > l { 2816 return io.ErrUnexpectedEOF 2817 } 2818 v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:])) 2819 iNdEx += 8 2820 m.QueriesPerSecond = float64(math.Float64frombits(v)) 2821 default: 2822 iNdEx = preIndex 2823 skippy, err := skipMetadata(dAtA[iNdEx:]) 2824 if err != nil { 2825 return err 2826 } 2827 if skippy < 0 { 2828 return ErrInvalidLengthMetadata 2829 } 2830 if (iNdEx + skippy) > l { 2831 return io.ErrUnexpectedEOF 2832 } 2833 iNdEx += skippy 2834 } 2835 } 2836 2837 if iNdEx > l { 2838 return io.ErrUnexpectedEOF 2839 } 2840 return nil 2841 } 2842 func (m *NodeDescriptor) Unmarshal(dAtA []byte) error { 2843 l := len(dAtA) 2844 iNdEx := 0 2845 for iNdEx < l { 2846 preIndex := iNdEx 2847 var wire uint64 2848 for shift := uint(0); ; shift += 7 { 2849 if shift >= 64 { 2850 return ErrIntOverflowMetadata 2851 } 2852 if iNdEx >= l { 2853 return io.ErrUnexpectedEOF 2854 } 2855 b := dAtA[iNdEx] 2856 iNdEx++ 2857 wire |= (uint64(b) & 0x7F) << shift 2858 if b < 0x80 { 2859 break 2860 } 2861 } 2862 fieldNum := int32(wire >> 3) 2863 wireType := int(wire & 0x7) 2864 if wireType == 4 { 2865 return fmt.Errorf("proto: NodeDescriptor: wiretype end group for non-group") 2866 } 2867 if fieldNum <= 0 { 2868 return fmt.Errorf("proto: NodeDescriptor: illegal tag %d (wire type %d)", fieldNum, wire) 2869 } 2870 switch fieldNum { 2871 case 1: 2872 if wireType != 0 { 2873 return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType) 2874 } 2875 m.NodeID = 0 2876 for shift := uint(0); ; shift += 7 { 2877 if shift >= 64 { 2878 return ErrIntOverflowMetadata 2879 } 2880 if iNdEx >= l { 2881 return io.ErrUnexpectedEOF 2882 } 2883 b := dAtA[iNdEx] 2884 iNdEx++ 2885 m.NodeID |= (NodeID(b) & 0x7F) << shift 2886 if b < 0x80 { 2887 break 2888 } 2889 } 2890 case 2: 2891 if wireType != 2 { 2892 return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) 2893 } 2894 var msglen int 2895 for shift := uint(0); ; shift += 7 { 2896 if shift >= 64 { 2897 return ErrIntOverflowMetadata 2898 } 2899 if iNdEx >= l { 2900 return io.ErrUnexpectedEOF 2901 } 2902 b := dAtA[iNdEx] 2903 iNdEx++ 2904 msglen |= (int(b) & 0x7F) << shift 2905 if b < 0x80 { 2906 break 2907 } 2908 } 2909 if msglen < 0 { 2910 return ErrInvalidLengthMetadata 2911 } 2912 postIndex := iNdEx + msglen 2913 if postIndex > l { 2914 return io.ErrUnexpectedEOF 2915 } 2916 if err := m.Address.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 2917 return err 2918 } 2919 iNdEx = postIndex 2920 case 3: 2921 if wireType != 2 { 2922 return fmt.Errorf("proto: wrong wireType = %d for field Attrs", wireType) 2923 } 2924 var msglen int 2925 for shift := uint(0); ; shift += 7 { 2926 if shift >= 64 { 2927 return ErrIntOverflowMetadata 2928 } 2929 if iNdEx >= l { 2930 return io.ErrUnexpectedEOF 2931 } 2932 b := dAtA[iNdEx] 2933 iNdEx++ 2934 msglen |= (int(b) & 0x7F) << shift 2935 if b < 0x80 { 2936 break 2937 } 2938 } 2939 if msglen < 0 { 2940 return ErrInvalidLengthMetadata 2941 } 2942 postIndex := iNdEx + msglen 2943 if postIndex > l { 2944 return io.ErrUnexpectedEOF 2945 } 2946 if err := m.Attrs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 2947 return err 2948 } 2949 iNdEx = postIndex 2950 case 4: 2951 if wireType != 2 { 2952 return fmt.Errorf("proto: wrong wireType = %d for field Locality", wireType) 2953 } 2954 var msglen int 2955 for shift := uint(0); ; shift += 7 { 2956 if shift >= 64 { 2957 return ErrIntOverflowMetadata 2958 } 2959 if iNdEx >= l { 2960 return io.ErrUnexpectedEOF 2961 } 2962 b := dAtA[iNdEx] 2963 iNdEx++ 2964 msglen |= (int(b) & 0x7F) << shift 2965 if b < 0x80 { 2966 break 2967 } 2968 } 2969 if msglen < 0 { 2970 return ErrInvalidLengthMetadata 2971 } 2972 postIndex := iNdEx + msglen 2973 if postIndex > l { 2974 return io.ErrUnexpectedEOF 2975 } 2976 if err := m.Locality.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 2977 return err 2978 } 2979 iNdEx = postIndex 2980 case 5: 2981 if wireType != 2 { 2982 return fmt.Errorf("proto: wrong wireType = %d for field ServerVersion", wireType) 2983 } 2984 var msglen int 2985 for shift := uint(0); ; shift += 7 { 2986 if shift >= 64 { 2987 return ErrIntOverflowMetadata 2988 } 2989 if iNdEx >= l { 2990 return io.ErrUnexpectedEOF 2991 } 2992 b := dAtA[iNdEx] 2993 iNdEx++ 2994 msglen |= (int(b) & 0x7F) << shift 2995 if b < 0x80 { 2996 break 2997 } 2998 } 2999 if msglen < 0 { 3000 return ErrInvalidLengthMetadata 3001 } 3002 postIndex := iNdEx + msglen 3003 if postIndex > l { 3004 return io.ErrUnexpectedEOF 3005 } 3006 if err := m.ServerVersion.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3007 return err 3008 } 3009 iNdEx = postIndex 3010 case 6: 3011 if wireType != 2 { 3012 return fmt.Errorf("proto: wrong wireType = %d for field BuildTag", wireType) 3013 } 3014 var stringLen uint64 3015 for shift := uint(0); ; shift += 7 { 3016 if shift >= 64 { 3017 return ErrIntOverflowMetadata 3018 } 3019 if iNdEx >= l { 3020 return io.ErrUnexpectedEOF 3021 } 3022 b := dAtA[iNdEx] 3023 iNdEx++ 3024 stringLen |= (uint64(b) & 0x7F) << shift 3025 if b < 0x80 { 3026 break 3027 } 3028 } 3029 intStringLen := int(stringLen) 3030 if intStringLen < 0 { 3031 return ErrInvalidLengthMetadata 3032 } 3033 postIndex := iNdEx + intStringLen 3034 if postIndex > l { 3035 return io.ErrUnexpectedEOF 3036 } 3037 m.BuildTag = string(dAtA[iNdEx:postIndex]) 3038 iNdEx = postIndex 3039 case 7: 3040 if wireType != 0 { 3041 return fmt.Errorf("proto: wrong wireType = %d for field StartedAt", wireType) 3042 } 3043 m.StartedAt = 0 3044 for shift := uint(0); ; shift += 7 { 3045 if shift >= 64 { 3046 return ErrIntOverflowMetadata 3047 } 3048 if iNdEx >= l { 3049 return io.ErrUnexpectedEOF 3050 } 3051 b := dAtA[iNdEx] 3052 iNdEx++ 3053 m.StartedAt |= (int64(b) & 0x7F) << shift 3054 if b < 0x80 { 3055 break 3056 } 3057 } 3058 case 8: 3059 if wireType != 2 { 3060 return fmt.Errorf("proto: wrong wireType = %d for field LocalityAddress", wireType) 3061 } 3062 var msglen int 3063 for shift := uint(0); ; shift += 7 { 3064 if shift >= 64 { 3065 return ErrIntOverflowMetadata 3066 } 3067 if iNdEx >= l { 3068 return io.ErrUnexpectedEOF 3069 } 3070 b := dAtA[iNdEx] 3071 iNdEx++ 3072 msglen |= (int(b) & 0x7F) << shift 3073 if b < 0x80 { 3074 break 3075 } 3076 } 3077 if msglen < 0 { 3078 return ErrInvalidLengthMetadata 3079 } 3080 postIndex := iNdEx + msglen 3081 if postIndex > l { 3082 return io.ErrUnexpectedEOF 3083 } 3084 m.LocalityAddress = append(m.LocalityAddress, LocalityAddress{}) 3085 if err := m.LocalityAddress[len(m.LocalityAddress)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3086 return err 3087 } 3088 iNdEx = postIndex 3089 case 9: 3090 if wireType != 2 { 3091 return fmt.Errorf("proto: wrong wireType = %d for field ClusterName", wireType) 3092 } 3093 var stringLen uint64 3094 for shift := uint(0); ; shift += 7 { 3095 if shift >= 64 { 3096 return ErrIntOverflowMetadata 3097 } 3098 if iNdEx >= l { 3099 return io.ErrUnexpectedEOF 3100 } 3101 b := dAtA[iNdEx] 3102 iNdEx++ 3103 stringLen |= (uint64(b) & 0x7F) << shift 3104 if b < 0x80 { 3105 break 3106 } 3107 } 3108 intStringLen := int(stringLen) 3109 if intStringLen < 0 { 3110 return ErrInvalidLengthMetadata 3111 } 3112 postIndex := iNdEx + intStringLen 3113 if postIndex > l { 3114 return io.ErrUnexpectedEOF 3115 } 3116 m.ClusterName = string(dAtA[iNdEx:postIndex]) 3117 iNdEx = postIndex 3118 case 10: 3119 if wireType != 2 { 3120 return fmt.Errorf("proto: wrong wireType = %d for field SQLAddress", wireType) 3121 } 3122 var msglen int 3123 for shift := uint(0); ; shift += 7 { 3124 if shift >= 64 { 3125 return ErrIntOverflowMetadata 3126 } 3127 if iNdEx >= l { 3128 return io.ErrUnexpectedEOF 3129 } 3130 b := dAtA[iNdEx] 3131 iNdEx++ 3132 msglen |= (int(b) & 0x7F) << shift 3133 if b < 0x80 { 3134 break 3135 } 3136 } 3137 if msglen < 0 { 3138 return ErrInvalidLengthMetadata 3139 } 3140 postIndex := iNdEx + msglen 3141 if postIndex > l { 3142 return io.ErrUnexpectedEOF 3143 } 3144 if err := m.SQLAddress.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3145 return err 3146 } 3147 iNdEx = postIndex 3148 default: 3149 iNdEx = preIndex 3150 skippy, err := skipMetadata(dAtA[iNdEx:]) 3151 if err != nil { 3152 return err 3153 } 3154 if skippy < 0 { 3155 return ErrInvalidLengthMetadata 3156 } 3157 if (iNdEx + skippy) > l { 3158 return io.ErrUnexpectedEOF 3159 } 3160 iNdEx += skippy 3161 } 3162 } 3163 3164 if iNdEx > l { 3165 return io.ErrUnexpectedEOF 3166 } 3167 return nil 3168 } 3169 func (m *LocalityAddress) Unmarshal(dAtA []byte) error { 3170 l := len(dAtA) 3171 iNdEx := 0 3172 for iNdEx < l { 3173 preIndex := iNdEx 3174 var wire uint64 3175 for shift := uint(0); ; shift += 7 { 3176 if shift >= 64 { 3177 return ErrIntOverflowMetadata 3178 } 3179 if iNdEx >= l { 3180 return io.ErrUnexpectedEOF 3181 } 3182 b := dAtA[iNdEx] 3183 iNdEx++ 3184 wire |= (uint64(b) & 0x7F) << shift 3185 if b < 0x80 { 3186 break 3187 } 3188 } 3189 fieldNum := int32(wire >> 3) 3190 wireType := int(wire & 0x7) 3191 if wireType == 4 { 3192 return fmt.Errorf("proto: LocalityAddress: wiretype end group for non-group") 3193 } 3194 if fieldNum <= 0 { 3195 return fmt.Errorf("proto: LocalityAddress: illegal tag %d (wire type %d)", fieldNum, wire) 3196 } 3197 switch fieldNum { 3198 case 1: 3199 if wireType != 2 { 3200 return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) 3201 } 3202 var msglen int 3203 for shift := uint(0); ; shift += 7 { 3204 if shift >= 64 { 3205 return ErrIntOverflowMetadata 3206 } 3207 if iNdEx >= l { 3208 return io.ErrUnexpectedEOF 3209 } 3210 b := dAtA[iNdEx] 3211 iNdEx++ 3212 msglen |= (int(b) & 0x7F) << shift 3213 if b < 0x80 { 3214 break 3215 } 3216 } 3217 if msglen < 0 { 3218 return ErrInvalidLengthMetadata 3219 } 3220 postIndex := iNdEx + msglen 3221 if postIndex > l { 3222 return io.ErrUnexpectedEOF 3223 } 3224 if err := m.Address.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3225 return err 3226 } 3227 iNdEx = postIndex 3228 case 2: 3229 if wireType != 2 { 3230 return fmt.Errorf("proto: wrong wireType = %d for field LocalityTier", wireType) 3231 } 3232 var msglen int 3233 for shift := uint(0); ; shift += 7 { 3234 if shift >= 64 { 3235 return ErrIntOverflowMetadata 3236 } 3237 if iNdEx >= l { 3238 return io.ErrUnexpectedEOF 3239 } 3240 b := dAtA[iNdEx] 3241 iNdEx++ 3242 msglen |= (int(b) & 0x7F) << shift 3243 if b < 0x80 { 3244 break 3245 } 3246 } 3247 if msglen < 0 { 3248 return ErrInvalidLengthMetadata 3249 } 3250 postIndex := iNdEx + msglen 3251 if postIndex > l { 3252 return io.ErrUnexpectedEOF 3253 } 3254 if err := m.LocalityTier.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3255 return err 3256 } 3257 iNdEx = postIndex 3258 default: 3259 iNdEx = preIndex 3260 skippy, err := skipMetadata(dAtA[iNdEx:]) 3261 if err != nil { 3262 return err 3263 } 3264 if skippy < 0 { 3265 return ErrInvalidLengthMetadata 3266 } 3267 if (iNdEx + skippy) > l { 3268 return io.ErrUnexpectedEOF 3269 } 3270 iNdEx += skippy 3271 } 3272 } 3273 3274 if iNdEx > l { 3275 return io.ErrUnexpectedEOF 3276 } 3277 return nil 3278 } 3279 func (m *StoreDescriptor) Unmarshal(dAtA []byte) error { 3280 l := len(dAtA) 3281 iNdEx := 0 3282 for iNdEx < l { 3283 preIndex := iNdEx 3284 var wire uint64 3285 for shift := uint(0); ; shift += 7 { 3286 if shift >= 64 { 3287 return ErrIntOverflowMetadata 3288 } 3289 if iNdEx >= l { 3290 return io.ErrUnexpectedEOF 3291 } 3292 b := dAtA[iNdEx] 3293 iNdEx++ 3294 wire |= (uint64(b) & 0x7F) << shift 3295 if b < 0x80 { 3296 break 3297 } 3298 } 3299 fieldNum := int32(wire >> 3) 3300 wireType := int(wire & 0x7) 3301 if wireType == 4 { 3302 return fmt.Errorf("proto: StoreDescriptor: wiretype end group for non-group") 3303 } 3304 if fieldNum <= 0 { 3305 return fmt.Errorf("proto: StoreDescriptor: illegal tag %d (wire type %d)", fieldNum, wire) 3306 } 3307 switch fieldNum { 3308 case 1: 3309 if wireType != 0 { 3310 return fmt.Errorf("proto: wrong wireType = %d for field StoreID", wireType) 3311 } 3312 m.StoreID = 0 3313 for shift := uint(0); ; shift += 7 { 3314 if shift >= 64 { 3315 return ErrIntOverflowMetadata 3316 } 3317 if iNdEx >= l { 3318 return io.ErrUnexpectedEOF 3319 } 3320 b := dAtA[iNdEx] 3321 iNdEx++ 3322 m.StoreID |= (StoreID(b) & 0x7F) << shift 3323 if b < 0x80 { 3324 break 3325 } 3326 } 3327 case 2: 3328 if wireType != 2 { 3329 return fmt.Errorf("proto: wrong wireType = %d for field Attrs", wireType) 3330 } 3331 var msglen int 3332 for shift := uint(0); ; shift += 7 { 3333 if shift >= 64 { 3334 return ErrIntOverflowMetadata 3335 } 3336 if iNdEx >= l { 3337 return io.ErrUnexpectedEOF 3338 } 3339 b := dAtA[iNdEx] 3340 iNdEx++ 3341 msglen |= (int(b) & 0x7F) << shift 3342 if b < 0x80 { 3343 break 3344 } 3345 } 3346 if msglen < 0 { 3347 return ErrInvalidLengthMetadata 3348 } 3349 postIndex := iNdEx + msglen 3350 if postIndex > l { 3351 return io.ErrUnexpectedEOF 3352 } 3353 if err := m.Attrs.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3354 return err 3355 } 3356 iNdEx = postIndex 3357 case 3: 3358 if wireType != 2 { 3359 return fmt.Errorf("proto: wrong wireType = %d for field Node", wireType) 3360 } 3361 var msglen int 3362 for shift := uint(0); ; shift += 7 { 3363 if shift >= 64 { 3364 return ErrIntOverflowMetadata 3365 } 3366 if iNdEx >= l { 3367 return io.ErrUnexpectedEOF 3368 } 3369 b := dAtA[iNdEx] 3370 iNdEx++ 3371 msglen |= (int(b) & 0x7F) << shift 3372 if b < 0x80 { 3373 break 3374 } 3375 } 3376 if msglen < 0 { 3377 return ErrInvalidLengthMetadata 3378 } 3379 postIndex := iNdEx + msglen 3380 if postIndex > l { 3381 return io.ErrUnexpectedEOF 3382 } 3383 if err := m.Node.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3384 return err 3385 } 3386 iNdEx = postIndex 3387 case 4: 3388 if wireType != 2 { 3389 return fmt.Errorf("proto: wrong wireType = %d for field Capacity", wireType) 3390 } 3391 var msglen int 3392 for shift := uint(0); ; shift += 7 { 3393 if shift >= 64 { 3394 return ErrIntOverflowMetadata 3395 } 3396 if iNdEx >= l { 3397 return io.ErrUnexpectedEOF 3398 } 3399 b := dAtA[iNdEx] 3400 iNdEx++ 3401 msglen |= (int(b) & 0x7F) << shift 3402 if b < 0x80 { 3403 break 3404 } 3405 } 3406 if msglen < 0 { 3407 return ErrInvalidLengthMetadata 3408 } 3409 postIndex := iNdEx + msglen 3410 if postIndex > l { 3411 return io.ErrUnexpectedEOF 3412 } 3413 if err := m.Capacity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3414 return err 3415 } 3416 iNdEx = postIndex 3417 default: 3418 iNdEx = preIndex 3419 skippy, err := skipMetadata(dAtA[iNdEx:]) 3420 if err != nil { 3421 return err 3422 } 3423 if skippy < 0 { 3424 return ErrInvalidLengthMetadata 3425 } 3426 if (iNdEx + skippy) > l { 3427 return io.ErrUnexpectedEOF 3428 } 3429 iNdEx += skippy 3430 } 3431 } 3432 3433 if iNdEx > l { 3434 return io.ErrUnexpectedEOF 3435 } 3436 return nil 3437 } 3438 func (m *StoreDeadReplicas) Unmarshal(dAtA []byte) error { 3439 l := len(dAtA) 3440 iNdEx := 0 3441 for iNdEx < l { 3442 preIndex := iNdEx 3443 var wire uint64 3444 for shift := uint(0); ; shift += 7 { 3445 if shift >= 64 { 3446 return ErrIntOverflowMetadata 3447 } 3448 if iNdEx >= l { 3449 return io.ErrUnexpectedEOF 3450 } 3451 b := dAtA[iNdEx] 3452 iNdEx++ 3453 wire |= (uint64(b) & 0x7F) << shift 3454 if b < 0x80 { 3455 break 3456 } 3457 } 3458 fieldNum := int32(wire >> 3) 3459 wireType := int(wire & 0x7) 3460 if wireType == 4 { 3461 return fmt.Errorf("proto: StoreDeadReplicas: wiretype end group for non-group") 3462 } 3463 if fieldNum <= 0 { 3464 return fmt.Errorf("proto: StoreDeadReplicas: illegal tag %d (wire type %d)", fieldNum, wire) 3465 } 3466 switch fieldNum { 3467 case 1: 3468 if wireType != 0 { 3469 return fmt.Errorf("proto: wrong wireType = %d for field StoreID", wireType) 3470 } 3471 m.StoreID = 0 3472 for shift := uint(0); ; shift += 7 { 3473 if shift >= 64 { 3474 return ErrIntOverflowMetadata 3475 } 3476 if iNdEx >= l { 3477 return io.ErrUnexpectedEOF 3478 } 3479 b := dAtA[iNdEx] 3480 iNdEx++ 3481 m.StoreID |= (StoreID(b) & 0x7F) << shift 3482 if b < 0x80 { 3483 break 3484 } 3485 } 3486 case 2: 3487 if wireType != 2 { 3488 return fmt.Errorf("proto: wrong wireType = %d for field Replicas", wireType) 3489 } 3490 var msglen int 3491 for shift := uint(0); ; shift += 7 { 3492 if shift >= 64 { 3493 return ErrIntOverflowMetadata 3494 } 3495 if iNdEx >= l { 3496 return io.ErrUnexpectedEOF 3497 } 3498 b := dAtA[iNdEx] 3499 iNdEx++ 3500 msglen |= (int(b) & 0x7F) << shift 3501 if b < 0x80 { 3502 break 3503 } 3504 } 3505 if msglen < 0 { 3506 return ErrInvalidLengthMetadata 3507 } 3508 postIndex := iNdEx + msglen 3509 if postIndex > l { 3510 return io.ErrUnexpectedEOF 3511 } 3512 m.Replicas = append(m.Replicas, ReplicaIdent{}) 3513 if err := m.Replicas[len(m.Replicas)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3514 return err 3515 } 3516 iNdEx = postIndex 3517 default: 3518 iNdEx = preIndex 3519 skippy, err := skipMetadata(dAtA[iNdEx:]) 3520 if err != nil { 3521 return err 3522 } 3523 if skippy < 0 { 3524 return ErrInvalidLengthMetadata 3525 } 3526 if (iNdEx + skippy) > l { 3527 return io.ErrUnexpectedEOF 3528 } 3529 iNdEx += skippy 3530 } 3531 } 3532 3533 if iNdEx > l { 3534 return io.ErrUnexpectedEOF 3535 } 3536 return nil 3537 } 3538 func (m *Locality) Unmarshal(dAtA []byte) error { 3539 l := len(dAtA) 3540 iNdEx := 0 3541 for iNdEx < l { 3542 preIndex := iNdEx 3543 var wire uint64 3544 for shift := uint(0); ; shift += 7 { 3545 if shift >= 64 { 3546 return ErrIntOverflowMetadata 3547 } 3548 if iNdEx >= l { 3549 return io.ErrUnexpectedEOF 3550 } 3551 b := dAtA[iNdEx] 3552 iNdEx++ 3553 wire |= (uint64(b) & 0x7F) << shift 3554 if b < 0x80 { 3555 break 3556 } 3557 } 3558 fieldNum := int32(wire >> 3) 3559 wireType := int(wire & 0x7) 3560 if wireType == 4 { 3561 return fmt.Errorf("proto: Locality: wiretype end group for non-group") 3562 } 3563 if fieldNum <= 0 { 3564 return fmt.Errorf("proto: Locality: illegal tag %d (wire type %d)", fieldNum, wire) 3565 } 3566 switch fieldNum { 3567 case 1: 3568 if wireType != 2 { 3569 return fmt.Errorf("proto: wrong wireType = %d for field Tiers", wireType) 3570 } 3571 var msglen int 3572 for shift := uint(0); ; shift += 7 { 3573 if shift >= 64 { 3574 return ErrIntOverflowMetadata 3575 } 3576 if iNdEx >= l { 3577 return io.ErrUnexpectedEOF 3578 } 3579 b := dAtA[iNdEx] 3580 iNdEx++ 3581 msglen |= (int(b) & 0x7F) << shift 3582 if b < 0x80 { 3583 break 3584 } 3585 } 3586 if msglen < 0 { 3587 return ErrInvalidLengthMetadata 3588 } 3589 postIndex := iNdEx + msglen 3590 if postIndex > l { 3591 return io.ErrUnexpectedEOF 3592 } 3593 m.Tiers = append(m.Tiers, Tier{}) 3594 if err := m.Tiers[len(m.Tiers)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { 3595 return err 3596 } 3597 iNdEx = postIndex 3598 default: 3599 iNdEx = preIndex 3600 skippy, err := skipMetadata(dAtA[iNdEx:]) 3601 if err != nil { 3602 return err 3603 } 3604 if skippy < 0 { 3605 return ErrInvalidLengthMetadata 3606 } 3607 if (iNdEx + skippy) > l { 3608 return io.ErrUnexpectedEOF 3609 } 3610 iNdEx += skippy 3611 } 3612 } 3613 3614 if iNdEx > l { 3615 return io.ErrUnexpectedEOF 3616 } 3617 return nil 3618 } 3619 func (m *Tier) Unmarshal(dAtA []byte) error { 3620 l := len(dAtA) 3621 iNdEx := 0 3622 for iNdEx < l { 3623 preIndex := iNdEx 3624 var wire uint64 3625 for shift := uint(0); ; shift += 7 { 3626 if shift >= 64 { 3627 return ErrIntOverflowMetadata 3628 } 3629 if iNdEx >= l { 3630 return io.ErrUnexpectedEOF 3631 } 3632 b := dAtA[iNdEx] 3633 iNdEx++ 3634 wire |= (uint64(b) & 0x7F) << shift 3635 if b < 0x80 { 3636 break 3637 } 3638 } 3639 fieldNum := int32(wire >> 3) 3640 wireType := int(wire & 0x7) 3641 if wireType == 4 { 3642 return fmt.Errorf("proto: Tier: wiretype end group for non-group") 3643 } 3644 if fieldNum <= 0 { 3645 return fmt.Errorf("proto: Tier: illegal tag %d (wire type %d)", fieldNum, wire) 3646 } 3647 switch fieldNum { 3648 case 1: 3649 if wireType != 2 { 3650 return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) 3651 } 3652 var stringLen uint64 3653 for shift := uint(0); ; shift += 7 { 3654 if shift >= 64 { 3655 return ErrIntOverflowMetadata 3656 } 3657 if iNdEx >= l { 3658 return io.ErrUnexpectedEOF 3659 } 3660 b := dAtA[iNdEx] 3661 iNdEx++ 3662 stringLen |= (uint64(b) & 0x7F) << shift 3663 if b < 0x80 { 3664 break 3665 } 3666 } 3667 intStringLen := int(stringLen) 3668 if intStringLen < 0 { 3669 return ErrInvalidLengthMetadata 3670 } 3671 postIndex := iNdEx + intStringLen 3672 if postIndex > l { 3673 return io.ErrUnexpectedEOF 3674 } 3675 m.Key = string(dAtA[iNdEx:postIndex]) 3676 iNdEx = postIndex 3677 case 2: 3678 if wireType != 2 { 3679 return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) 3680 } 3681 var stringLen uint64 3682 for shift := uint(0); ; shift += 7 { 3683 if shift >= 64 { 3684 return ErrIntOverflowMetadata 3685 } 3686 if iNdEx >= l { 3687 return io.ErrUnexpectedEOF 3688 } 3689 b := dAtA[iNdEx] 3690 iNdEx++ 3691 stringLen |= (uint64(b) & 0x7F) << shift 3692 if b < 0x80 { 3693 break 3694 } 3695 } 3696 intStringLen := int(stringLen) 3697 if intStringLen < 0 { 3698 return ErrInvalidLengthMetadata 3699 } 3700 postIndex := iNdEx + intStringLen 3701 if postIndex > l { 3702 return io.ErrUnexpectedEOF 3703 } 3704 m.Value = string(dAtA[iNdEx:postIndex]) 3705 iNdEx = postIndex 3706 default: 3707 iNdEx = preIndex 3708 skippy, err := skipMetadata(dAtA[iNdEx:]) 3709 if err != nil { 3710 return err 3711 } 3712 if skippy < 0 { 3713 return ErrInvalidLengthMetadata 3714 } 3715 if (iNdEx + skippy) > l { 3716 return io.ErrUnexpectedEOF 3717 } 3718 iNdEx += skippy 3719 } 3720 } 3721 3722 if iNdEx > l { 3723 return io.ErrUnexpectedEOF 3724 } 3725 return nil 3726 } 3727 func (m *Version) Unmarshal(dAtA []byte) error { 3728 l := len(dAtA) 3729 iNdEx := 0 3730 for iNdEx < l { 3731 preIndex := iNdEx 3732 var wire uint64 3733 for shift := uint(0); ; shift += 7 { 3734 if shift >= 64 { 3735 return ErrIntOverflowMetadata 3736 } 3737 if iNdEx >= l { 3738 return io.ErrUnexpectedEOF 3739 } 3740 b := dAtA[iNdEx] 3741 iNdEx++ 3742 wire |= (uint64(b) & 0x7F) << shift 3743 if b < 0x80 { 3744 break 3745 } 3746 } 3747 fieldNum := int32(wire >> 3) 3748 wireType := int(wire & 0x7) 3749 if wireType == 4 { 3750 return fmt.Errorf("proto: Version: wiretype end group for non-group") 3751 } 3752 if fieldNum <= 0 { 3753 return fmt.Errorf("proto: Version: illegal tag %d (wire type %d)", fieldNum, wire) 3754 } 3755 switch fieldNum { 3756 case 1: 3757 if wireType != 0 { 3758 return fmt.Errorf("proto: wrong wireType = %d for field Major", wireType) 3759 } 3760 m.Major = 0 3761 for shift := uint(0); ; shift += 7 { 3762 if shift >= 64 { 3763 return ErrIntOverflowMetadata 3764 } 3765 if iNdEx >= l { 3766 return io.ErrUnexpectedEOF 3767 } 3768 b := dAtA[iNdEx] 3769 iNdEx++ 3770 m.Major |= (int32(b) & 0x7F) << shift 3771 if b < 0x80 { 3772 break 3773 } 3774 } 3775 case 2: 3776 if wireType != 0 { 3777 return fmt.Errorf("proto: wrong wireType = %d for field Minor", wireType) 3778 } 3779 m.Minor = 0 3780 for shift := uint(0); ; shift += 7 { 3781 if shift >= 64 { 3782 return ErrIntOverflowMetadata 3783 } 3784 if iNdEx >= l { 3785 return io.ErrUnexpectedEOF 3786 } 3787 b := dAtA[iNdEx] 3788 iNdEx++ 3789 m.Minor |= (int32(b) & 0x7F) << shift 3790 if b < 0x80 { 3791 break 3792 } 3793 } 3794 case 3: 3795 if wireType != 0 { 3796 return fmt.Errorf("proto: wrong wireType = %d for field Patch", wireType) 3797 } 3798 m.Patch = 0 3799 for shift := uint(0); ; shift += 7 { 3800 if shift >= 64 { 3801 return ErrIntOverflowMetadata 3802 } 3803 if iNdEx >= l { 3804 return io.ErrUnexpectedEOF 3805 } 3806 b := dAtA[iNdEx] 3807 iNdEx++ 3808 m.Patch |= (int32(b) & 0x7F) << shift 3809 if b < 0x80 { 3810 break 3811 } 3812 } 3813 case 4: 3814 if wireType != 0 { 3815 return fmt.Errorf("proto: wrong wireType = %d for field Unstable", wireType) 3816 } 3817 m.Unstable = 0 3818 for shift := uint(0); ; shift += 7 { 3819 if shift >= 64 { 3820 return ErrIntOverflowMetadata 3821 } 3822 if iNdEx >= l { 3823 return io.ErrUnexpectedEOF 3824 } 3825 b := dAtA[iNdEx] 3826 iNdEx++ 3827 m.Unstable |= (int32(b) & 0x7F) << shift 3828 if b < 0x80 { 3829 break 3830 } 3831 } 3832 default: 3833 iNdEx = preIndex 3834 skippy, err := skipMetadata(dAtA[iNdEx:]) 3835 if err != nil { 3836 return err 3837 } 3838 if skippy < 0 { 3839 return ErrInvalidLengthMetadata 3840 } 3841 if (iNdEx + skippy) > l { 3842 return io.ErrUnexpectedEOF 3843 } 3844 iNdEx += skippy 3845 } 3846 } 3847 3848 if iNdEx > l { 3849 return io.ErrUnexpectedEOF 3850 } 3851 return nil 3852 } 3853 func skipMetadata(dAtA []byte) (n int, err error) { 3854 l := len(dAtA) 3855 iNdEx := 0 3856 for iNdEx < l { 3857 var wire uint64 3858 for shift := uint(0); ; shift += 7 { 3859 if shift >= 64 { 3860 return 0, ErrIntOverflowMetadata 3861 } 3862 if iNdEx >= l { 3863 return 0, io.ErrUnexpectedEOF 3864 } 3865 b := dAtA[iNdEx] 3866 iNdEx++ 3867 wire |= (uint64(b) & 0x7F) << shift 3868 if b < 0x80 { 3869 break 3870 } 3871 } 3872 wireType := int(wire & 0x7) 3873 switch wireType { 3874 case 0: 3875 for shift := uint(0); ; shift += 7 { 3876 if shift >= 64 { 3877 return 0, ErrIntOverflowMetadata 3878 } 3879 if iNdEx >= l { 3880 return 0, io.ErrUnexpectedEOF 3881 } 3882 iNdEx++ 3883 if dAtA[iNdEx-1] < 0x80 { 3884 break 3885 } 3886 } 3887 return iNdEx, nil 3888 case 1: 3889 iNdEx += 8 3890 return iNdEx, nil 3891 case 2: 3892 var length int 3893 for shift := uint(0); ; shift += 7 { 3894 if shift >= 64 { 3895 return 0, ErrIntOverflowMetadata 3896 } 3897 if iNdEx >= l { 3898 return 0, io.ErrUnexpectedEOF 3899 } 3900 b := dAtA[iNdEx] 3901 iNdEx++ 3902 length |= (int(b) & 0x7F) << shift 3903 if b < 0x80 { 3904 break 3905 } 3906 } 3907 iNdEx += length 3908 if length < 0 { 3909 return 0, ErrInvalidLengthMetadata 3910 } 3911 return iNdEx, nil 3912 case 3: 3913 for { 3914 var innerWire uint64 3915 var start int = iNdEx 3916 for shift := uint(0); ; shift += 7 { 3917 if shift >= 64 { 3918 return 0, ErrIntOverflowMetadata 3919 } 3920 if iNdEx >= l { 3921 return 0, io.ErrUnexpectedEOF 3922 } 3923 b := dAtA[iNdEx] 3924 iNdEx++ 3925 innerWire |= (uint64(b) & 0x7F) << shift 3926 if b < 0x80 { 3927 break 3928 } 3929 } 3930 innerWireType := int(innerWire & 0x7) 3931 if innerWireType == 4 { 3932 break 3933 } 3934 next, err := skipMetadata(dAtA[start:]) 3935 if err != nil { 3936 return 0, err 3937 } 3938 iNdEx = start + next 3939 } 3940 return iNdEx, nil 3941 case 4: 3942 return iNdEx, nil 3943 case 5: 3944 iNdEx += 4 3945 return iNdEx, nil 3946 default: 3947 return 0, fmt.Errorf("proto: illegal wireType %d", wireType) 3948 } 3949 } 3950 panic("unreachable") 3951 } 3952 3953 var ( 3954 ErrInvalidLengthMetadata = fmt.Errorf("proto: negative length found during unmarshaling") 3955 ErrIntOverflowMetadata = fmt.Errorf("proto: integer overflow") 3956 ) 3957 3958 func init() { proto.RegisterFile("roachpb/metadata.proto", fileDescriptor_metadata_4d08fb4df4010e8b) } 3959 3960 var fileDescriptor_metadata_4d08fb4df4010e8b = []byte{ 3961 // 1385 bytes of a gzipped FileDescriptorProto 3962 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xcf, 0x6f, 0x1b, 0x45, 3963 0x14, 0xf6, 0xc6, 0xeb, 0x78, 0xfd, 0x9c, 0x1f, 0xf6, 0x08, 0x8a, 0x65, 0x84, 0x9d, 0x2e, 0xad, 3964 0x68, 0x0b, 0x4a, 0xd2, 0xa0, 0xa8, 0x6a, 0xa0, 0x40, 0xdc, 0xa4, 0x95, 0xdb, 0xfc, 0x62, 0xe3, 3965 0x16, 0x89, 0xcb, 0x6a, 0xb2, 0x3b, 0x38, 0x4b, 0xd7, 0xbb, 0xee, 0xec, 0x38, 0xad, 0xef, 0x48, 3966 0x20, 0x21, 0x24, 0x2e, 0x48, 0x1c, 0x2b, 0xa1, 0x9e, 0xb9, 0xf2, 0x27, 0xf4, 0xd8, 0x63, 0x4f, 3967 0x51, 0x49, 0x2f, 0x9c, 0x39, 0xf6, 0x80, 0xd0, 0xcc, 0xce, 0xec, 0xae, 0x53, 0x17, 0xda, 0x20, 3968 0x71, 0x9b, 0xfd, 0xde, 0xf7, 0xbd, 0x7d, 0xf3, 0xe6, 0xcd, 0x7b, 0x03, 0xa7, 0x68, 0x88, 0x9d, 3969 0xfd, 0xfe, 0xde, 0x42, 0x8f, 0x30, 0xec, 0x62, 0x86, 0xe7, 0xfb, 0x34, 0x64, 0x21, 0xaa, 0x3a, 3970 0xa1, 0x73, 0x47, 0xd8, 0xe6, 0x25, 0xa3, 0x5e, 0x1f, 0x30, 0xcf, 0x5f, 0x18, 0x04, 0x94, 0x44, 3971 0xa1, 0x7f, 0x40, 0x5c, 0x1b, 0xbb, 0x2e, 0x8d, 0xe9, 0xf5, 0x9a, 0xb0, 0xed, 0xfb, 0xce, 0x02, 3972 0xf3, 0x7a, 0x24, 0x62, 0xb8, 0xd7, 0x97, 0x96, 0x37, 0xba, 0x61, 0x37, 0x14, 0xcb, 0x05, 0xbe, 3973 0x8a, 0x51, 0xf3, 0x53, 0x80, 0x55, 0xc6, 0xa8, 0xb7, 0x37, 0x60, 0x24, 0x42, 0xef, 0x43, 0x01, 3974 0x33, 0x46, 0xa3, 0x9a, 0x36, 0x97, 0x3f, 0x57, 0x6a, 0xbd, 0xf9, 0xe7, 0x61, 0xb3, 0x3a, 0xc4, 3975 0x3d, 0x7f, 0xc5, 0x14, 0xf0, 0x07, 0x5f, 0xf9, 0xe1, 0x3d, 0xd3, 0x8a, 0x39, 0x2b, 0xfa, 0xcf, 3976 0x0f, 0x9a, 0x39, 0xf3, 0x5b, 0x0d, 0xaa, 0x16, 0xe9, 0xfb, 0x9e, 0x83, 0x99, 0x17, 0x06, 0x1d, 3977 0x4c, 0xbb, 0x84, 0xa1, 0x8b, 0x50, 0x0c, 0x42, 0x97, 0xd8, 0x9e, 0x5b, 0xd3, 0xe6, 0xb4, 0x73, 3978 0x85, 0x56, 0xed, 0xd1, 0x61, 0x33, 0x77, 0x74, 0xd8, 0x9c, 0xdc, 0x0a, 0x5d, 0xd2, 0x5e, 0x7b, 3979 0x9e, 0xac, 0xac, 0x49, 0x4e, 0x6c, 0xbb, 0x68, 0x19, 0x8c, 0x88, 0x85, 0x54, 0x68, 0x26, 0x84, 3980 0xa6, 0x2e, 0x35, 0xc5, 0x5d, 0x8e, 0x0b, 0x91, 0x5a, 0x5a, 0x45, 0xc1, 0x6d, 0xbb, 0x2b, 0x06, 3981 0x8f, 0xe2, 0x8f, 0x07, 0x4d, 0xcd, 0xfc, 0x2b, 0x8d, 0x64, 0x8d, 0x44, 0x0e, 0xf5, 0xfa, 0x2c, 3982 0xa4, 0xff, 0x5f, 0x24, 0xe8, 0x0a, 0x00, 0x8d, 0x7f, 0xcf, 0x85, 0x79, 0x21, 0x6c, 0x48, 0x61, 3983 0x49, 0x06, 0x26, 0xa4, 0xe9, 0x87, 0x55, 0x92, 0x8a, 0xb6, 0x8b, 0x96, 0x40, 0x67, 0xc3, 0x3e, 3984 0xa9, 0xe9, 0x73, 0xda, 0xb9, 0x99, 0xa5, 0xc6, 0xfc, 0x0b, 0xe7, 0x3e, 0x2f, 0x65, 0x9d, 0x61, 3985 0x9f, 0x58, 0x82, 0xbb, 0x32, 0xc5, 0x37, 0xff, 0xdb, 0x83, 0xa6, 0x26, 0x12, 0xf0, 0xbd, 0x06, 3986 0x53, 0xca, 0xb5, 0x4b, 0x02, 0xc6, 0x37, 0x42, 0x71, 0xd0, 0x4d, 0x36, 0x9f, 0x4f, 0x37, 0x62, 3987 0x71, 0x3c, 0xde, 0x88, 0x5c, 0x5a, 0x45, 0xc1, 0x6d, 0xbb, 0x68, 0x0d, 0x8a, 0x32, 0x2c, 0xb1, 3988 0xfd, 0xf2, 0xd2, 0x99, 0x97, 0x07, 0x93, 0x66, 0xba, 0xa5, 0x73, 0xdf, 0x96, 0x92, 0x9a, 0xbf, 3989 0xe6, 0x61, 0x56, 0xb8, 0xce, 0x1c, 0xc6, 0x09, 0x03, 0x3a, 0x0b, 0xa5, 0x88, 0x61, 0xca, 0xec, 3990 0x3b, 0x64, 0x28, 0x42, 0x9a, 0x6a, 0x19, 0xcf, 0x0f, 0x9b, 0xba, 0x75, 0x93, 0x0c, 0x2d, 0x43, 3991 0x98, 0x6e, 0x92, 0x21, 0x3a, 0x0d, 0x45, 0x12, 0xb8, 0x82, 0x94, 0x3f, 0x46, 0x9a, 0x24, 0x81, 3992 0xcb, 0x29, 0x5f, 0x40, 0xd5, 0x0b, 0x18, 0xa1, 0x01, 0xf6, 0x6d, 0x19, 0x68, 0x54, 0xd3, 0xe7, 3993 0xf2, 0xaf, 0xb9, 0xc9, 0x8a, 0x72, 0x22, 0x09, 0x11, 0xba, 0x01, 0xb3, 0x01, 0xb9, 0xcf, 0xec, 3994 0x4c, 0x05, 0x14, 0x44, 0x05, 0x98, 0x72, 0x83, 0xd3, 0x5b, 0xe4, 0x3e, 0x7b, 0x49, 0x15, 0x4c, 3995 0x07, 0x19, 0x9b, 0x8b, 0xce, 0x00, 0x74, 0x49, 0x40, 0xa8, 0xb8, 0x50, 0xb5, 0x49, 0x91, 0xa7, 3996 0xf8, 0xbf, 0x19, 0x1c, 0x7d, 0x0c, 0x10, 0x31, 0xcf, 0xb9, 0x33, 0xb4, 0xf7, 0x3c, 0x56, 0x2b, 3997 0x8a, 0x83, 0x7a, 0x27, 0xb3, 0x07, 0xde, 0x08, 0xe6, 0xf7, 0x7d, 0x67, 0xbe, 0xa3, 0x1a, 0x81, 3998 0x55, 0x8a, 0x05, 0x2d, 0x8f, 0x8d, 0x56, 0xce, 0x0d, 0xdd, 0x30, 0x2a, 0x25, 0xf3, 0xa1, 0x06, 3999 0xe5, 0x1d, 0x42, 0x1d, 0x12, 0x30, 0xcf, 0x27, 0x11, 0x3a, 0x05, 0xf9, 0xfe, 0xc5, 0x45, 0x71, 4000 0x50, 0x9a, 0x0c, 0x80, 0x03, 0x02, 0x5f, 0x5a, 0x16, 0x07, 0x91, 0xe2, 0x4b, 0xcb, 0x02, 0x5f, 4001 0x5e, 0x14, 0xb9, 0x4f, 0xf1, 0xe5, 0x98, 0x7f, 0x69, 0x59, 0x14, 0x76, 0x8a, 0x5f, 0x8a, 0xf9, 4002 0x97, 0x17, 0x45, 0x9e, 0x52, 0xfc, 0xf2, 0x22, 0xaa, 0x81, 0xde, 0xdf, 0xc4, 0xf7, 0xc5, 0xce, 4003 0x95, 0x41, 0x20, 0xb2, 0xe5, 0x3c, 0xcf, 0xc3, 0xb4, 0xb8, 0x7d, 0x57, 0x71, 0x1f, 0x3b, 0x1e, 4004 0x1b, 0xa2, 0x39, 0x30, 0x1c, 0xb9, 0x96, 0x75, 0x15, 0xab, 0x12, 0x14, 0x99, 0x50, 0xc2, 0x07, 4005 0xd8, 0xf3, 0xf1, 0x9e, 0x4f, 0x44, 0xe4, 0x8a, 0x92, 0xc2, 0xe8, 0x2c, 0x94, 0xe3, 0xea, 0x74, 4006 0xc2, 0x41, 0xc0, 0xe4, 0x0d, 0x96, 0x89, 0x17, 0x86, 0xab, 0x1c, 0xe7, 0x34, 0x9f, 0xe0, 0x48, 4007 0xd1, 0xf4, 0x2c, 0x4d, 0x18, 0x62, 0xda, 0x22, 0x54, 0xef, 0x51, 0x8f, 0x91, 0xc8, 0xee, 0x13, 4008 0x6a, 0x47, 0xc4, 0x09, 0x03, 0x77, 0x64, 0xaf, 0xb3, 0xb1, 0x79, 0x87, 0xd0, 0x5d, 0x61, 0x44, 4009 0x3b, 0x50, 0xdd, 0x1b, 0x2a, 0x81, 0xba, 0x81, 0x93, 0xe2, 0x60, 0xc7, 0xb5, 0x83, 0xcc, 0x51, 4010 0x29, 0x8f, 0x42, 0xbe, 0x43, 0xa8, 0xac, 0x25, 0x64, 0x01, 0xca, 0xc4, 0xa0, 0x5c, 0x16, 0x5f, 4011 0xc3, 0x65, 0x25, 0x09, 0x52, 0xf9, 0xac, 0x81, 0x3e, 0x88, 0x88, 0x5b, 0x33, 0x32, 0x49, 0x14, 4012 0x08, 0x3a, 0x0f, 0xd3, 0x7e, 0xd8, 0xf5, 0x1c, 0xec, 0xdb, 0x22, 0x90, 0x5a, 0x29, 0x43, 0x99, 4013 0x92, 0xa6, 0x16, 0xb7, 0xa0, 0x25, 0x40, 0x77, 0x07, 0x84, 0x7a, 0xa3, 0xd9, 0x81, 0x4c, 0x76, 4014 0x2a, 0xd2, 0x9e, 0xa4, 0x47, 0x1e, 0xfe, 0x53, 0x1d, 0x66, 0x78, 0xbf, 0xfe, 0x6f, 0x2d, 0xfe, 4015 0x13, 0x28, 0xf2, 0xa1, 0x49, 0xa2, 0x48, 0xb6, 0xb8, 0xc6, 0xf1, 0x9b, 0x73, 0x2b, 0x19, 0xaf, 4016 0xab, 0xae, 0x9b, 0x34, 0x37, 0x29, 0x42, 0x97, 0xd5, 0xa0, 0xcc, 0xbf, 0x70, 0xef, 0x54, 0x2e, 4017 0xd3, 0xb1, 0x2a, 0xc5, 0xb1, 0x02, 0x5d, 0x01, 0xc3, 0x0f, 0x1d, 0xec, 0xf3, 0x5a, 0xd5, 0x85, 4018 0xfa, 0xed, 0x31, 0xea, 0x0d, 0x49, 0x51, 0x85, 0xac, 0x24, 0xe8, 0x1a, 0x4c, 0xef, 0x12, 0x7a, 4019 0x40, 0xe8, 0x6d, 0x42, 0x23, 0xde, 0x1f, 0x0a, 0xc2, 0x47, 0x7d, 0x8c, 0x0f, 0xc9, 0x90, 0x2e, 4020 0x46, 0x65, 0xe8, 0x34, 0x94, 0xf6, 0x06, 0x9e, 0xef, 0xda, 0x0c, 0x77, 0x45, 0x91, 0x95, 0xd4, 4021 0xaf, 0x04, 0xdc, 0xc1, 0x5d, 0xf4, 0x2e, 0xef, 0x30, 0x98, 0x32, 0xfe, 0xc2, 0x88, 0x3b, 0x4c, 4022 0x72, 0x69, 0x24, 0xbe, 0xca, 0xd0, 0x2e, 0x54, 0x54, 0x6c, 0xb6, 0x4a, 0xa9, 0x21, 0x1a, 0xaa, 4023 0xf9, 0x0f, 0xdb, 0x5a, 0x8d, 0x99, 0xaa, 0x6e, 0xfd, 0x51, 0x18, 0xbd, 0x07, 0x53, 0x8e, 0x3f, 4024 0x88, 0x18, 0xa1, 0x76, 0x80, 0x7b, 0x44, 0x14, 0x92, 0x8a, 0xaf, 0x2c, 0x2d, 0x5b, 0xb8, 0x47, 4025 0xd0, 0x2e, 0x94, 0xa3, 0xbb, 0x7e, 0xf2, 0x63, 0x78, 0xa5, 0xb3, 0x44, 0xb2, 0x3c, 0x60, 0xf7, 4026 0xf3, 0x0d, 0xf9, 0x47, 0x0b, 0xa2, 0xbb, 0xbe, 0x5c, 0x9b, 0x3f, 0x69, 0x30, 0x7b, 0x2c, 0xd0, 4027 0x6c, 0xc1, 0x68, 0x27, 0x29, 0x98, 0x16, 0xbf, 0x1b, 0x32, 0x4d, 0xcc, 0x23, 0x54, 0x96, 0xdd, 4028 0x5b, 0x63, 0x72, 0xd4, 0xf1, 0x08, 0x4d, 0x2f, 0x4d, 0xac, 0xe1, 0x98, 0xf9, 0xcd, 0x04, 0xcc, 4029 0x8a, 0xbe, 0x37, 0x3a, 0x51, 0x93, 0xb7, 0x8a, 0xf6, 0xea, 0x6f, 0x95, 0xa4, 0x7e, 0x27, 0x5e, 4030 0xbb, 0x7e, 0x3f, 0x02, 0x9d, 0x5f, 0x22, 0x59, 0xf9, 0xa7, 0xc7, 0x28, 0x47, 0xaf, 0xa7, 0x6a, 4031 0x11, 0x5c, 0x84, 0x5a, 0x99, 0x46, 0x1d, 0x17, 0xff, 0xdc, 0x18, 0x07, 0x23, 0xcd, 0xfd, 0x78, 4032 0x2b, 0x37, 0x7f, 0xd0, 0xa0, 0x2a, 0xd3, 0x80, 0xdd, 0x64, 0x00, 0x9f, 0x30, 0x11, 0xab, 0x60, 4033 0x24, 0xef, 0x80, 0x09, 0x51, 0xb6, 0xcd, 0x97, 0xbf, 0x03, 0xc4, 0xab, 0x4a, 0xc5, 0xa3, 0x64, 4034 0xe6, 0x3a, 0x18, 0xaa, 0x5a, 0xd0, 0x87, 0x50, 0xe0, 0xa7, 0x1b, 0x3f, 0xa0, 0xff, 0xf5, 0x78, 4035 0x63, 0xae, 0x6c, 0x6c, 0x9f, 0x81, 0xce, 0x4d, 0x7c, 0x2a, 0xf2, 0x17, 0x8c, 0x96, 0x29, 0x79, 4036 0x0e, 0xa0, 0x3a, 0x14, 0x0e, 0xb0, 0x3f, 0x88, 0xa7, 0x97, 0xb2, 0xc4, 0x90, 0xf4, 0xf0, 0x50, 4037 0x83, 0xa2, 0xba, 0xde, 0x17, 0xa0, 0xd4, 0xc3, 0x5f, 0x87, 0xd4, 0x3e, 0xc0, 0xbe, 0xcc, 0xc7, 4038 0xb4, 0xcc, 0x47, 0x61, 0x93, 0x1b, 0x2c, 0x43, 0xd8, 0x6f, 0x63, 0x5f, 0x70, 0xbd, 0x40, 0x72, 4039 0x27, 0x8e, 0x71, 0xb9, 0xc1, 0x32, 0x84, 0x9d, 0x73, 0xeb, 0x50, 0xe8, 0x63, 0xe6, 0xec, 0x8f, 4040 0x4c, 0xc7, 0x18, 0xe2, 0x53, 0x78, 0x10, 0x44, 0x4c, 0x8c, 0xd8, 0xec, 0x54, 0x4c, 0xd0, 0x38, 4041 0xce, 0x0b, 0x3e, 0x94, 0x33, 0x4f, 0x59, 0x34, 0x03, 0x70, 0x7b, 0xbb, 0xb3, 0x6e, 0xd9, 0xd7, 4042 0x6e, 0x6d, 0x6c, 0x54, 0x72, 0x08, 0xc1, 0x4c, 0xfc, 0xdd, 0xde, 0xba, 0xba, 0xbd, 0xd9, 0xde, 4043 0xba, 0x5e, 0x99, 0x48, 0xb1, 0xed, 0x5b, 0x9d, 0xeb, 0xdb, 0x1c, 0xcb, 0xa7, 0xd8, 0xda, 0xfa, 4044 0xe6, 0x76, 0x87, 0x63, 0x3a, 0x2a, 0x43, 0x71, 0x63, 0x7d, 0xd5, 0xda, 0x5a, 0xb7, 0x2a, 0x5a, 4045 0x5d, 0xff, 0xee, 0x97, 0x46, 0xae, 0x75, 0xfe, 0xd1, 0xef, 0x8d, 0xdc, 0xa3, 0xa3, 0x86, 0xf6, 4046 0xf8, 0xa8, 0xa1, 0x3d, 0x39, 0x6a, 0x68, 0x4f, 0x8f, 0x1a, 0xda, 0x8f, 0xcf, 0x1a, 0xb9, 0xc7, 4047 0xcf, 0x1a, 0xb9, 0x27, 0xcf, 0x1a, 0xb9, 0x2f, 0x8b, 0xf2, 0x68, 0xfe, 0x0e, 0x00, 0x00, 0xff, 4048 0xff, 0x6e, 0xce, 0xc8, 0xc3, 0x84, 0x0d, 0x00, 0x00, 4049 }