lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-users] tcp_output does not flush


From: Luke Trowbridge
Subject: [lwip-users] tcp_output does not flush
Date: Tue, 4 May 2010 09:45:11 -0400

I am using LWIP 1.3.2 via the raw API in a single-threaded environment.
 
In a specific example, a call to tcp_write() enqueues two segments. Successive calls to tcp_output() flush the first segment and not the second.  The Nagle algorithm fails in tcp_output() here:

    if((tcp_do_output_nagle(pcb) == 0) &&
      ((pcb->flags & (TF_NAGLEMEMERR | TF_FIN)) == 0)){
      break;
    }
 
The delayed acknowledgment from the client automatically flushes the second segment.  I suspect I am misunderstanding how I can force a flush of all enqueued data.
 
TCP_MSS = 536
TCP_SND_BUF = 4 * TCP_MSS
TCP_SND_QUEUELEN = 16
TCP_SNDLOWAT = 2 * TCP_MSS
TCP_WND = 4 * TCP_MSS
TCP_CALCULATE_EFF_SEND_MSS = 1
TCP_WND_UPDATE_THRESHOLD = TCP_MSS
 
Regards,
Luke Trowbridge
 
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]