[lwip-users] how is the case "write more than sendbuf"?
From:
PHAM ANH THIEN
Subject:
[lwip-users] how is the case "write more than sendbuf"?
Date:
Mon, 30 Aug 2010 16:22:11 +0700
Dear all,
I am testing a tcp sending application which send a lot buffer, each buffer got 1024 bytes. My version lwip is 1.3.1-rc1.
If my network application send too fast, then cause the case "don't try to write more than sendbuf" (in function do_writemore, api_msg.c). What i undestand this case my application send too fast and lwip slowly receive ACK so that it could not quickly release sendbuf then cause the size of sendbuf too small.
Do i understand correctly?
As my application encounter this case, it hangs and can not send data anymore.
Anyone faced this case, pls advise!
I notice that my macro in lwipopts as below:
/* Controls if TCP should queue segments that arrive out of
order. Define to 0 if your device is low on memory. */ #define TCP_QUEUE_OOSEQ 1
#define TCP_MSS 1500
#define TCP_SND_BUF 6*1500 /* TCP sender buffer space (pbufs). This must be at least = 2 *
TCP_SND_BUF/TCP_MSS for things to work. */ #define TCP_SND_QUEUELEN 6 * TCP_SND_BUF/TCP_MSS