If non null, instead of becoming empty, popFront will attempt to read data from the socket
Flags to pass to recv in the event of a read from socket
The amount of data read from the network, if any (recv return value)
ErrnoException if recv returned a negative value
Discard the current item (front) and process the next field
This will change the current front. If not enough data is available, and a non-null socket is provided, it will attempt to read as much as possible data from this socket.