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)) io.CopyN(ioutil.Discard, r.reader, int64(r.msgBytesRemaining))
} }
t, err = r.reader.ReadByte() b := r.buf[0:5]
b := r.buf[0:4]
_, err = io.ReadFull(r.reader, b) _, err = io.ReadFull(r.reader, b)
r.msgBytesRemaining = int32(binary.BigEndian.Uint32(b)) - 4 r.msgBytesRemaining = int32(binary.BigEndian.Uint32(b[1:])) - 4
return t, err return b[0], err
} }
func (r *msgReader) readByte() byte { func (r *msgReader) readByte() byte {