Say there is a TCP non-blocking socket which is continuously sending data without consuming incoming data, at some time the recv buffer will be filled and any packets received further will be discarded. But the peer socket is continuously consuming data so the send buffer has enough space in it.
What would be the behavior of this socket ? Will the send call pause and return EWOULDBLOCK when recv buffer is full. Or will the send succeed? if so how does the socket process the acknowledgment of sent packets.
send. Send won't block either. Same as recv, it'll only send some of the data if there's space, and if there's no space at all, it'll return EWOULDBLOCK - user253751