INNER CODE UNIT · Go
readPacket
wavesplatform/gowaves · cmd/binclient/main.go:139
func readPacket(r io.Reader) ([]byte, error) {
packetLen := [4]byte{}
_, err := io.ReadFull(r, packetLen[:])
if err != nil {
return nil, err
}
l := binary.BigEndian.Uint32(packetLen[:])
buf := make([]byte, l+4)
copy(buf, packetLen[:])
_, err = io.ReadFull(r, buf[4:])
if err != nil {
return nil, err
}
return buf, nil
}