| 637 | } |
| 638 | |
| 639 | func (m *InstanceDesc) Size() (n int) { |
| 640 | if m == nil { |
| 641 | return 0 |
| 642 | } |
| 643 | var l int |
| 644 | _ = l |
| 645 | l = len(m.Addr) |
| 646 | if l > 0 { |
| 647 | n += 1 + l + sovRing(uint64(l)) |
| 648 | } |
| 649 | if m.Timestamp != 0 { |
| 650 | n += 1 + sovRing(uint64(m.Timestamp)) |
| 651 | } |
| 652 | if m.State != 0 { |
| 653 | n += 1 + sovRing(uint64(m.State)) |
| 654 | } |
| 655 | if len(m.Tokens) > 0 { |
| 656 | l = 0 |
| 657 | for _, e := range m.Tokens { |
| 658 | l += sovRing(uint64(e)) |
| 659 | } |
| 660 | n += 1 + sovRing(uint64(l)) + l |
| 661 | } |
| 662 | l = len(m.Zone) |
| 663 | if l > 0 { |
| 664 | n += 1 + l + sovRing(uint64(l)) |
| 665 | } |
| 666 | if m.RegisteredTimestamp != 0 { |
| 667 | n += 1 + sovRing(uint64(m.RegisteredTimestamp)) |
| 668 | } |
| 669 | l = len(m.Id) |
| 670 | if l > 0 { |
| 671 | n += 1 + l + sovRing(uint64(l)) |
| 672 | } |
| 673 | if m.ReadOnlyUpdatedTimestamp != 0 { |
| 674 | n += 1 + sovRing(uint64(m.ReadOnlyUpdatedTimestamp)) |
| 675 | } |
| 676 | if m.ReadOnly { |
| 677 | n += 2 |
| 678 | } |
| 679 | if len(m.Versions) > 0 { |
| 680 | for k, v := range m.Versions { |
| 681 | _ = k |
| 682 | _ = v |
| 683 | mapEntrySize := 1 + sovRing(uint64(k)) + 1 + sovRing(uint64(v)) |
| 684 | n += mapEntrySize + 1 + sovRing(uint64(mapEntrySize)) |
| 685 | } |
| 686 | } |
| 687 | return n |
| 688 | } |
| 689 | |
| 690 | func sovRing(x uint64) (n int) { |
| 691 | return (math_bits.Len64(x|1) + 6) / 7 |