EncodeMsg encodes the message to the writer.
(writer *msgp.Writer)
| 1558 | |
| 1559 | // EncodeMsg encodes the message to the writer. |
| 1560 | func (s Uint8Sorted) EncodeMsg(writer *msgp.Writer) error { |
| 1561 | if s == nil { |
| 1562 | return writer.WriteNil() |
| 1563 | } |
| 1564 | err := writer.WriteArrayHeader(uint32(len(s))) |
| 1565 | if err != nil { |
| 1566 | return err |
| 1567 | } |
| 1568 | keys := make([]uint8, 0, len(s)) |
| 1569 | for k := range s { |
| 1570 | keys = append(keys, k) |
| 1571 | } |
| 1572 | slices.SortFunc(keys, func(a, b uint8) int { |
| 1573 | if a < b { |
| 1574 | return -1 |
| 1575 | } |
| 1576 | return 1 |
| 1577 | }) |
| 1578 | |
| 1579 | for _, k := range keys { |
| 1580 | err = writer.WriteUint8(k) |
| 1581 | if err != nil { |
| 1582 | return err |
| 1583 | } |
| 1584 | } |
| 1585 | return nil |
| 1586 | } |
| 1587 | |
| 1588 | // MarshalMsg encodes the message to the bytes. |
| 1589 | func (s Uint8Sorted) MarshalMsg(bytes []byte) ([]byte, error) { |