send variable length messages
shortened sleep
If we read all the data I am pretty sure it's ok to reset the offset to 0