From 3ec870dc3c96ec2de164182870738be9f4cd7c88 Mon Sep 17 00:00:00 2001 From: Blake Gentry Date: Sun, 11 Jan 2015 16:47:31 -0800 Subject: [PATCH] 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. --- msg_reader.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/msg_reader.go b/msg_reader.go index c958253c..0b72c30c 100644 --- a/msg_reader.go +++ b/msg_reader.go @@ -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 {