>
> Also, even if the TCP connection stalls for the ACK, why does it take multiple
> miliseconds for the ACK to come back over the localhost?
>
> Thanks,
> Ben
>
NODELAY effects whether we send the second message right away (without waiting
for
the first ACK).
Normal (small writer):
Sender
write( "ABC" )
packet "ABC" ->
write( "DEF" )
write( "GHI" )
...
write( "XYZ" )
<- ack for "ABC"
packet "DEFGHI...XYZ" ->
<- ack up to Z
Nodelay
write( "ABC" )
packet "ABC" ->
write( "DEF" )
packet "DEF" ->
write( "GHI" )
...
write( "XYZ" )
<- ack for "ABC"
packet "GHI...XYZ" ->
<- ack for "DEF"
<- ack up to Z
The delaying of acks happens unless TCP_QUICKACK is set on receiver.
It helps because if application is request/response and uses large
write's you would see:
Sender
write ("ABC....XYZ?")
packet "ABC....XYZ?" -->
read("ABC...XYZ?")
write("ok")
<-- packet "ok" + ACK up to Z
ack "ok"
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html