Fix/bad offsets

Pretty sure this is all set, but going to do some testing in our plant. If things work well, I'll be merging this in within the next couple days.

I still need to write a test to see what happens when message size > fetch_size but I looked at the code quickly and I don't think much will happen.