If message are huge the current code doesn't read the full message
body but only as much as the read buffer on that platform can
carry. To still read all available bytes for the message body we
continue reading until we received all bytes and the message body is
complete.