I'm worried that this could throw us into a `while True:` loop if the amount of data we receive first isn't enough yet for a full header.