| 195 | } |
| 196 | |
| 197 | func (m *Message) ReadFrom(r io.Reader) (int64, error) { |
| 198 | m.buf = m.buf[:0] |
| 199 | var header MessageHeader |
| 200 | if _, err := io.ReadFull(r, header[:]); err != nil { |
| 201 | return 0, err |
| 202 | } |
| 203 | m.buf = append(m.buf, header[:]...) |
| 204 | bodyLen := header.BodyLen() |
| 205 | m.buf = extendToLen(m.buf, len(m.buf)+bodyLen) |
| 206 | if _, err := io.ReadFull(r, m.buf[HeaderLen:]); err != nil { |
| 207 | return 0, err |
| 208 | } |
| 209 | return int64(len(m.buf)), nil |
| 210 | } |
| 211 | |
| 212 | func (m *Message) ReadDatagramFrom(r io.Reader, alloc int) error { |
| 213 | if len(m.buf) < alloc { |