The original offset needs to be separately tracked to assert that an OK packet is not the first packet in the buffer. The functional offset into the buffer is modified to reduce the need to iterate over buffers that have already been processed.