I'm trying to understand the consequence of using Nagle's algorithm
with different send buffer size
values.
My current understanding of the send buffer
is that it refers to a part of memory where a copy of the unacknowledged sent packet is stored. Once an ACK is received for the that packet, the send buffer
is cleared. If an ACK is not received, the packet is sent again from the send buffer
. Please correct me if I'm wrong.
Now my questions -
- If the
send buffer
is full, does that mean that no new packets will be sent to the receiver, even if Nagle's is disabled? - What happens if I set the
send buffer size
to 0 and disable Nagle's? Do I just lose the ability to resend a lost packet in case an ACK never arrives?