| 517 | } |
| 518 | |
| 519 | func (m *InstanceDesc) Size() (n int) { |
| 520 | if m == nil { |
| 521 | return 0 |
| 522 | } |
| 523 | var l int |
| 524 | _ = l |
| 525 | l = len(m.Addr) |
| 526 | if l > 0 { |
| 527 | n += 1 + l + sovRing(uint64(l)) |
| 528 | } |
| 529 | if m.Timestamp != 0 { |
| 530 | n += 1 + sovRing(uint64(m.Timestamp)) |
| 531 | } |
| 532 | if m.State != 0 { |
| 533 | n += 1 + sovRing(uint64(m.State)) |
| 534 | } |
| 535 | if len(m.Tokens) > 0 { |
| 536 | l = 0 |
| 537 | for _, e := range m.Tokens { |
| 538 | l += sovRing(uint64(e)) |
| 539 | } |
| 540 | n += 1 + sovRing(uint64(l)) + l |
| 541 | } |
| 542 | l = len(m.Zone) |
| 543 | if l > 0 { |
| 544 | n += 1 + l + sovRing(uint64(l)) |
| 545 | } |
| 546 | if m.RegisteredTimestamp != 0 { |
| 547 | n += 1 + sovRing(uint64(m.RegisteredTimestamp)) |
| 548 | } |
| 549 | return n |
| 550 | } |
| 551 | |
| 552 | func sovRing(x uint64) (n int) { |
| 553 | return (math_bits.Len64(x|1) + 6) / 7 |