Flow control - implementation

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi ,

We are sending 1k data using TCP/IP (use FreeRTOS + LwiP) . From documents understood that TCP/IP protocol has it's flow control inside it's stack itself, but this flow control is dependant on the Network buffers. So I need to whether the Wiced SDK can support the activities we are planning to preform

1. Receive data o 1k size using TCP/IP from wifi (this data rate will be in 20Mb/s)

2. The received Wifi data is put into a queue of 10k size10 block ,each block having a size of 1K.

3. From the queue, each block is taken and send to another interface at lower rate 1Mb/s

So in this scenario , do I have to implement flow control manually between data from wifi <-> queue ?  How can I achive this?

Regards

hPc

0 Likes
1 Reply
SeyhanA_31
Employee
Employee
250 replies posted 100 replies posted 50 replies posted

Hi,

Since the host MCU has a limited memory space to receive large data, the RX_PACKET_POOL_SIZE defines the Rx buffer pool size. The TCP_WND is used to control rx data flow which depends on it.

The RX_PACKET_POOL_SIZE could be defined in the makefile as below:

     GLOBAL_DEFINES += RX_PACKET_POOL_SIZE=10

For sample code you may take a look at  .../apps/test/console application and .../apps/test/console/console.mk make file for definitions.

Thanks,

Seyhan

0 Likes