EncodeMsg encodes the message to the writer.
(writer *msgp.Writer)
| 703 | |
| 704 | // EncodeMsg encodes the message to the writer. |
| 705 | func (s UintSorted) EncodeMsg(writer *msgp.Writer) error { |
| 706 | if s == nil { |
| 707 | return writer.WriteNil() |
| 708 | } |
| 709 | err := writer.WriteArrayHeader(uint32(len(s))) |
| 710 | if err != nil { |
| 711 | return err |
| 712 | } |
| 713 | keys := make([]uint, 0, len(s)) |
| 714 | for k := range s { |
| 715 | keys = append(keys, k) |
| 716 | } |
| 717 | slices.SortFunc(keys, func(a, b uint) int { |
| 718 | if a < b { |
| 719 | return -1 |
| 720 | } |
| 721 | return 1 |
| 722 | }) |
| 723 | |
| 724 | for _, k := range keys { |
| 725 | err = writer.WriteUint(k) |
| 726 | if err != nil { |
| 727 | return err |
| 728 | } |
| 729 | } |
| 730 | return nil |
| 731 | } |
| 732 | |
| 733 | // MarshalMsg encodes the message to the bytes. |
| 734 | func (s UintSorted) MarshalMsg(bytes []byte) ([]byte, error) { |