combine two small reads into one

There's no need to read 1 byte and then immediately read 4 more, rather
than just reading 5 bytes to begin with. Also, with this change rxMsg is
no longer swallowing an error from ReadByte.
pull/61/head
Blake Gentry 2015-01-11 16:47:31 -08:00
parent 1e92e5afe6
commit 3ec870dc3c
1 changed files with 3 additions and 4 deletions

View File

@ -36,11 +36,10 @@ func (r *msgReader) rxMsg() (t byte, err error) {
io.CopyN(ioutil.Discard, r.reader, int64(r.msgBytesRemaining))
}
t, err = r.reader.ReadByte()
b := r.buf[0:4]
b := r.buf[0:5]
_, err = io.ReadFull(r.reader, b)
r.msgBytesRemaining = int32(binary.BigEndian.Uint32(b)) - 4
return t, err
r.msgBytesRemaining = int32(binary.BigEndian.Uint32(b[1:])) - 4
return b[0], err
}
func (r *msgReader) readByte() byte {