> Do I understand correctly, that if I use unbuffered mode with a large > user buffer (say 64 KB), then RFC 1122 still may pause NuttX TCP stack > if an odd number of TCP segments are constructed based on the 64 KB > buffer? Thus 0.5 second delay may occur at the end of 64 KB buffer > during the last segment
With large user buffers like that there may be some pauses if the IOB buffers are exhausted. But no, in general nothing pauses the buffered send. It will send data without receiving any ACKs at all, at least until a timeout occurs (which it shouldn't). Otherwise, the presence or lack of ACKs has no effect on the data transfer. The only effect of the ACK is (1) to update the ACKed sequence number, and (2) to free the buffers holding the ACKed data. Receiving the ACKs is important only to prevent retransmissions and to prevent running out of IOBs