EncodeMsg encodes the message to the writer.
(writer *msgp.Writer)
| 1843 | |
| 1844 | // EncodeMsg encodes the message to the writer. |
| 1845 | func (s Int16Sorted) EncodeMsg(writer *msgp.Writer) error { |
| 1846 | if s == nil { |
| 1847 | return writer.WriteNil() |
| 1848 | } |
| 1849 | err := writer.WriteArrayHeader(uint32(len(s))) |
| 1850 | if err != nil { |
| 1851 | return err |
| 1852 | } |
| 1853 | keys := make([]int16, 0, len(s)) |
| 1854 | for k := range s { |
| 1855 | keys = append(keys, k) |
| 1856 | } |
| 1857 | slices.SortFunc(keys, func(a, b int16) int { |
| 1858 | if a < b { |
| 1859 | return -1 |
| 1860 | } |
| 1861 | return 1 |
| 1862 | }) |
| 1863 | |
| 1864 | for _, k := range keys { |
| 1865 | err = writer.WriteInt16(k) |
| 1866 | if err != nil { |
| 1867 | return err |
| 1868 | } |
| 1869 | } |
| 1870 | return nil |
| 1871 | } |
| 1872 | |
| 1873 | // MarshalMsg encodes the message to the bytes. |
| 1874 | func (s Int16Sorted) MarshalMsg(bytes []byte) ([]byte, error) { |