error: lvalue required as unary '&' operand
if (*(&wifiClient.peek()^ + incomingDataTransferSize) == EOT)
(I put in the ^ where it was on the error code.)
(EOT is defined as 0x0D earlier.)
I want to see if the last byte in the TCP/IP buffer equals EOT. Since the system won't let me do that using Client.read() or Client.peek(), I'll do it directly in memory.
The idea is to avoid doing anything with the data until the transmission is complete. I don't want to waste processing time waiting for all of a transmission to come in.
Then don't. Have the code do something useful while waiting, checking periodically for more data. Only when the data transfer has completed and been buffered do you need to process it.
It would be nice to pop the buffer stack into something useful, push the last byte back onto the stack, then check what the last byte was, but that's beginning to look like wishful thinking.