Read() can return fewer bytes than requested. ReadExactly() will call Read() repeatedly until we have read as many bytes as we need. PiperOrigin-RevId: 518719418