WriteNetString writes data to a big-endian netstring on a Writer. Size is always a 32-bit unsigned int.
(w io.Writer, data []byte)
| 8 | // WriteNetString writes data to a big-endian netstring on a Writer. |
| 9 | // Size is always a 32-bit unsigned int. |
| 10 | func WriteNetString(w io.Writer, data []byte) (written int, err error) { |
| 11 | size := make([]byte, 4) |
| 12 | binary.BigEndian.PutUint32(size, uint32(len(data))) |
| 13 | if written, err = w.Write(size); err != nil { |
| 14 | return |
| 15 | } |
| 16 | return w.Write(data) |
| 17 | } |
| 18 | |
| 19 | // ReadNetString reads data from a big-endian netstring. |
| 20 | func ReadNetString(r io.Reader) (data []byte, err error) { |