DecodeMsg decodes the message from the reader.
(reader *msgp.Reader)
| 491 | |
| 492 | // DecodeMsg decodes the message from the reader. |
| 493 | func (s *IntSorted) DecodeMsg(reader *msgp.Reader) error { |
| 494 | if reader.IsNil() { |
| 495 | *s = nil |
| 496 | return reader.Skip() |
| 497 | } |
| 498 | sz, err := reader.ReadArrayHeader() |
| 499 | if err != nil { |
| 500 | return err |
| 501 | } |
| 502 | dst := *s |
| 503 | if dst == nil { |
| 504 | dst = make(IntSorted, sz) |
| 505 | } else { |
| 506 | clear(dst) |
| 507 | } |
| 508 | for range sz { |
| 509 | var k int |
| 510 | k, err = reader.ReadInt() |
| 511 | if err != nil { |
| 512 | return err |
| 513 | } |
| 514 | dst[int(k)] = struct{}{} |
| 515 | } |
| 516 | *s = dst |
| 517 | return nil |
| 518 | } |
| 519 | |
| 520 | // UnmarshalMsg decodes the message from the bytes. |
| 521 | func (s *IntSorted) UnmarshalMsg(bytes []byte) ([]byte, error) { |